Naive Bayes Classifier 朴素贝叶斯分类器
Bayes Theorem 贝叶斯理论
一道小题:
女性得乳腺癌概率为8%。
如果女性有乳腺癌,她x光阳性的概率为90%。
如果女性没有乳腺癌,她x光阳性的概率为7%。
求女性x光阳性,有乳腺癌的概率为?
答:9%。
0.0072 / (0.0072 + 0.06944)
多变量的情况
通过假设变量independent来减少计算量
尽管一般来说variables相互联系,但是朴素贝叶斯的表现依旧很好。
如果实在要特别考虑变量间的关系,使用Bayesian Belief Network (BBN) 贝氏网路替代
exercise
注意,由于数据量不足,这里出现了0,那么怎么处理0的情况呢? smoothing!
Smoothing
用特别特别小的概率代替0,然后把其他变量的概率稍微变小点,保持总和为1
1. Laplace Smoothing
其中 c 为class 的数量,例如癌症的例子,就是c = 2
1. Add-one smoothing
log
因为现实中的概率都是特别小的,我们可以通过log来避免储存过多的0
对于连续变量的贝叶斯
离散化 或者 估计分布模型后使用概率密度函数来计算
朴素贝叶斯步骤
得到分类器
- 从样本得到先验分布𝑃(𝑌=𝐶𝑘)(𝑘=1,2,…𝐾)
-
得到条件概率分布𝑃(𝑋=𝑥 𝑌=𝐶𝑘)=𝑃(𝑋1=𝑥1,𝑋2=𝑥2,…𝑋𝑛=𝑥𝑛 𝑌=𝐶𝑘) - 用贝叶斯公式得到X和Y的联合分布P(X,Y)
预测
别忘了对0的概率smoothing
朴素贝叶斯总结
原理简单、每一个数据都能对最后的预测做出贡献、能够给出概率化的预测
需要概率的知识、对于连续化变量需要做出分布的预测,一般正态分布。
变量independent的假设有时不成立,需要利用Bayesian Belief Network (BBN) 贝氏网路替代