NaiveBayes
2018, Aug 26
朴素贝叶斯
朴素贝叶斯是基于贝叶斯定理和特征条件独立性假设的分类方法。
给定训练数据集,基于特征独立性假设学习输入输出联合概率分布;然后基于此模型,对给定的输入$x$,利用贝叶斯定理求出后验概率最大的$y$.
基本方法
条件概率分布的朴素贝叶斯的独立性假设
[P(X=x | Y=c_k)=P(X^{(1)}=x^{(1)},…,X^{(n)}=x^{(n)} | Y=c_k)=\prod_{i=1}^nP(X^{(i)}=x^{(i)} | Y=c_k)] |
先验概率分布
[P(Y=c_k),k=1,2,…,K]
后验概率
[P(Y=c_k | X=x)=\frac{P(X=x | Y=c_k)P(Y=c_k)}{\sum_kP(X=x | Y=c_k)P(Y=c_k)}] |
后验概率最大化即期望风险最小化
[y=arg\max\limits_{c_k}P(Y=c_k | X=x)] |
朴素贝叶斯法的参数估计
极大似然估计
先验概率的极大似然估计
[P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N},k=1,2,…,K]
条件概率的极大似然估计
[P(X^{(j)}=a_{jl} | Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)},j=1,2…,n;l=1,2,…,S_j;k=1,2,…K] |
学习与分类算法
- 计算先验概率和条件概率
- 对于给定的实例,计算后验概率
- 后验概率最大的类作为输出
贝叶斯估计
极大似然估计可能会出现所要估计的概率值为0的情况,故常用贝叶斯估计,$\lambda$常取1
条件概率的贝叶斯估计
[P_\lambda(X^{(j)} | Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda},j=1,2…,n;l=1,2,…,S_j;k=1,2,…K] |
先验概率的贝叶斯估计
[P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda},k=1,2,…,K]
Code
https://github.com/jiweibo/MachineLearningStudy/tree/master/naive%20bayes
引用和致谢
[1] 李航. 统计学习方法
[2] https://github.com/apachecn/AiLearning