生成式 vs 判别式分类器

朴素贝叶斯 (Naive Bayes) 与 逻辑回归 (Logistic Regression) 深度解析

一个关于如何基于概率构建、学习和对比两种核心分类算法的视觉指南。

🏷️ 分类: 科学 技术
🔖 标签: #生成式模型 #判别式模型 #朴素贝叶斯 #逻辑回归 #贝叶斯定理 #机器学习

分类器的基石:贝叶斯定理

所有基于概率的分类都始于一个强大的公式——贝叶斯定理。它告诉我们如何利用新证据(特征 $X$)更新关于某个假设(类别 $Y$)的信念。

$$ P\left( {Y = {y}_{i} \mid X = {x}_{k}}\right) = \frac{P\left( {X = {x}_{k} \mid Y = {y}_{i}}\right) P\left( {Y = {y}_{i}}\right) }{\mathop{\sum }\limits_{j}P\left( {X = {x}_{k} \mid Y = {y}_{j}}\right) P\left( {Y = {y}_{j}}\right) } $$

后验概率

\( P(Y|X) \)

目标:我们想求的

似然度

\( P(X|Y) \)

模型需要学习的

先验概率

\( P(Y) \)

模型需要学习的

证据

\( P(X) \)

归一化因子

困境与简化:朴素贝叶斯的诞生

直接应用的挑战:参数灾难

直接学习似然度 $P(X|Y)$ 是不切实际的。如果特征向量 $X$ 包含 $n$ 个布尔属性,我们需要估计的独立参数数量高达 $2(2^n-1)$。对于 $n=30$,这超过了30亿个参数!

“朴素”的解决方案:条件独立性假设

朴素贝叶斯做出了一个大胆但有效的假设:给定类别 $Y$,所有特征 $X_i$ 之间是相互独立的。

$$ P(X_1, \dots, X_n | Y) = \prod_{i=1}^n P(X_i | Y) $$

这个假设将参数数量从指数级的 $O(2^n)$ 戏剧性地减少到线性的 $O(n)$,使得模型学习变得可行。

朴素贝叶斯分类规则

最终,分类决策简化为寻找使后验概率最大化的类别 $y_k$。由于分母与 $y_k$ 无关,我们可以只比较分子部分:

$$ Y \leftarrow \arg\max_{y_k} P(Y=y_k) \prod_i P(X_i | Y=y_k) $$

核心思想:

朴素贝叶斯是一种 生成式模型 (Generative Model)。它学习每个类别如何“生成”数据,即学习 $P(X|Y)$ 和 $P(Y)$,然后通过贝叶斯定理推导出 $P(Y|X)$ 进行分类。

另辟蹊径:逻辑回归

逻辑回归采取了完全不同的策略。它不关心数据是如何生成的,而是直接对后验概率 $P(Y|X)$ 进行建模。

核心模型:Logistic (Sigmoid) 函数

逻辑回归假设 $P(Y=1|X)$ 服从一个S型曲线(Logistic函数),其输入是特征的线性组合。

$$ P(Y=1|X) = \frac{1}{1 + \exp\left(-\left(w_0 + \sum_{i=1}^n w_i X_i\right)\right)} $$

这形成了一个线性的决策边界。当 $w_0 + \sum w_i X_i > 0$ 时,模型预测类别为1。

核心思想:

逻辑回归是一种 判别式模型 (Discriminative Model)。它直接学习类别之间的决策边界,即对 $P(Y|X)$ 进行建模,而不去关心 $P(X, Y)$ 的联合分布。

参数学习:最大化条件似然

逻辑回归的权重 $W$ 是通过优化算法(如梯度上升)来找到的,目标是最大化在给定特征 $X$ 的条件下,观测到训练数据中所有标签 $Y$ 的概率。

梯度上升的更新规则(含L2正则化):

$$ w_i \leftarrow w_i + \eta \sum_l X_i^l \left( Y^l - \widehat{P}(Y^l=1|X^l, W) \right) - \eta \lambda w_i $$

