700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 机器学习基础:朴素贝叶斯(Machine Learning Fundamentals: Naive Bayes)

机器学习基础:朴素贝叶斯(Machine Learning Fundamentals: Naive Bayes)

时间:2022-10-22 22:00:55

相关推荐

机器学习基础:朴素贝叶斯(Machine Learning Fundamentals: Naive Bayes)

前言

朴素贝叶斯是一类假设特征之间具有统计独立性的有监督方法。因此,朴素贝叶斯的使用条件就是假设不同特征之间具有统计独立性

贝叶斯决策理论

我们以二分类为例介绍贝叶斯决策理论。贝叶斯公式具有如下形式:

P(yj∣x)=p(x∣yj)P(yj)p(x)P\left(y_{j} \mid x\right)=\frac{p\left(x \mid y_{j}\right) P\left(y_{j}\right)}{p(x)} P(yj​∣x)=p(x)p(x∣yj​)P(yj​)​

其中 p(x)=∑j=12p(x∣yj)P(yj)p(x)=\sum_{j=1}^{2} p\left(x \mid y_{j}\right) P\left(y_{j}\right)p(x)=∑j=12​p(x∣yj​)P(yj​) 是一个全概率公式。

我们可以将上述公式用文字来表达:

posterior=likelihood×priorevidence\text { posterior }=\frac{\text { likelihood } \times \text { prior }}{\text { evidence }} posterior=evidencelikelihood×prior​

即后验概率等于先验概率乘以类条件概率,再除以归一化因子(常数)。

最小风险准则

设α1\alpha_1α1​是将当前结果分为第一类的动作, α2\alpha_2α2​是将当前结果分为第二类的动作, λij=λ(αi∣yj)\lambda_{ij}=\lambda(\alpha_i|y_j)λij​=λ(αi​∣yj​) 为将yiy_iyi​类分为第i类所付出的损失(loss)。

则把当前样本分为第1类和第2类的损失分别为:

R(α1∣x)=λ11P(y1∣x)+λ12P(y2∣x)R(α2∣x)=λ21P(y1∣x)+λ22P(y2∣x)\begin{array}{l} R\left(\alpha_{1} \mid \mathbf{x}\right)=\lambda_{11} P\left(y_{1} \mid \mathbf{x}\right)+\lambda_{12} P\left(y_{2} \mid \mathbf{x}\right) \\ R\left(\alpha_{2} \mid \mathbf{x}\right)=\lambda_{21} P\left(y_{1} \mid \mathbf{x}\right)+\lambda_{22} P\left(y_{2} \mid \mathbf{x}\right) \end{array} R(α1​∣x)=λ11​P(y1​∣x)+λ12​P(y2​∣x)R(α2​∣x)=λ21​P(y1​∣x)+λ22​P(y2​∣x)​

根据最小风险准则,我们应该把当前样本分为损失最小的一类。例如,当R(α1∣X)<R(α2∣X)R(\alpha_1 | X) < R(\alpha_2|X)R(α1​∣X)<R(α2​∣X)时,我们把当前样本x分为第一类。

即:

λ21P(y1∣x)+λ22P(y2∣x)>λ11P(y1∣x)+λ12P(y2∣x)\lambda_{21} P\left(y_{1} \mid \mathbf{x}\right)+\lambda_{22} P\left(y_{2} \mid \mathbf{x}\right) > \lambda_{11} P\left(y_{1} \mid \mathbf{x}\right)+\lambda_{12} P\left(y_{2} \mid \mathbf{x}\right) λ21​P(y1​∣x)+λ22​P(y2​∣x)>λ11​P(y1​∣x)+λ12​P(y2​∣x)

或:

(λ21−λ11)P(y1∣x)>(λ12−λ22)P(y2∣x)\left(\lambda_{21}-\lambda_{11}\right) P\left(y_{1} \mid \mathbf{x}\right)>\left(\lambda_{12}-\lambda_{22}\right) P\left(y_{2} \mid \mathbf{x}\right) (λ21​−λ11​)P(y1​∣x)>(λ12​−λ22​)P(y2​∣x)

