朴素贝叶斯
简介:朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于“特征条件独立”的假设学习输入/输出的联合概率分布。然后基于此模型,对给定输入x,利用贝叶斯定理求后验概率最大的y。
朴素贝叶斯实现简单,学习与预测的效率都很高,是一种常用的方法。
基本方法:朴素贝叶斯方法通过训练数据集学习联合概率分布\(P(X, Y)\)。具体地,学习以下先验概率分布及条件概率分布,从而学习到联合概率分布。
先验概率分布
\[P(Y=c_k), k = 1,2, ..., K
\]
条件概率分布
\[P(X=x \ | \ Y = c_k) = P( X = (x^{(1)}, x^{(2)}, ..., x^{(n)}) \ | \ Y = c_k), k = 1,2, ..., K
\]
当时条件概率分布中有指数级数量的参数,其估计实际是不可行的。假设\(x^{(j)}\)可取值\(S_j\)个,那么参数个数为\(K\prod_{j=1}^{n} S_j\)。
特征条件独立的假设:朴素贝叶斯假设“用于分类的特征在类确定的条件下是条件独立的”。这是一个较强的假设,它使得算法变得简单(因此称为“朴素”),但有时会牺牲一定的分类准确率。
\[\begin{split}P(X= x \ | \ Y = c_k) &= P(x^{(1)}, x^{(2)}, ..., x^{(n)} \ | \ Y = c_k) \\ &= \prod_{j=1}^{n} P(X^{(j)} = x^{(j)} \ | \ Y = c_k) \end{split}
\]
朴素贝叶斯分类
贝叶斯定理
\[\begin{split} P(Y | X) &= \frac{P(Y)\ P(X|Y)}{P(X)} \\ &= \frac{P(Y)\ P(X|Y)}{\sum_YP(Y)\ P(X|Y)}\end{split}
\]
分类
分类时,对给定的输入\(x\),通过学习到的模型计算后验概率分布\(P(Y=c_k | X = x)\),将后验概率最大的类作为\(x\)的类输出。
\[\begin{split} P(Y=c_k \ | \ X=x) &= \frac{P(X = x \ | \ Y = c_k) \ P(Y = c_k)}{P(X = x)} \\
&= \frac{P(X = x \ | \ Y = c_k) \ P(Y = c_k)}{\sum_k P(X = x \ | \ Y = c_k) \ P(Y = c_k)} \\
&= \frac{P(Y = c_k) \ \prod_j P(X^{(j)}=x^{(j)} | Y = c_k)}{\sum_k P(Y = c_k) \ \prod_j P(X^{(j)}=x^{(j)} | Y = c_k)} \end{split}\]
于是朴素贝叶斯分类器可表示为
\[y = f(x) = \arg \max_{c_k} P(Y = c_k | X = x)
\]
注意到分母对所有\(c_k\)都相同,可以去掉,最终有:
\[y = \arg \max_{c_k} P(Y = c_k) \prod_j P(X^{(j)}=x^{(j)} | Y = c_k)
\]
极大似然估计
极大似然估计:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值,是一种参数估计方法。
朴素贝叶斯中,学习意味着\(P(Y=c_k)\)和\(P(X^{(j)} = x^{(j)}| Y = c_k)\)。
可以用极大似然估计来估计相应的概率。
\[P(Y=c_k ) = \frac{\sum_{i=1}^{N} I(y_i = c_k)}{N}
\]
设第\(j\)个特征\(x^{(j)}\)可能取值的集合为\(\{a_{j1}, a_{j2}, ..., a_{jS_j}\}\)。
\[P(X^{(j)} = a_{jl} \ | \ Y = c_k) = \frac{\sum_{i=1}^{N} I(x_i^{(j)} = a_{jl}, y_i = c_k)}{\sum_{i=1}^{N}I(y_i = c_k)}
\]
贝叶斯估计:极大似然估计可能会出现所要估计的概率值为0的情况。这时会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。
\[P_{\lambda}(Y = c_k) = \frac{\sum_{i=1}^{N} I(y_i = c_k) + \lambda}{N + k \lambda}
\]
\[P(X^{(j)} = a_{jl} \ | \ Y = c_k) = \frac{\sum_{i=1}^{N} I(x_i^{(j)} = a_{jl}, y_i = c_k) + \lambda}{\sum_{i=1}^{N}I(y_i = c_k) + S_j \lambda}
\]
\(\lambda=0\)时称为极大似然估计,\(\lambda=1\)时称为拉普拉斯平滑。