惊人的联系:生成与判别的交汇

令人惊讶的是,在特定假设下,朴素贝叶斯和逻辑回归是等价的!

证明: 如果我们假设一个高斯朴素贝叶斯分类器(连续特征服从高斯分布),并且假设每个类别下特征的方差 $\sigma_i^2$ 相同,那么推导出的后验概率 $P(Y=1|X)$ 的形式...

$$ P(Y=1|X) = \frac{1}{1 + \exp\left(w_0 + \sum_{i=1}^n w_i X_i\right)} $$

...这与逻辑回归的函数形式完全一致!其中权重 $w_i$ 和 $w_0$ 可以用高斯朴素贝叶斯的参数(均值 $\mu_{ik}$,方差 $\sigma_i^2$,先验 $\pi$)表示:

$$w_i = \frac{\mu_{i0} - \mu_{i1}}{\sigma_i^2}$$
$$w_0 = \ln\frac{1-\pi}{\pi} + \sum_i \frac{\mu_{i1}^2 - \mu_{i0}^2}{2\sigma_i^2}$$

结论:逻辑回归可以被看作是高斯朴素贝叶斯分类器的判别式对应物。

终极对决:朴素贝叶斯 vs. 逻辑回归

朴素贝叶斯 (Generative)

  • 模型目标: 学习联合概率分布 $P(X, Y)$,通过 $P(X|Y)$ 和 $P(Y)$ 实现。
  • 核心假设: 强大的特征条件独立性假设。
  • 收敛速度: 。参数估计收敛需要 $O(\log n)$ 级别的样本。
  • 数据敏感性:训练数据稀疏时表现通常更好,因为其强假设(高偏差)降低了模型方差。
  • 对假设的鲁棒性: 当条件独立性假设不成立时,性能可能会受限。
  • 偏差-方差: 高偏差 (High Bias), 低方差 (Low Variance)

逻辑回归 (Discriminative)

  • 模型目标: 直接学习条件概率分布 $P(Y|X)$。
  • 核心假设: 对 $P(Y|X)$ 的函数形式(Logistic)做出假设,对特征间的依赖性更宽松。
  • 收敛速度: 。参数估计收敛需要 $O(n)$ 级别的样本。
  • 数据敏感性:训练数据充足时,性能通常更优,特别是当NB假设不满足时。
  • 对假设的鲁棒性:灵活,因为它不被条件独立性假设束缚,能更好地拟合数据。
  • 偏差-方差: 低偏差 (Low Bias), 高方差 (High Variance)

关键要点总结

  • 生成式分类器 (如NB) 学习如何“生成”数据 ($P(X|Y)$),而判别式分类器 (如LR) 直接学习类别间的“分界线” ($P(Y|X)$)。
  • 朴素贝叶斯的条件独立性假设是其高效的关键,但也可能是其性能瓶颈。
  • 逻辑回归与高斯朴素贝叶斯在特定条件下是等价的,揭示了两种模型间的深刻联系。
  • 数据量少时,朴素贝叶斯(高偏差)可能表现更好;在数据量大时,逻辑回归(低偏差)通常更胜一筹。这体现了经典的偏差-方差权衡。
拓展思考与练习 (点击展开)
  1. 置信区间计算: 在什么条件下,对于布尔变量 $Y$,我们对 $P(Y)$ 的估计的95%置信区间为 $\pm0.02$?
  2. 混合特征NB: 如果 $X = \langle X_1, X_2 \rangle$,其中 $X_1$ 是布尔型,$X_2$ 是连续型,如何定义一个朴素贝叶斯分类器?写出 $P(Y|X)$ 的计算公式。
  3. 布尔特征NB与LR: 证明当 $X$ 是布尔特征向量时,朴素贝叶斯分类器也对应一个逻辑回归形式的判别函数。
  4. MAP与贝叶斯最优: 探讨MAP假设与贝叶斯最优分类器之间的关系,以及在假设空间中加入贝叶斯最优分类器本身会发生什么。