我们把后验概率写成条件概率与先验概率的乘积,还可以得到如下判别方式:

(λ21−λ11)p(x∣y1)P(y1)>(λ12−λ22)p(x∣y2)P(y2)\left(\lambda_{21}-\lambda_{11}\right) p\left(\mathbf{x} \mid y_{1}\right) P\left(y_{1}\right)>\left(\lambda_{12}-\lambda_{22}\right) p\left(\mathbf{x} \mid y_{2}\right) P\left(y_{2}\right) (λ21​−λ11​)p(x∣y1​)P(y1​)>(λ12​−λ22​)p(x∣y2​)P(y2​)

p(x∣y1)p(x∣y2)>λ12−λ22λ21−λ11P(y2)P(y1)\frac{p\left(\mathbf{x} \mid y_{1}\right)}{p\left(\mathbf{x} \mid y_{2}\right)}>\frac{\lambda_{12}-\lambda_{22}}{\lambda_{21}-\lambda_{11}} \frac{P\left(y_{2}\right)}{P\left(y_{1}\right)} p(x∣y2​)p(x∣y1​)​>λ21​−λ11​λ12​−λ22​​P(y1​)P(y2​)​

最小误差(最大后验概率)准则

根据最小误差(最大后验概率)准则,分类判断如下:

DecideyiifP(yi∣x)>P(yj∣x)forallj≠i\begin{aligned} &\text { Decide } y_{i} \text { if } P\left(y_{i} \mid \mathbf{x}\right)>P\left(y_{j} \mid \mathbf{x}\right) &\text { for all } j \neq i \end{aligned} ​Decideyi​ifP(yi​∣x)>P(yj​∣x)​forallj​=i​

实际上,当我们设置λii=0\lambda_{ii}=0λii​=0 且λij=1(j≠i)\lambda_{ij}=1 (j\neq i)λij​=1(j​=i)时,可以发现最大后验概率准则和最小风险准则之间就联系起来了。

朴素贝叶斯

推导过程

朴素贝叶斯分类器的核心概念在于其假设特征之间相互独立,因此可以相应简化贝叶斯公式

我们将贝叶斯公式中的特征向量xxx展开,有:

P(y∣x1,…,xn)=P(y)P(x1,…xn∣y)P(x1,…,xn)P\left(y \mid x_{1}, \ldots, x_{n}\right)=\frac{P(y) P\left(x_{1}, \ldots x_{n} \mid y\right)}{P\left(x_{1}, \ldots, x_{n}\right)} P(y∣x1​,…,xn​)=P(x1​,…,xn​)P(y)P(x1​,…xn​∣y)​

对于等式右边分子的部分,可以用联合概率表示如下:

P(y)P(x1,...xn∣y)=P(x1,...,xn,y)\begin{aligned} P(y)P(x_1, ...x_n | y) &= P(x_1, ..., x_n, y) \\ \end{aligned} P(y)P(x1​,...xn​∣y)​=P(x1​,...,xn​,y)​

然后不断用链式法则, 有:

P(y)P(x1,...xn∣y)=P(x1,...,xn,y)=P(x1∣x2,...,xn,y)P(x2,...,xn,y)=P(x1∣x2,...,xn,y)P(x2∣x3,...,xn,y)=...=P(x1∣x2,...,xn,y)P(x2∣x3,...,xn,y)...P(xn∣y)P(y)\begin{aligned} P(y)P(x_1, ...x_n | y) &= P(x_1, ..., x_n, y) \\ & = P(x_1 | x_2, ..., x_n, y)P(x_2, ..., x_n, y) \\ & = P(x_1 | x_2, ..., x_n, y)P(x_2|x_3, ..., x_n, y) \\ & = ... \\ & = P(x_1 | x_2, ..., x_n, y)P(x_2|x_3, ..., x_n, y) ... P(x_n | y)P(y) \end{aligned} P(y)P(x1​,...xn​∣y)​=P(x1​,...,xn​,y)=P(x1​∣x2​,...,xn​,y)P(x2​,...,xn​,y)=P(x1​∣x2​,...,xn​,y)P(x2​∣x3​,...,xn​,y)=...=P(x1​∣x2​,...,xn​,y)P(x2​∣x3​,...,xn​,y)...P(xn​∣y)P(y)​

