← Back to Learning Notes

Lecture 7:贝叶斯决策论

Chinese-language Computer Science 408 note: Lecture 7:贝叶斯决策论. Original source available where applicable.

On this page

This note is currently available in Chinese. The original wording, formulas and diagrams are preserved to avoid an unverified technical translation.

描述:本节从贝叶斯定理与最小期望风险出发,整理朴素贝叶斯的条件独立假设、生成式与判别式模型、频率主义与贝叶斯主义、最大似然估计,以及离散和连续属性的概率估计。

7.1 问题设定

假设训练集

$$ T= {(\boldsymbol{x}_1,y_1), (\boldsymbol{x}_2,y_2), \ldots, (\boldsymbol{x}_N,y_N)} $$

由联合分布 $P(X,Y)$ 独立同分布地产生。

  • $Y$ 是类别随机变量,取值为

$$ y_i=c_k,\qquad k=1,2,\ldots,K. $$

  • 输入含 $d$ 个属性:

$$ \boldsymbol{x} =(x^{(1)},x^{(2)},\ldots,x^{(d)}). $$

分类目标是对新输入 $\boldsymbol{x}$ 估计

$$ P(Y=c_k\mid X=\boldsymbol{x}), $$

并据此选择类别。

7.2 朴素贝叶斯

7.2.1 需要学习的概率

朴素贝叶斯需要估计:

  • 类别先验

$$ P(Y=c_k),\qquad k=1,\ldots,K. $$

  • 类条件概率

$$ P(X=\boldsymbol{x}\mid Y=c_k). $$

直接估计完整联合属性条件概率

$$ P(X^{(1)}=x^{(1)},\ldots,X^{(d)}=x^{(d)} \mid Y=c_k) $$

需要指数级数量的参数,有限样本下容易出现组合爆炸和样本稀疏。

7.2.2 条件独立假设

朴素贝叶斯假设:给定类别后,各属性相互条件独立:

$$ \begin{aligned} P(X=\boldsymbol{x}\mid Y=c_k) &= P(X^{(1)}=x^{(1)},\ldots,X^{(d)}=x^{(d)} \mid Y=c_k)\ &= \prod_{j=1}^{d} P(X^{(j)}=x^{(j)}\mid Y=c_k). \end{aligned} $$

  • “朴素”指的正是这一强条件独立假设。
  • 该假设大幅降低参数数量,使估计和分类变得简单。
  • 现实特征往往并不完全独立,因此假设可能牺牲部分准确率;但即使概率估计不完美,类别排序仍可能有效。
  • 朴素贝叶斯学习了类别如何生成特征的概率机制,因此属于生成式模型。

7.3 后验概率与分类规则

由贝叶斯定理,

$$ P(Y=c_k\mid X=\boldsymbol{x})

\frac{ P(X=\boldsymbol{x}\mid Y=c_k) P(Y=c_k) }{ \sum_{r=1}^{K} P(X=\boldsymbol{x}\mid Y=c_r) P(Y=c_r) }. $$

代入条件独立假设:

$$ P(Y=c_k\mid X=\boldsymbol{x})

\frac{ P(Y=c_k) \prod_{j=1}^{d} P(X^{(j)}=x^{(j)}\mid Y=c_k) }{ \sum_{r=1}^{K} P(Y=c_r) \prod_{j=1}^{d} P(X^{(j)}=x^{(j)}\mid Y=c_r) }. $$

分类时,对所有类别都相同的分母不会影响最大值,因此

$$ h_{\mathrm{nb}}(\boldsymbol{x})

\mathop{\arg\max}{c\in\mathcal Y} P(c) \prod{j=1}^{d} P(x^{(j)}\mid c). $$

  • 实现时通常比较对数得分,避免许多小概率连乘造成数值下溢:

$$ \log P(c) +\sum_{j=1}^{d}\log P(x^{(j)}\mid c). $$

7.4 后验最大化等价于 0-1 风险最小化

采用 0-1 损失:

