Lecture-5

生成学习算法与判别学习算法的区别

判别学习算法 - 目标: 学习条件概率分布 \(P(y|x)\)或直接建模决策边界 \(h_\theta(x)\)。 - e.g.: 逻辑回归、支持向量机(SVM)。 - 关注点: 直接估计特征 \(x\)和标签 \(y\)之间的关系。

生成学习算法 - 目标: 通过建模 \(P(x|y)\)\(P(y)\)来学习联合概率分布 \(P(x, y)\),然后通过贝叶斯定理推导出 \(P(y|x)\) - e.g. 高斯判别分析(GDA),朴素贝叶斯。 - 关注点: 建模每个类别 \(y\)中特征 \(x\)的分布,并推断 \(P(y|x)\)进行分类。

高斯判别分析(GDA)

多元高斯分布

一个 \(d\)-维随机变量 \(X \sim \mathcal{N}(\mu, \Sigma)\)具有: - 概率密度函数(PDF): \[ p(x; \mu, \Sigma) = \frac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}} \exp\left( -\frac{1}{2}(x-\mu)^T \Sigma^{-1}(x-\mu) \right) \] - 参数: - 均值向量 \(\mu \in \mathbb{R}^d\)。 - 协方差矩阵 \(\Sigma \in \mathbb{R}^{d \times d}\)(对称,半正定)。

GDA中的模型假设

  • 类先验: \(y \sim \text{Bernoulli}(\phi)\)
  • 条件分布: \[ x|y=0 \sim \mathcal{N}(\mu_0, \Sigma), \quad x|y=1 \sim \mathcal{N}(\mu_1, \Sigma) \] 共享的协方差矩阵 \(\Sigma\)确保了线性的决策边界。

参数估计通过最大似然法

给定训练集 \(\{(x^{(i)}, y^{(i)})\}_{i=1}^m\),最大化联合似然性: $ (y,{j|y=0},{j|y=1}) = {i=1}^{n} p(x_i,y_i) $ 对该函数取log然后求极大似然值得到MLE解 MLE解: - 类先验: \[ \phi_y = \frac{1}{m} \sum_{i=1}^m \mathbb{I}\{y^{(i)}=1\} \] - 类条件均值: \[ \mu_0 = \frac{\sum_{i=1}^m \mathbb{I}\{y^{(i)}=0\} x^{(i)}}{\sum_{i=1}^m \mathbb{I}\{y^{(i)}=0\}}, \quad \mu_1 = \frac{\sum_{i=1}^m \mathbb{I}\{y^{(i)}=1\} x^{(i)}}{\sum_{i=1}^m \mathbb{I}\{y^{(i)}=1\}} \] - 共享协方差: \[ \Sigma = \frac{1}{m} \sum_{i=1}^m (x^{(i)} - \mu_{y^{(i)}})(x^{(i)} - \mu_{y^{(i)}})^T \]

模型优缺点

优点:模型简单,计算方便,易于理解和解释。 缺点:效果不好。

决策边界

后验概率 \(P(y=1|x)\)遵循逻辑函数: \[ P(y=1|x) = \frac{1}{1 + \exp(-\theta^T x)}, \quad \theta = \Sigma^{-1}(\mu_1 - \mu_0) \] *当 \(\Sigma_0 = \Sigma_1\)时,GDA产生一个线性的决策边界同时如果两个分类的协方差矩阵不同,那么决策边界将不再是线性的。


朴素贝叶斯与多元朴素贝叶斯

模型假设

条件独立性: \[ P(x_1, x_2, ..., x_n|y) = \prod_{i=1}^n P(x_i|y) \] - 核心思想:在给定类别 \(y\) 的条件下,所有特征 \(x_i\) 相互独立。这一假设简化了计算,但忽略了特征间的潜在关联,故称为“朴素”。 - 实际影响:尽管现实中特征可能相关(如文本中的相邻词汇),但模型仍表现良好,尤其在文本分类等高维场景中。


参数估计

类先验

对于二分类 \(y \in \{0,1\}\)\[ \phi_y = \frac{1}{m} \sum_{i=1}^m \mathbb{I}\{y^{(i)}=1\} \] - \(\phi_y\) 表示类别 \(y=1\) 的先验概率,直接通过样本比例估计。

