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

前言

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

贝叶斯决策理论

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

P ( y j ∣ x ) = p ( x ∣ y j ) P ( y j ) 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(yjx)=p(x)p(xyj)P(yj)

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

我们可以将上述公式用文字来表达:
 posterior  =  likelihood  ×  prior   evidence  \text { posterior }=\frac{\text { likelihood } \times \text { prior }}{\text { evidence }}  posterior = evidence  likelihood × prior 

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

最小风险准则

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

则把当前样本分为第1类和第2类的损失分别为:
R ( α 1 ∣ x ) = λ 11 P ( y 1 ∣ x ) + λ 12 P ( y 2 ∣ x ) R ( α 2 ∣ x ) = λ 21 P ( y 1 ∣ x ) + λ 22 P ( y 2 ∣ 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(α1x)=λ11P(y1x)+λ12P(y2x)R(α2x)=λ21P(y1x)+λ22P(y2x)

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

即:

λ 21 P ( y 1 ∣ x ) + λ 22 P ( y 2 ∣ x ) > λ 11 P ( y 1 ∣ x ) + λ 12 P ( y 2 ∣ 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) λ21P(y1x)+λ22P(y2x)>λ11P(y1x)+λ12P(y2x)
或:
( λ 21 − λ 11 ) P ( y 1 ∣ x ) > ( λ 12 − λ 22 ) P ( y 2 ∣ 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(y1x)>(λ12λ22)P(y2x)

我们把后验概率写成条件概率与先验概率的乘积,还可以得到如下判别方式:
( λ 21 − λ 11 ) p ( x ∣ y 1 ) P ( y 1 ) > ( λ 12 − λ 22 ) p ( x ∣ y 2 ) P ( y 2 ) \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(xy1)P(y1)>(λ12λ22)p(xy2)P(y2)

p ( x ∣ y 1 ) p ( x ∣ y 2 ) > λ 12 − λ 22 λ 21 − λ 11 P ( y 2 ) P ( y 1 ) \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(xy2)p(xy1)>λ21λ11λ12λ22P(y1)P(y2)

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

根据最小误差(最大后验概率)准则,分类判断如下:
 Decide  y i  if  P ( y i ∣ x ) > P ( y j ∣ x )  for all  j ≠ 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}  Decide yi if P(yix)>P(yjx) for all j=i

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

朴素贝叶斯

推导过程

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

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

P ( y ∣ x 1 , … , x n ) = P ( y ) P ( x 1 , … x n ∣ y ) P ( x 1 , … , x n ) 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(yx1,,xn)=P(x1,,xn)P(y)P(x1,xny)

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

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

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

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 ) \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,...xny)=P(x1,...,xn,y)=P(x1x2,...,xn,y)P(x2,...,xn,y)=P(x1x2,...,xn,y)P(x2x3,...,xn,y)=...=P(x1x2,...,xn,y)P(x2x3,...,xn,y)...P(xny)P(y)

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

P ( x i ∣ x i + 1 , x n , y ) = P ( x i ∣ y ) P(x_i | x_{i+1}, x_n, y) = P(x_i | y) P(xixi+1,xn,y)=P(xiy)

因此:

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 ) Π i = 1 n P ( x i ∣ 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,...xny)=P(x1,...,xn,y)=P(x1x2,...,xn,y)P(x2x3,...,xn,y)...P(xny)P(y)=P(x1y)P(x2y)...P(xny)P(y)=P(y)Πi=1nP(xiy)

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

P ( y ∣ x 1 , … , x n ) ∝ P ( y ) ∏ i = 1 n P ( x i ∣ 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(yx1,,xn)P(y)i=1nP(xiy)

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

y ^ = arg ⁡ max ⁡ y P ( y ) ∏ i = 1 n P ( x i ∣ y ) \hat{y}=\arg \max _{y} P(y) \prod_{i=1}^{n} P\left(x_{i} \mid y\right) y^=argymaxP(y)i=1nP(xiy)
这样,我们只需要估计出先验概率P(y)和类条件概率p(x_y),即可完成分类任务。

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

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

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

高斯朴素贝叶斯

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

P ( x i ∣ y ) = 1 2 π σ y 2 exp ⁡ ( − ( x i − μ y ) 2 2 σ y 2 ) 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(xiy)=2πσy2 1exp(2σy2(xiμy)2)

实例分析

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

思考

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

参考文献

  1. R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification. John Wiley & Sons, 2012.
  2. Naive Bayes
  3. 机器学习 | 算法笔记- 朴素贝叶斯(Naive Bayesian)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此人姓于名叫罩百灵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值