$$ L(Y,f(X))

\begin{cases} 1,&Y\neq f(X),\ 0,&Y=f(X). \end{cases} $$

期望风险为

$$ R_{\mathrm{exp}}(f) =\mathbb E[L(Y,f(X))]. $$

对给定输入 $X=\boldsymbol{x}$,若预测为 $y$,条件风险为

$$ \sum_{k=1}^{K} L(c_k,y) P(c_k\mid X=\boldsymbol{x}). $$

在 0-1 损失下,

$$ \begin{aligned} f(\boldsymbol{x}) &= \mathop{\arg\min}{y\in\mathcal Y} \sum{k=1}^{K} L(c_k,y) P(c_k\mid X=\boldsymbol{x})\ &= \mathop{\arg\min}{y\in\mathcal Y} \left[ 1-P(Y=y\mid X=\boldsymbol{x}) \right]\ &= \mathop{\arg\max}{y\in\mathcal Y} P(Y=y\mid X=\boldsymbol{x}). \end{aligned} $$

  • 因而把样本分到后验概率最大的类别,就是在 0-1 损失下使条件期望风险最小。
  • 若不同误判代价不同,最优规则应最小化带代价的条件风险,不一定选择后验最大类。

7.5 判别式模型与生成式模型

7.5.1 判别式模型

  • 直接对后验概率 $P(c\mid\boldsymbol{x})$ 或决策边界建模。
  • 关注如何把不同类别区分开。
  • 源资料列举的代表包括决策树、BP 神经网络和 SVM。

7.5.2 生成式模型

  • 先对联合分布 $P(\boldsymbol{x},c)$ 或类条件分布 $P(\boldsymbol{x}\mid c)$ 与先验 $P(c)$ 建模。
  • 再通过

$$ P(c\mid\boldsymbol{x})

\frac{ P(\boldsymbol{x},c) }{ P(\boldsymbol{x}) } $$

求后验概率。

  • 贝叶斯分类器和朴素贝叶斯属于生成式模型。
对比 判别式 生成式
直接目标 $P(c\mid\boldsymbol{x})$ 或边界 $P(\boldsymbol{x},c)$ 或 $P(\boldsymbol{x}\mid c)$
主要问题 类别如何区分 数据如何按类别生成
分类方式 直接输出类别/后验 由联合或类条件分布推后验

7.6 频率主义与贝叶斯主义

假设数据服从带未知参数的高斯分布。

7.6.1 频率主义

  • 参数被看作固定但未知的真实量。
  • 样本是从由该固定参数决定的分布中随机抽取的。
  • 学习任务是利用样本对参数作点估计。
  • 源资料以 SVM 一类统计学习方法作为频率主义语境下的代表。

7.6.2 贝叶斯主义

  • 未知参数也被当作随机变量,用概率分布描述不确定性。

  • 训练前给出参数先验,观察数据后得到参数后验。

  • 学习结果可以是完整参数后验分布,而不只是一个点。

  • 预测时可对参数后验积分,综合参数不确定性。

  • 二者区别不在“是否使用贝叶斯公式”,而在于如何解释未知参数和概率。

7.7 最大似然估计

先假设类条件分布具有由参数 $\theta_c$ 决定的形式。对类别 $c$ 的样本集合 $D_c$,若样本条件独立,则似然为

$$ P(D_c\mid\theta_c)

\prod_{\boldsymbol{x}\in D_c} P(\boldsymbol{x}\mid\theta_c). $$

连乘容易数值下溢,通常使用对数似然:

$$ LL(\theta_c)

\log P(D_c\mid\theta_c)

\sum_{\boldsymbol{x}\in D_c} \log P(\boldsymbol{x}\mid\theta_c). $$

极大似然估计为

$$ \hat\theta_c

\mathop{\arg\max}_{\theta_c} LL(\theta_c). $$

  • 基本思路是选择使已观察训练样本出现概率最大的参数。
  • “先假设分布形式,再估计参数”中的分布假设如果错误,极大似然估计也可能产生系统偏差。