由于特征之间相互独立,则:

P(xi∣xi+1,xn,y)=P(xi∣y)P(x_i | x_{i+1}, x_n, y) = P(x_i | y) P(xi​∣xi+1​,xn​,y)=P(xi​∣y)

因此:

P(y)P(x1,...xn∣y)=P(x1,...,xn,y)=P(x1∣x2,...,xn,y)P(x2∣x3,...,xn,y)...P(xn∣y)P(y)=P(x1∣y)P(x2∣y)...P(xn∣y)P(y)=P(y)Πi=1nP(xi∣y)\begin{aligned} P(y)P(x_1, ...x_n | y) &= P(x_1, ..., x_n, y) \\ & = P(x_1 | x_2, ..., x_n, y)P(x_2|x_3, ..., x_n, y) ... P(x_n | y)P(y) \\ & = P(x_1 | y)P(x_2|y)...P(x_n|y)P(y) \\ & = P(y)\Pi_{i=1}^{n}P(x_i|y) \end{aligned} P(y)P(x1​,...xn​∣y)​=P(x1​,...,xn​,y)=P(x1​∣x2​,...,xn​,y)P(x2​∣x3​,...,xn​,y)...P(xn​∣y)P(y)=P(x1​∣y)P(x2​∣y)...P(xn​∣y)P(y)=P(y)Πi=1n​P(xi​∣y)​

我们把常数归一化因子P(x1,...,xn)P(x_1, ..., x_n)P(x1​,...,xn​)去掉,则有:

P(y∣x1,…,xn)∝P(y)∏i=1nP(xi∣y)P\left(y \mid x_{1}, \ldots, x_{n}\right) \propto P(y) \prod_{i=1}^{n} P\left(x_{i} \mid y\right) P(y∣x1​,…,xn​)∝P(y)i=1∏n​P(xi​∣y)

根据最大后验概率准则,可以得到如下分类方程:

y^=arg⁡max⁡yP(y)∏i=1nP(xi∣y)\hat{y}=\arg \max _{y} P(y) \prod_{i=1}^{n} P\left(x_{i} \mid y\right) y^​=argymax​P(y)i=1∏n​P(xi​∣y)

这样,我们只需要估计出先验概率P(y)和类条件概率p(x_y),即可完成分类任务。

给定训练样本之后,P(y)可以通过类别y在整个训练集中出现的频率来估计。

而由于p(x_i|y)是概率密度函数,我们可以通过最大似然估计(MLE)或最大后验估计(MAP)估计得到。

由于概率密度估计需要提前知道概率密度函数的形式,实际操作中,不同的概率密度函数形式就代表着不同的贝叶斯形式,如高斯朴素贝叶斯,多项式朴素贝叶斯等。

高斯朴素贝叶斯

高斯朴素贝叶斯假设特征的类条件概率服从高斯分布,即:

P(xi∣y)=12πσy2exp⁡(−(xi−μy)22σy2)P\left(x_{i} \mid y\right)=\frac{1}{\sqrt{2 \pi \sigma_{y}^{2}}} \exp \left(-\frac{\left(x_{i}-\mu_{y}\right)^{2}}{2 \sigma_{y}^{2}}\right) P(xi​∣y)=2πσy2​​1​exp(−2σy2​(xi​−μy​)2​)

实例分析

朴素贝叶斯用于垃圾邮件分类。

思考

朴素贝叶斯方法的优势是什么?

参考文献

R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification. John Wiley & Sons, .Naive Bayes机器学习 | 算法笔记- 朴素贝叶斯(Naive Bayesian)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。