朴素贝叶斯分类
来源:互联网 发布:战争雷霆 海战 知乎 编辑:程序博客网 时间:2024/05/22 16:02
今天谈一谈朴素贝叶斯分类,我这篇文章加上了机器学习的标签,因为朴素贝叶斯分类和KNN分类不一样,它有一个训练的过程,虽然只是简单的计算概率,相比其它机器学习算法来说比较low,但确实是学习了一些东西。而且我个人认为人类认知世界其实靠的就是概率。下面是烂到家的导图一张
先说说贝叶斯定理吧。
P(h|D)= P(D|h)P(h) / P(D)
其中P(h|D)表示在知道D发生的情况下h发生的概率。
我们把X看作分类中的特征集,yi代表第i个分类,xj代表第j个特征
所以:
P(yi|X)=P(X | yi)P(yi) / P ( X)
在分类过程中我们比较P(y | X)的大小,当yi的概率最大,那么我们就认为这个事物属于类别i
因为 P(X)是不变的 所以可以省略变为:
P(yi |X)=P(yi)P(X|yi)
=P(yi)P(x1|yi)P(x2|yi)...P(xn|yi)
朴素贝叶斯分类的流程如下:
(准备阶段 – 人工)
确定特征属性 --> 获取训练样本 -->
(分类器训练阶段 – 机器)
--> 计算P(yi) --> 计算所有的P(aj|yi) -->
(应用阶段 – 机器)
--> 对所有的类别计算 P(yi)P(X|yi) --> 以P(yi)P(X|yi)最大的类别作为X的所属类别。
注意:
我们的数据中有的特征可能是年龄、收入、身高这种线性的值,而不是性别、国家、职业这种方便计算概率的离散型的值
我们有两种方法处理这种特征:
1.离散化:
将线性数据离散化。
例:
年龄:
小于18岁
18岁到30岁
30岁到50岁
50岁以上
这样把线性的数据年龄变成了离散型数据分成了四类。但是我们不能保证我们分类的取值范围是正确的。
2.正态分布:
我们可以通过正态分布来计算概率,这种方法我们大学都应该在概率统计课上学过。
这里面f(x)就是P(x | yi)
P(x | yi)=(1/sqrt(2π)) e ^ ( -((x-μ)^2) / 2σ^2)
其中μ代表X的平均值,σ代表样X的样本标准差。 X是在yi类中xj的数值集合。
朴素贝叶斯的优点在于简单,速度快,而且训练需要的数据量比较小。
而缺点是不能学习特征之间的相互作用,比如说一个人喜欢米也喜欢奶酪,但不喜欢奶酪加米。贝叶斯学不到这些。毕竟sometimes naive
- 朴素贝叶斯分类
- 朴素贝叶斯分类
- 朴素贝叶斯分类器
- 朴素贝叶斯分类
- 朴素贝叶斯分类器
- 朴素贝叶斯分类
- 朴素贝叶斯分类器
- 朴素贝叶斯分类
- 朴素贝叶斯--情感分类
- 朴素贝叶斯分类器
- 朴素贝叶斯—分类
- 朴素贝叶斯分类器
- 朴素贝叶斯分类
- 朴素贝叶斯分类
- 分类-朴素的贝叶斯
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- web开发中javascript对象及条件判断解析
- Linux系统派别归类
- Source_Code_Activity
- 关于最近编译QGIS一些总结
- mac下如何修改文件权限(针对Cocoapod安装成功使用时一直提示command not found问题)
- 朴素贝叶斯分类
- ztree树状结构_(内容管理系统总结4)
- 何为容灾?
- js获取非行间样式
- JAVA设计模式(07):结构型-桥接模式(Bridge)
- NoSQL 比较 - Cassandra vs MongoDB vs Redis vs ElasticSearch vs HBase
- iOS关于UIPresentationController 在视图上面创建一个UIViewController并改变大小
- 函数库的制作
- 文章标题