建炎以来系年要录:朴素贝叶斯

模型

先学习先验概率分布 \[P\left(Y=c_{k}\right), \quad k=1,2, \cdots, K \] 然后学习条件概率分布 \[P\left(X=x | Y=c_{k}\right)=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right) \]

对条件概率分布作条件独立性的假设,上式变成

\[\prod_{j=1}^{n} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right) \]

在分类时,通过学习到的模型计算后验概率分布

\[P\left(Y=c_{k} | X=x\right)=\frac{P\left(X=x | Y=c_{k}\right) P\left(Y=c_{k}\right)}{\sum_{k} P\left(X=x | Y=c_{k}\right) P\left(Y=c_{k}\right)} \]

将条件独立性假设得到的等式代入,并且注意到分母都是相同的,所以得到朴素贝叶斯分类器:

\[y=\arg \max _{\alpha} P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right) \]

算法

用极大似然估计可能会出现所要估计的概率值为 \(0\) 的情况,在累乘后会影响后验概率的计算结果,使分类产生偏差。可以采用贝叶斯估计,在随机变量各个取值的频数上赋予一个正数。

\[P_{\lambda}\left(X^{(j)}=a_{j l} | Y=c_{k}\right)=\frac{\sum_{i=1}^{N} I\left(x_{i}^{(j)}=a_{jl}, y_{i}=c_{k}\right)+\lambda}{\sum_{k=1}^{N} I\left(y_{i}=c_{k}\right)+S_{j} \lambda} \]