0%

贝叶斯学习

从天气预报说起

某地全天 $365$ 天,晴朗 $265$ 天,非晴朗 $100$ 天,我们用 $A$ 表示晴朗,用 $ \neg A $ 表示非晴朗,于是我们可以得到 $P(A) = 265/365=0.726$,$P(\neg A) = 100/365=0.274$。所以在预测天气的时候,我们更倾向于预测明天是一个晴朗的天气。

对于上述问题,如果增加一个信息:晴朗天气的前一天特征(是否有晚霞),我们用 $B$ 表示有晚霞,用 $ \neg B $ 表示没有晚霞,并且已知晴朗天气前一天有晚霞的比例是 $0.7$,非晴朗天气前一天有晚霞的比例是 $0.1$。那么,如果已知今天有晚霞,我们如何预测明天的天气呢?

根据以上条件我们可以写出 $P(B|A) = 0.7$,$P(\neg B|A) = 0.3$,$P(B|\neg A) = 0.1$,$P(\neg B|\neg A) = 0.9$,我们需要计算的是条件概率 $P(A|B)$。

按照贝叶斯决策理论,我们可以计算出:

$P(A,B) = P(B|A)P(A) = 0.5082$;$P(\neg A,B) = P(B|\neg A)P(\neg A) = 0.0274$;$P(B) = P(B|A)P(A) + P(B|\neg A)P(\neg A) = 0.5356$

于是有:

$$P(A|B) = \frac {P(A,B)} {P(B)} = 0.9488$$$$P(\neg A|B) = \frac {P(\neg A,B)} {P(B)} = 0.0512$$

所以,我们认为,如果前一天有晚霞,第二天将会是一个晴朗的天气。

贝叶斯决策理论

概率论基础

事件概率: $0\lt P(A) \lt 1$
条件概率: $P(A|B) = \frac {P(A,B)} {P(B)} $
全概率公式: $P(A) = \sum_{i=1}^n P(A|B_i) P(B_i)$
贝叶斯公式: $P(B_i|A) = \frac {P(A|B_i)P(B_i)} {\sum_{j=1}^n P(A|B_j) P(B_j)}$,即 $P(B|A) = \frac {P(A|B)P(B)} {P(A)}$。

贝叶斯决策

基于观察特征和类别的贝叶斯公式:

贝叶斯决策:

$$ Decide = \begin{cases} \omega_1, & \text{if $p(\omega_1|x)p(x) \gt p(\omega_2|x)p(x)$} \\ \omega_2, & \text{otherwise} \end{cases} $$

通常来讲,贝叶斯决策使用的是 $0-1$ 损失:

后验概率最大化完全等价于期望风险最小化,这也是朴素贝叶斯采用的原理。

最小风险的贝叶斯决策

完整的风险损失函数:

决策规则:

即当损失函数为 $0-1$ 损失时,损失系数

$$ \lambda_{ij} = \begin{cases} 0, & \text{if $i=j$} \\ 1, & \text{otherwise} \end{cases} $$

最小风险贝叶斯决策等价于最小错误率贝叶斯决策。

贝叶斯分类器

所谓贝叶斯分类器就是基于贝叶斯决策的分类器,我们用 $C$ 来表示类别,用 $\theta$ 表示类别变量 $C$ 中的参数,用 $x$ 表示样本,用 $D$ 表示数据集。

朴素贝叶斯分类器: 假设 $P(x|c)$ 中 $x$ 的各维属性独立
半朴素贝叶斯分类器: 假设 $P(x|c)$ 中 $x$ 的各维属性存在依赖
正态分布贝叶斯分类器: 假设 $P(x|c(\theta))$ 服从正态分布

朴素贝叶斯分类器

所谓朴素贝叶斯分类器,关键点在于采用了“属性条件独立性假设”,即

于是关键问题就变为由训练样本学习类别条件概率 $P(x|c)$ 和类别先验概率 $P(c)$。

学习过程:

对于类别条件概率估计,分两种情况

算法举例:

拉普拉斯平滑

在朴素贝叶斯分类过程中,用极大似然估计可能会出现所要估计的概率值为零的情况,这是会影响到后验概率的计算结果,是分类产生错误,此时往往会采用拉普拉斯平滑来解决这一问题。

算法举例:

正态分布贝叶斯分类器


贝叶斯分类:

不同高斯参数情况讨论:

在这种情况下,有:
$$ \Sigma_i=\begin{pmatrix}
\sigma^2 & \cdots & 0 \\
\
\vdots & \ddots & \vdots \\
0 & \cdots & \sigma^2 \\
\end{pmatrix}\;\;\;\;|\Sigma_i|=\sigma^{2d}\;\;\;\;\;\Sigma_i^{-1}=\begin{pmatrix}
1/\sigma^2 & \cdots & 0 \\
\
\vdots & \ddots & \vdots \\
0 & \cdots & 1/\sigma^2 \\
\end{pmatrix} $$

代入式 $1$ 得:

$$ g_i({\bf x})=\frac{d}{2}{\rm In} 2\pi -\frac{1}{2} {\rm In}\sigma^{2d} - \frac{\bf x^{\top} x}{2\sigma^2}
-\frac{(-2{\bf \mu_i}^{\top}{\bf x}+{\bf \mu_i}^{\top}{\bf \mu_i})}{2\sigma^2}+{\rm In} p(\omega_i) $$

上式的第一项、第二项和第三项与类别无关,可以忽略。

决策面方程:
$$({\bf \mu_i}-{\bf \mu_j})^T[{\bf x}+\frac{1}{2}({\bf \mu_i}+{\bf \mu_j})-\frac{\sigma^2}{({\bf \mu_i}-{\bf \mu_j})^T}{\rm In}\;\frac{p(\omega_i)}{p(\omega_j)}]=0$$

注:由于 $g_i(x)=w_i^tx+ \omega_{i0}$ 为线性函数,其决策面由线性方程 $g_i(x)-g_j(x)=0$ 决定,决策面为一个超平面。在该情况下,决策界方差可以写成 $w^t(x-x_0)=0$ 的形式,其中 $x_0$ 只是一个符号,和变量 $x$ 并没有关系。

满足 $w^t(x-x_0)=0$ 的 $x$ 的轨迹是 $\omega_i$ 和 $\omega_j$ 类间的决策面,当 $ p(\omega_i) = p(\omega_j)$ 时,超平面通过 $\mu_i$ 和 $\mu_j$ 连线中点并与连线正交。


第二种情况和第一种情况相比缺少了各维属性相互独立的条件,代入式 $1$ 得到:

$$ g_i({\bf x})=-\frac{d}{2}{\rm In}\;2\pi-\frac{1}{2}{\rm In}\;|\Sigma|-\frac{1}{2}({\bf x}-{\bf \mu_i})^T\Sigma^{-1}({\bf x}-{\bf \mu_i})+{\rm In}\;p(\omega_j)$$

其中,第一项和第二项与类别无关,可以忽略。

展开后忽略无关项得到:

$$ \begin{align} g_i({\bf x}) &=-\frac{1}{2}(-{\bf x}^T\Sigma^{-1}{\bf \mu_i}-{\bf \mu_i}^T\Sigma^{-1}{\bf x}+{\bf \mu_i}^T\Sigma^{-1}{\bf \mu_i})+{\rm In}\;p(\omega_j) \nonumber \\&
=-\frac{1}{2}(-2{\bf \mu_i}^T\Sigma^{-1}{\bf x}+{\bf \mu_i}^T\Sigma^{-1}{\bf \mu_i})+{\rm In}\;p(\omega_j) \nonumber \\&
={\bf \mu_i}^T\Sigma^{-1}{\bf x}-\frac{1}{2}{\bf \mu_i}^T\Sigma^{-1}{\bf \mu_i}+{\rm In}\;p(\omega_j)\nonumber \end{align}$$

决策面方程:

$$({\bf \mu_i}^T-{\bf \mu_j}^T)\Sigma^{-1}{\bf x}-\frac{1}{2}({\bf \mu_i}^T\Sigma^{-1}{\bf \mu_i}-{\bf \mu_j}^T\Sigma^{-1}{\bf \mu_j})+{\rm In}\;\frac{p(\omega_i)}{p(\omega_j)}=0$$


决策面方程:
$${\bf x}^T(W_i-W_j){\bf x}+({\bf w_i}^T-{\bf w_j}^T){\bf x}+w_{i0}-w_{j0}=0$$

参考文献:
[1] 周晓飞,《统计机器学习》,中国科学院大学2017年秋季研究生课程
[2] 李航,《统计学习方法》,清华大学出版社