上海大学 机器学习 · 研究生 第 7 讲 贝叶斯分类器 https://kaizhao.net/teaching/shu-ml-grad
第 7 讲

贝叶斯分类器

先验、证据与分类决策
贝叶斯分类器

邮件中的词语证据

100封构造邮件及含免费词语的类别计数
$$P(\text{垃圾}\mid\text{免费})=\frac{30}{30+6}=83.3\%$$

人工构造计数;“免费”表示该词在邮件中至少出现一次。

先验、似然与后验

$y$:邮件类别;$x$:观察到“免费”。

$$\underbrace{P(y\mid x)}_{\text{后验}}=\frac{\underbrace{P(x\mid y)}_{\text{似然}}\underbrace{P(y)}_{\text{先验}}}{\underbrace{\sum_c P(x\mid c)P(c)}_{\text{证据}}}$$
先验乘似然再归一化得到后验

CS229:生成式学习与朴素贝叶斯

分类错误与决策成本

放行垃圾与误拦正常邮件,代价可以不同

行动 / 真实类别正常垃圾
放行0$c_{\rm FN}$
拦截$c_{\rm FP}$0
$$p=P(\text{垃圾}\mid x),\qquad\text{拦截当 }p>\frac{c_{\rm FP}}{c_{\rm FP}+c_{\rm FN}}$$

FN:false negative,漏拦;FP:false positive,误拦。相等时两种行动的期望损失相同。

先验变化与最小期望损失

构造概率;横轴为垃圾类先验,纵轴为观察“免费”后的垃圾类后验。

概率模型的训练路径

生成式模型估计类条件分布,判别式模型直接学习得分或后验
$$P(x,y)=P(y)P(x\mid y)$$

朴素贝叶斯的条件独立

类别指向免费、链接、会议三个二元特征
$$P(x_1,\ldots,x_d\mid y)=\prod_{j=1}^{d}P(x_j\mid y)$$

朴素贝叶斯(Naive Bayes);$x_j$ 为第 $j$ 个词是否出现,$d$ 为词语特征数。

两个词语的联合证据

新邮件:“免费”与“链接”均出现

类别总数含“免费”含“链接”
垃圾403024
正常60612
$$P(\text{垃圾}\mid x_1=x_2=1)\approx\frac{0.4\times0.75\times0.6}{0.4\times0.75\times0.6+0.6\times0.1\times0.2}=93.75\%$$

构造计数;近似号表示采用条件独立模型。

计数与极大似然估计

“免费”在垃圾类中出现 $30$ 次,共 $40$ 封。

$$\hat\theta_{j,c}=\frac{n_{j,c}}{n_c},\qquad \hat P(y=c)=\frac{n_c}{n}$$
从训练计数到二元特征概率估计

最大似然估计(Maximum Likelihood Estimation, MLE);$\theta_{j,c}=P(x_j=1\mid y=c)$。

零计数与拉普拉斯平滑

“会议”在垃圾类中出现 $0$ 次,估计需要留出余量

$$\hat\theta_{j,c}=\frac{n_{j,c}+\alpha}{n_c+2\alpha},\qquad\alpha=1:\quad\frac{0+1}{40+2}=\frac1{42}$$
二元特征出现和未出现都加一个伪计数

拉普拉斯平滑(Laplace smoothing);Bernoulli 朴素贝叶斯

词语选择与实时分类

构造训练计数:垃圾 / 正常各 40 / 60 封;“免费”30 / 6,“链接”24 / 12,“会议”0 / 30。

连乘与对数得分

每个词的证据在对数域相加

$$s_c=\log P(y=c)+\sum_{j=1}^{d}\log P(x_j\mid y=c)$$
$$P(y=c\mid x)=\frac{e^{s_c-m}}{\sum_k e^{s_k-m}},\qquad m=\max_k s_k$$

$s_c$ 为类别 $c$ 的对数得分;减去最大值 $m$ 保持概率比不变。

连续特征的类条件密度

输入改为邮件长度 $x$;每类估计均值 $\mu_c$ 与方差 $\sigma_c^2$。

$$p(x\mid y=c)=\frac{1}{\sqrt{2\pi\sigma_c^2}}\exp\!\left[-\frac{(x-\mu_c)^2}{2\sigma_c^2}\right]$$
按类别分组估计均值与方差密度 × 先验归一化分类

高斯朴素贝叶斯(Gaussian Naive Bayes);类条件高斯模型

特征依赖与重复证据

复制免费词语将同一证据计算两次
$$\text{一次:}\frac{0.4(0.75)}{0.4(0.75)+0.6(0.1)}=83.3\%\quad\longrightarrow\quad\text{复制:}\frac{0.4(0.75)^2}{0.4(0.75)^2+0.6(0.1)^2}=97.4\%$$

输入表示与模型检查

输入表示类条件模型检查对象
是否出现Bernoulli缺词证据、零计数
出现次数Multinomial词频与文档长度
连续测量Gaussian分布形状、方差

分类性能与概率校准分别评估。

McCallum & Nigam,1998:朴素贝叶斯文本事件模型比较

概率分类与潜在类别

训练标签类条件分布后验概率最小成本决策
训练标签支持类条件分布估计

类别未观测时,分布参数与类别归属需要共同估计

文本事件模型 · CS229 概率分类讲义