第四章-朴素贝叶斯朴素吗?

你觉得朴素贝叶斯朴素吗? 个人觉得,一点也不朴素,如同“平凡出真知”,朴素贝叶斯还是很挺厉害的。如果想要了解朴素贝叶斯,那么需要先了解贝叶斯估计极大似然估计

极大似然估计

对于一个数据集T服从概率分布P,但是P中参数未知,针对极大似然估计,就是将未知参数看作一个定值,从而找未知参数能使得数据集T发生的概率最大。

\[极大似然估计:\\ 假设某个数据集T(x_1,x_2,...,x_n)服从正态分布X~N(\mu,\sigma^2),但是某具体参数\theta未知,\\ 如何通过极大似然估计得到\hat{\theta}使得随机样本出现的概率最大?\\ 求解过程:(1) 正态分布下\mu的极大似然估计是:\\ f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}\\ (2)损失函数:L(\mu)=\prod_{i=1}^n\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x_i-\mu)^2}{2\sigma^2}}\\ (3)取对数:\ln L(\mu)=-nln(\sqrt{2\pi})\frac{1}{2\sigma^2}\sum_{i=1}^n(x_i-\mu)^2 \\ (4)求导:\frac{\partial \ln L(\mu)}{\partial \mu}=-\frac{1}{\sigma^2}\sum_{i=1}^n(x_i-\mu)^2 \\ (5)令导数为0:\frac{\partial \ln L(\mu)}{\partial \mu}=0 => \hat{\mu}=\frac{1}{n}\sum_{i=1}^n x_i = \overline{x} \]

贝叶斯估计

相比较贝叶斯估计,极大似然估计会出现概率为0的情况。

\[假设样本D(x_1,x_2...x_n)是正态分布N(\mu,\sigma^2),其中\sigma^2已知。\\ 假设\mu的先验分布是正态分布N(0,\tau^2),如果每个样本的概率独立且同步分布,那么贝叶斯估计?\\ (1)第一步:假设数据集D的全概率为P(D),那么p(\mu|D) = \frac{P(D|\mu)P(\mu)}{P(D)},\\ 其中P(\mu)是服从N(0,\tau^2)分布的先验概率,从而得到L(\mu): L(\mu)=P(\mu|D)=\frac{P(D|\mu)P(\mu)}{P(D)}\\ =\frac{P(\mu)P(x_1|\mu)P(x_2|\mu)...P(x_n|\mu)}{\int P(\mu,x_1,x_2,...x_n)d\mu},由此看出\int P(\mu,x_1,x_2,...x_n)d\mu是一个常数,可以记作K。\\ = K\frac{1}{\sqrt{2\pi}\tau}e^{-\frac{\mu^2}{2\tau^2}} \prod_{i=1}^n\frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x_i-\mu)^2}{2\sigma^2}} \\ (2) 第二步:取对数。\ln P(\mu|D)=-\frac{\mu^2}{2\tau^2} K + \sum_{i=1}^n(-\frac{(x_i-\mu)^2}{2\sigma^2})\\ (3) 第三步:求导。\frac{\partial ln}{\partial \mu}=-\frac{\mu}{\tau^2} + \sum_{i=1}^n(-\frac{(x_i-\mu)}{\sigma^2})\\ (4)第四步:令导数为0。可得到:\hat{\mu}=\frac{\sum_{i=1}^n x_i}{n+\frac{\sigma^2}{\tau^2}}\\ 由此可以看出,当n \rightarrow \infty,贝叶斯估计概率和极大似然估计概率是差不多的,\\ 但是如果n \rightarrow 0,贝叶斯估计不会等于0,相对而言,更加精确些。 \]

朴素贝叶斯法

朴素贝叶斯(Native Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。

朴素贝叶斯实际上学习到的是生成数据机制,因此属于生成模型

朴素贝叶斯法的基本假设是条件独立性。

朴素贝叶斯模型

\[设输入空间\chi \subseteq R^n为n维向量的集合,输出空间维类标记集合Y=(c_1,c_2,..c_K)。\\ 输入为特征向量x \in \chi,输出标记y\in Y,P(X,Y)是X和Y的联合概率分布。\\ 训练数据集T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\}。\\ 朴素贝叶斯分类时,对给定的输入x,朴素贝叶斯分类器模型如下:\\ y=f(x)=arg max\frac{P(Y=c_K)\prod_jP(X^{(j)}=x^{(j)}|Y=c_K)}{\sum_K P(Y=c_K)\prod_jP(X^{(j)}=x^{(j)}|Y=c_K)} \]

损失函数

朴素贝叶斯法将实例分到后验概率最大的类中,这损失函数正符合0-1损失函数。根据期望风险最小化准则得到后验概率最大化准则:

\[f(x)=arg max_{c_K} P(c_K|X=x) \]

参数估计就是采用上面刚开始谈到的极大似然估计贝叶斯估计

朴素贝叶斯算法

\[输入:训练数据集T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\},其中x_i=(x_i^{(1)},x_i^{(2)},...x_i^{(n)})^T,\\ x_i^{(j)}表示第i个样本的j个特征,x_i^{(j)} \in \{a_{j1},a_{j2}...a_{jS_j}\},\\ a_{jl}是第j个特征可能取得第l个值,j=1,2..n,l=1,2,..S_j,y_i \in \{c_1,c_2,...c_K\};实例x; 输出:实例x的分类。\\ (1)计算先验概率以及每个条件概率\\ P(Y=c_K)=\frac{\sum_{i=1}^N I(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 \\ (2) 计算每个标签下的实例的概率 \\ P(Y=c_K)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_K),k=1,2...K \\ (3)确定的实例x的类。\\ y=arg max_{c_K} P(Y=c_K)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_K) \]

在朴素贝叶斯估计中,条件概率的贝叶斯估计是:

\[P_{\lambda}(X^{(j)}=a_{jl}|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} \\ 当\lambda \geq 0,等价于在随机变量上各个取值的频数上赋予一个正数\lambda。\\ 当\lambda=0,贝叶斯估计等于极大似然估计。常取\lambda=1,这时称为拉普拉斯平滑(Laplace Smoothing)。此时有:\\ P_{\lambda}(X^{(j)}=a_{jl}|Y=c_K) > 0 \\ \sum_{l=1}^{S_j} P(X^{(j)}=a_{jl}|Y=c_K) = 1P_{\lambda}(X^{(j)}=a_{jl}|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} \\ 当\lambda \geq 0,等价于在随机变量上各个取值的频数上赋予一个正数\lambda。\\ 当\lambda=0,贝叶斯估计等于极大似然估计。常取\lambda=1,这时称为拉普拉斯平滑(Laplace Smoothing)。此时有:\\ P_{\lambda}(X^{(j)}=a_{jl}|Y=c_K) > 0 \\ \sum_{l=1}^{S_j} P(X^{(j)}=a_{jl}|Y=c_K) = 1 \]

先验概率的贝叶斯估计是:

\[P_{\lambda}(Y=c_K) = \frac{\sum_{i=1}^N I(y_i=c_K)+\lambda}{N+K\lambda},k=1,2,3...K,l=1,2,3...S_j \]

小结

朴素贝叶斯是在条件独立性的基础上的,由于这一假设,模型包含的条件概率的数量大大减少,朴素贝叶斯法的学习与预测大为简化。因此朴素贝叶斯法高效,且易于实现,缺点就是分类的性能不一定很高

posted on 2019-08-10 17:15  荨cecilia  阅读(188)  评论(0编辑  收藏  举报

导航