7.8 朴素贝叶斯分类器的参数估计

7.8.1 类别先验

令 $D_c$ 为类别 $c$ 的样本集合,则频率估计为

$$ P(c)

\frac{|D_c|}{|D|}. $$

7.8.2 离散属性

令 $D_{c,x_i}$ 表示 $D_c$ 中第 $i$ 个属性取值为 $x_i$ 的样本集合,则

$$ P(x_i\mid c)

\frac{|D_{c,x_i}|}{|D_c|}. $$

  • 若某个训练组合未出现,直接频率估计可能给出 $0$,使整类连乘得分归零;实践中常用拉普拉斯平滑,但源资料本节未展开其公式。

7.8.3 连续属性

对连续属性,可假设随机变量在给定类别后的条件分布为高斯分布:

$$ X^{(i)}\mid Y=c \sim \mathcal N(\mu_{c,i},\sigma_{c,i}^2), $$

其密度为

$$ p(x_i\mid c)

\frac{1}{\sqrt{2\pi}\sigma_{c,i}} \exp \left[ -\frac{(x_i-\mu_{c,i})^2} {2\sigma_{c,i}^2} \right]. $$

7.9 源资料中的西瓜分类示例

待分类样本为:

$$ (\text{青绿,稍蜷,浊响,清晰}). $$

训练集中好瓜 $8$ 个、坏瓜 $9$ 个,因此

$$ P(\text{好瓜})=\frac{8}{17}, \qquad P(\text{坏瓜})=\frac{9}{17}. $$

对应条件概率为:

属性取值 好瓜 坏瓜
青绿 $3/8$ $3/9$
稍蜷 $3/8$ $4/9$
浊响 $6/8$ $4/9$
清晰 $7/8$ $2/9$

好瓜未归一化得分:

$$ \frac{8}{17} \times\frac{3}{8} \times\frac{3}{8} \times\frac{6}{8} \times\frac{7}{8}. $$

坏瓜未归一化得分:

$$ \frac{9}{17} \times\frac{3}{9} \times\frac{4}{9} \times\frac{4}{9} \times\frac{2}{9}. $$

前者更大,因此分类为好瓜。因为两类共享的 $P(\boldsymbol{x})$ 相同,无需显式计算后验分母。

7.10 易错点

  • 条件独立是“给定类别后属性独立”,不是所有属性无条件独立。
  • 朴素贝叶斯是生成式模型,因为它估计 $P(c)$ 与 $P(\boldsymbol{x}\mid c)$。
  • 分类比较时可以去掉对所有类别相同的贝叶斯分母,但若要报告归一化概率仍需计算分母。
  • 后验最大化等价于期望风险最小化只在 0-1 等代价损失下直接成立;误判代价不同时要比较条件风险。
  • 离散属性用概率质量,连续属性用概率密度;连续点的密度值可以大于 $1$,不能把它误当作区间概率。
  • 许多小概率直接连乘容易下溢,应改为对数求和。
  • 未见取值会导致零频率问题,需要平滑。
  • 频率主义把未知参数视为固定量,贝叶斯主义把参数不确定性也用分布描述。

相关知识

7.11 本节复盘

  • 朴素贝叶斯利用类别先验和类条件概率,通过贝叶斯公式估计后验。
  • 条件独立假设把 $P(\boldsymbol{x}\mid c)$ 分解为各属性条件概率的乘积,缓解组合爆炸。
  • 在 0-1 损失下,选择后验概率最大的类别等价于最小化条件期望风险。
  • 判别式模型直接学习后验或边界,生成式模型先学习联合或类条件分布。
  • 最大似然估计选择使训练数据出现概率最大的参数,实际常优化对数似然。
  • 离散属性可用频数比估计,连续属性可使用高斯类条件密度。
  • 西瓜示例中,好瓜的先验与四个条件概率连乘大于坏瓜,因此判为好瓜。