特征似然

  • 二元特征(如伯努利模型): \[ \phi_{j|y=1} = \frac{\sum_{i=1}^m \mathbb{I}\{x_j^{(i)}=1 \wedge y^{(i)}=1\}}{\sum_{i=1}^m \mathbb{I}\{y^{(i)}=1\}} \]
    • 分子:类别 \(y=1\) 中特征 \(x_j=1\) 的样本数。
    • 分母:类别 \(y=1\) 的总样本数。

拉普拉斯平滑

  • 问题:若某特征在训练集中未出现(如 \(\sum \mathbb{I}\{x_j=1 \wedge y=1\}=0\)),概率估计为 \(0\),导致连乘失效。
  • 解决方法:添加伪计数,避免零概率。
    • 伯努利模型\[ \phi_{j|y=1} = \frac{1 + \sum_{i=1}^m \mathbb{I}\{x_j^{(i)}=1 \wedge y^{(i)}=1\}}{2 + \sum_{i=1}^m \mathbb{I}\{y^{(i)}=1\}} \]
    • 多项式模型(词汇表大小为 \(V\)): \[ \phi_{k|y} = \frac{1 + \sum_{i=1}^m \sum_{t=1}^{n_i} \mathbb{I}\{\text{word}_t^{(i)}=k \wedge y^{(i)}=y\}}{V + \sum_{k'=1}^V \sum_{i=1}^m \sum_{t=1}^{n_i} \mathbb{I}\{\text{word}_t^{(i)}=k' \wedge y^{(i)}=y\}} \]

文本分类事件模型对比

1. 伯努利事件模型(Multivariate Bernoulli)

  • 特征表示\(x_j \in \{0,1\}\),表示词 \(j\) 是否在文档中出现。
  • 似然函数\[ P(x|y) = \prod_{j=1}^n \phi_{j|y}^{x_j}(1-\phi_{j|y})^{1-x_j} \]
  • 参数估计\[ \phi_{j|y} = \frac{\sum_{i=1}^m \mathbb{I}\{x_j^{(i)}=1 \wedge y^{(i)}=y\}}{\sum_{i=1}^m \mathbb{I}\{y^{(i)}=y\}} \]
  • 特点:忽略词频,适合短文本或存在性特征显著的任务。

2. 多项式事件模型

  • 特征表示\(x_j\) 表示文档中第 \(j\) 个位置的词在词汇表中的索引。
  • 似然函数\[ P(x|y) = \prod_{t=1}^{n} \phi_{k|y}, \quad \text{其中 } k \text{ 是位置 } t \text{ 的词} \]
  • 参数估计\[ \phi_{k|y} = \frac{\sum_{i=1}^m \sum_{t=1}^{n_i} \mathbb{I}\{\text{word}_t^{(i)}=k \wedge y^{(i)}=y\}}{\sum_{i=1}^m n_i \cdot \mathbb{I}\{y^{(i)}=y\}} \]
  • 特点:考虑词频,适合长文本或词频信息重要的任务。

模型总结

优点

  1. 计算高效:参数估计和预测时间复杂度低,适合高维数据(如文本)。
  2. 内存友好:仅需存储各类别的特征概率。
  3. 鲁棒性:对缺失数据不敏感,适合部分特征缺失的场景。

缺点

  1. 条件独立假设过强:忽略特征间关联,可能损失信息(如文本中的词共现)。
  2. 概率估计偏倚:拉普拉斯平滑可能引入微小偏差。
  3. 性能局限:分类性能相比于逻辑回归、SVM等模型较差。

附:高斯朴素贝叶斯(补充)

  • 适用场景:连续特征,假设 \(P(x_j|y)\) 服从高斯分布。
  • 参数估计\[ \mu_{j|y} = \frac{1}{m_y} \sum_{i:y^{(i)}=y} x_j^{(i)}, \quad \sigma_{j|y}^2 = \frac{1}{m_y} \sum_{i:y^{(i)}=y} (x_j^{(i)} - \mu_{j|y})^2 \]
  • 概率计算\[ P(x_j|y) = \frac{1}{\sqrt{2\pi\sigma_{j|y}^2}} \exp\left(-\frac{(x_j - \mu_{j|y})^2}{2\sigma_{j|y}^2}\right) \] ---

关键要点 - 生成模型(如GDA、朴素贝叶斯)在已知特征分布时有用。 - 判别模型(如逻辑回归)更适合于复杂数据,直接学习 \(P(y|x)\)。 - 朴素贝叶斯通过条件独立性简化计算,在高维数据(如文本)中特别有效。