朴素贝叶斯
朴素贝叶斯是基于贝叶斯定理和属性条件独立的分类器。其中,”朴素”指的是一个很naive的假设,即属性条件独立。
$$\begin{align}
y&=argmax_kP(c_k|x)\\
&=argmax_k\frac{P(c_k)P(x|c_k)}{P(x)}\\
&=argmax_kP(c_k)P(x|c_k)\\
&=argmax_kP(c_k)\prod_{j=1}^DP(x^{(j)}|c_k)\\
&=argmax_kP(c_k)\prod_{j=1}^D\frac{P(x^{(j)},c_k)}{P(c_k)}\\
&=argmax_k \frac{\sum_{i=1}^NI(y_i=c_k)}N \prod_{j=1}^D\frac{\sum_{i=1}^NI(x_i^{(j)}=x^{(j)},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}\\
&=argmax_k\frac{N_k}{N}\prod_{j=1}^{D}\frac{N_k^{x^{(j)}}}{N_k}
\end{align}$$
上式第3步,因为分母于参数k无关,故舍去
上式第4步,因为naive,故属性条件独立
$x$表示需要预测的属性值向量,是values
$y$表示预测的类别值,是values
$D$表示属性个数
$D^{(j)}$表示第j个属性的取值数
$K$表示类别个数
$N$表示样本量
$N_k$表示属于k类的样本量
$N_k^{x^{(j)}}$表示属于k类,且第j个属性值为$x^{(j)}$的样本量
$x_i^{(j)}$表示第i个样例的第j个属性,是key
$x^{(j)}$表示x的第j个属性值,是value
平滑
当数据量较小时,很容易出现$N_k^{x^{(j)}}$为0的情况,因此需要做平滑。
具体来说,
$$\begin{align}
y&=argmax_k \frac{\sum_{i=1}^NI(y_i=c_k)}N \prod_{j=1}^D\frac{\sum_{i=1}^NI(x_i^{(j)}=x^{(j)},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}\\
&=argmax_k \frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+\lambda K} \prod_{j=1}^D\frac{\sum_{i=1}^NI(x_i^{(j)}=x^{(j)},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+\lambda D^{(j)}}\\
&=argmax_k\frac{N_k+\lambda}{N+\lambda K}\prod_{j=1}^{D}\frac{N_k^{x^{(j)}}+\lambda}{N_k+\lambda D^{(j)}}
\end{align}$$
当$\lambda=0$,上式退化为普通的朴素贝叶斯。
当$\lambda=1$,上式称为拉普拉斯平滑。
预测时,最大后验概率的意义
再次强调,模型已经通过ML或者MAP估计好了,这里是预测时,朴素贝叶斯将实例分到后验概率最大的类中,等价于期望风险最小化。
$X$是输入随机向量,$Y$是输出随机变量
损失函数为0-1损失:
$$L(Y,f(X))=\begin{cases}
1,\ Y\neq f(X)\\
0,\ Y\neq f(X)
\end{cases}$$
则期望损失为:
$$R_{exp}(f)=E_{X\times Y}[L(Y,f(X))]$$
将期望损失分解成$P(Y|X)$条件期望的内部,和$P(X)$的外部形式:
$$\begin{align}
R_{exp}(f)&=E_{X\times Y}[L(Y,f(X))] \\
&=\iint_{X\times Y}L(Y,f(X))P(Y,X) \\
&=\iint_{X\times Y}L(Y,f(X))P(Y|X)P(X) \\
&=\int_X\left\{\int_YL(Y,f(X))P(Y|X)\right\}P(X) \\
&=\int_X\left\{\sum_{k=1}^KL(c_k,f(X))P(Y=c_k|X)\right\}P(X) \\
\end{align}$$
当数据给定后,$P(X)$为定值,且不影响期望损失($f$的泛函)中对$f$的选择。
因此,为了使期望损失最小,只需要使得条件期望部分最小即可,具体来说,就是对$X=x$逐个极小化。
$$\begin{align}
\hat f(x)&=argmin_{f(x)}\sum_{k=1}^KL(c_k,f(x))P(Y=c_k|X=x) \\
&=argmin_y\sum_{k=1}^KL(c_k,y)P(Y=c_k|X=x) \\
&=argmin_y\sum_{k=1}^KL(c_k,y)P(c_k|X=x) \\
&=argmin_y\sum_{k=1}^KP(y\neq c_k|X=x) \\
&=argmin_y\left\{1-\sum_{k=1}^KP(y=c_k|X=x)\right\} \\
&=argmin_y\left\{1-P(y=c_k|X=x)\right\} \\
&=argmax_yP(y=c_k|X=x) \\
&=argmax_{c_k}P(Y=c_k|X=x) \\
\end{align}$$
因此,期望风险最小等同于后验概率最大化。