0%

Machine Learning | 朴素贝叶斯 Naive Bayes

Naive Bayes

朴素贝叶斯

贝叶斯学派的思想可概括为:
$$先验概率+数据=后验概率$$
——刘建平Pinard

贝叶斯公式

  • 条件概率公式
    $$P(X|Y)=\frac{P(X,Y)}{P(Y)}=\frac{P(Y|X)P(X)}{P(Y)}$$
    $$P(Y|X)=\frac{P(X,Y)}{P(X)}=\frac{P(X|Y)P(Y)}{P(X)}$$
  • 全概率公式
    $$P(X)=\sum_{k}P(X|Y=Y_k)P(Y_k)$$
    其中$\sum_{k}P(Y_k)=1$。
  • 贝叶斯公式
    $$P(Y_k|X)=\frac{P(X|Y_k)P(Y_k)}{\sum_{k}P(X|Y=Y_k)P(Y_k)}$$

模型

考虑

  • $n$个样本,每个样本有$p$个特征
    $$x_i=(x_{i1},\cdots, x_{ip})^T$$
    $i=1,\cdots,n$
  • 有$K$个类别$C=\lbrace C_1,\cdots,C_K\rbrace$
  • 每个样本的类别标签为$y_i \in \brace C_1,\cdots,C_K\rbrace$

从样本数据可以学习到朴素贝叶斯的先验分布$(k=1,\cdots,K)$
$$P(Y=C_k)$$
从而学习到条件概率分布
$$P(X=x|Y=C_k)=P(X_1=x_1,\cdots,X_p=x_p|Y=C_k)$$
接着用贝叶斯公式可以得到$X$和$Y$的联合分布$P(X,Y)$
\begin{equation}
\begin{aligned}
P(X,Y=C_k)&=P(Y=C_k)P(X=x|Y=C_k) \\
&= P(Y=C_k)P(X_1=x_1,\cdots,X_p=x_p|Y=C_k)
\end{aligned}
\end{equation}

由极大似然法可得$P(Y=C_k)$为类别$C_k$在训练集样本中出现的频数,即
$$P(Y=C_k)=\sum_{i=1}^n\frac{1}{n}I\left\lbrace y_i=C_k\right\rbrace$$
其中
$$
I\left\lbrace y_i=C_k\right\rbrace =
\left\lbrace
\begin{array}{ll}
1 & \mbox{如果}y_i=C_k \\
0 & \mbox{如果}y_i\neq C_k \\
\end{array}
\right.$$

为了降低$P(X_1=x_1,\cdots,X_p=x_p|Y=C_k)$的求解难度,朴素贝叶斯方法假设$X$的$p$个维度之间相互独立,则有
\begin{equation}
\begin{aligned}
&P(X_1=x_1,\cdots,X_p=x_p|Y=C_k) \\
=&P(X_1=x_1|Y=C_k)P(X_2=x_2|Y=C_k)\cdots P(X_p=x_p|Y=C_k)
\end{aligned}
\end{equation}

基本假设

  • 所有的$x_i$对于给定条件$y$是相互独立的
    $i=1,\cdots,p.$
  • 不是所有$x_i$相互独立,是$x_i|y$相互独立

相关问题

连续型特征

当特征属性是连续型时,通常假设其服从高斯分布(即正态分布)

$$g(x;\mu,\sigma)=\frac{1}{\sqrt{2\pi\sigma} } \exp \left\lbrace - \frac{ (x-\mu)^2 }{ 2\sigma^2 } \right\rbrace$$

则有
$$P(X_j=x_j|y_i)=g(x_j;\mu_{y_i},\sigma_{y_i})$$

Laplace校准

Laplace校准 / 拉普拉斯平滑(Laplace Smoothing):
可能会存在某个特征项划分没有出现的情况,即$P(x_j|y_i)=0$,这会导致分类器的质量降低——可使用Laplace校准改善

假设随机特征$z$的可能取值有$\lbrace 1,\cdots,k\rbrace$,使用$\Phi_i=P(z=i)$参数化其分布。对于$n$个独立样本(观测集合)$\lbrace z{(1)},\cdots,z{(n)}\rbrace$,参数$\Phi_j$的极大似然估计为
$$\phi_j=\frac{\sum_{i=1}^n\mathbb{1}\left\lbrace z^{(i)}=j\right\rbrace }{n}$$

使用Laplace平滑进行修正:
$$\phi_j=\frac{\sum_{i=1}^n\mathbb{1}\lbrace z^{(i)}=j\rbrace +1}{n+k}$$

  • 分子加1
  • 保证了$\Phi_j\neq0$对所有的$\Phi_j$都成立
  • 分母加$k$(随机变量$z$能取到的最大值)
  • 保证了$\sum_{j=1}^k\Phi_j=1$仍然成立

预测

对于新的样本$x{0}=(x_10,\cdots,x_p0)^T$,如何预测其所属的类别?

根据最大后验概率来判断分类

  • 计算所有$K$个条件概率$P(Y=C_k|X=x^0)$
  • $x^0$属于条件概率最大的那个类别

总结

优点

  • 发源于古典数学理论,有稳定的分类效率
  • 对小规模数据的表现很好
  • 能够处理过分类问题
  • 对缺失数据不太敏感
  • 算法简单
  • 常用于文本分类

缺点

  • 朴素贝叶斯模型在给定输出类别的情况下假设各特征之间相互独立,但实际应用中该假设往往不成立
  • 特征数量较多或特征之间的相关性较大时,分类效果较差
  • 特征的相关性较小时,分两类效果较为良好
  • 需要知道先验概率——先验概率一般基于假设
  • 可能会因为先验模型假设不当,导致预测效果不佳
  • 对输入数据的表达形式很敏感(?)

应用

其他

  • 对朴素贝叶斯的理解:
    朴素贝叶斯是在已知一些先验概率的情况下,由果索因的一种方法

参考资料

Thank you for your approval.

欢迎关注我的其它发布渠道