贝叶斯分类
2013-03-06 13:57 ggzwtj 阅读(406) 评论(0) 编辑 收藏 举报贝叶斯分类是指利用概率统计知识来进行分类的算法,基于贝叶斯定理。但是由于贝叶斯定理有一个假设:每个属性对类的影响互相独立。但在实际中,这个假设基本不成立,所以贝叶斯分类的准确度也可能因此有所下降。贝叶斯定理如下:
P(A|B) = P(B) × P(B|A) / P(A)
证明非常简单:
P(A∩B) = P(A) × P(B|A) = P(B) × P(A|B)。
贝叶斯分类问题的定义如下:
- 定义特征属性x = {ai},0 < i < m;
- 预先定义类别集合c = {yi},0 < i < n;
- 计算{P(yi|x)},0 < i < n;
- 如果P(yk|x) ≥ P(yi|x),则x属于k类;
计算P(yi|x)是比较麻烦的,可以使用贝叶斯定理将其进行转换:
P(yi|x) = P(x|yi) × P(yi) / P(x)
对于所有的P(yi|x)来说,分母是一样的,所以最后找到最大的P(x|yi) × P(yi)就可以了。
下面通过一个实例来说明具体的过程,有两个邮件样本:
- ABC(垃圾样本);
- AD(非垃圾样本);
这样,特征属性x={A,B,C,D},类别集合c = {0,1}。那么可以得到:
- P(A|0) = P(B|0) = P(C|0) = 0.33
- P(A|1) = P(D|1) = 0.5
- P(0) = 0.6
- P(1) = 0.4
那么,再判断新的样本{A}的时候得到:
- P(0|A) = P(A|0) × P(0) = 0.33 × 0.6 = 0.198
- P(1|A) = P(A|1) × P(1) = 0.5 × 0.4 = 0.20
注:其实这里知道P(0|A)的含义,那么这个算法就大概懂了。
----- -- -
END