李航-统计学习方法-笔记-4:朴素贝叶斯

朴素贝叶斯

简介:朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于“特征条件独立”的假设学习输入/输出的联合概率分布。然后基于此模型,对给定输入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\)时称为拉普拉斯平滑。

posted @ 2019-06-05 15:14  PilgrimHui  阅读(974)  评论(0编辑  收藏  举报