高斯判别分析(GDA)算法的原理与分类过程
字数 2519 2025-11-02 10:11:13

高斯判别分析(GDA)算法的原理与分类过程

题目描述
高斯判别分析(Gaussian Discriminant Analysis, GDA)是一种生成式分类算法,假设不同类别的数据分别服从多元高斯分布。通过估计每个类别的高斯分布参数(均值和协方差矩阵),GDA可计算新样本属于各个类别的后验概率,从而实现分类。本题要求详细讲解GDA的数学模型、参数估计方法(极大似然估计)以及分类决策过程。


解题过程

1. 问题设定与基本假设

  • 假设有分类问题,类别标签 \(y \in \{0, 1, \dots, K-1\}\)(以二分类为例,\(y \in \{0,1\}\))。
  • GDA的核心假设:
    • 类别先验分布 \(y \sim \text{Bernoulli}(\phi)\)(二分类),即 \(P(y=1) = \phi\)
    • 每个类别的特征向量 \(x\) 服从多元高斯分布:

\[ x \mid y=0 \sim \mathcal{N}(\mu_0, \Sigma), \quad x \mid y=1 \sim \mathcal{N}(\mu_1, \Sigma) \]

**关键点**:假设不同类别共享同一个协方差矩阵 $ \Sigma $,这简化计算并确保决策边界为线性(若协方差矩阵不同,则决策边界为二次型)。

2. 模型的数学形式

  • 类别条件概率密度函数:

\[ P(x \mid y=k) = \frac{1}{(2\pi)^{n/2} |\Sigma|^{1/2}} \exp\left(-\frac{1}{2}(x-\mu_k)^T \Sigma^{-1}(x-\mu_k)\right) \]

  • 通过贝叶斯定理,后验概率为:

\[ P(y=1 \mid x) = \frac{P(x \mid y=1)P(y=1)}{P(x \mid y=0)P(y=0) + P(x \mid y=1)P(y=1)} \]

  • 目标:给定训练集 \(\{(x^{(i)}, y^{(i)})\}_{i=1}^m\),估计参数 \(\phi, \mu_0, \mu_1, \Sigma\)

3. 参数估计(极大似然估计)

  • 似然函数:

\[ \ell(\phi, \mu_0, \mu_1, \Sigma) = \prod_{i=1}^m P(x^{(i)} \mid y^{(i)}) P(y^{(i)}) \]

  • 对数似然函数:

\[ \begin{aligned} \log \ell = \sum_{i=1}^m &\left[ \mathbb{I}\{y^{(i)}=1\} \log P(x^{(i)} \mid y^{(i)}=1) + \mathbb{I}\{y^{(i)}=0\} \log P(x^{(i)} \mid y^{(i)}=0) \right. \\ &\left. + \mathbb{I}\{y^{(i)}=1\} \log \phi + \mathbb{I}\{y^{(i)}=0\} \log (1-\phi) \right] \end{aligned} \]

  • 参数闭式解(通过求导并令导数为零):
    • 先验概率估计:

\[ \phi = \frac{\sum_{i=1}^m \mathbb{I}\{y^{(i)}=1\}}{m} \]

  • 类别均值估计:

\[ \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 \]


4. 分类决策过程

  • 计算后验概率比值的对数(Log-Odds):

\[ \begin{aligned} \log \frac{P(y=1 \mid x)}{P(y=0 \mid x)} &= \log \frac{P(x \mid y=1)P(y=1)}{P(x \mid y=0)P(y=0)} \\ &= \log \frac{\mathcal{N}(x; \mu_1, \Sigma) \phi}{\mathcal{N}(x; \mu_0, \Sigma) (1-\phi)} \end{aligned} \]

  • 代入高斯分布密度函数,化简后得:

\[ \log \frac{P(y=1 \mid x)}{P(y=0 \mid x)} = \underbrace{(\mu_1 - \mu_0)^T \Sigma^{-1} x}_{\text{线性项}} + \underbrace{\frac{1}{2}(\mu_0^T \Sigma^{-1} \mu_0 - \mu_1^T \Sigma^{-1} \mu_1) + \log \frac{\phi}{1-\phi}}_{\text{常数项}} \]

  • 结论:决策边界 \(P(y=1 \mid x) = P(y=0 \mid x)\)\(x\) 的线性函数,因此GDA是一种线性分类器。

5. 与逻辑回归的关系

  • GDA是生成式模型,逻辑回归是判别式模型。
  • 若数据真正服从高斯分布,GDA需更少数据达到较好效果;若假设不成立,逻辑回归更鲁棒。
  • 当协方差矩阵相同时,GDA的后验概率形式与逻辑回归的Sigmoid函数一致。

总结
GDA通过假设类别数据服从高斯分布,利用极大似然估计参数,最终导出线性决策边界。其优势在于模型有显式概率解释,但依赖数据分布假设。

高斯判别分析(GDA)算法的原理与分类过程 题目描述 高斯判别分析(Gaussian Discriminant Analysis, GDA)是一种生成式分类算法,假设不同类别的数据分别服从多元高斯分布。通过估计每个类别的高斯分布参数(均值和协方差矩阵),GDA可计算新样本属于各个类别的后验概率,从而实现分类。本题要求详细讲解GDA的数学模型、参数估计方法(极大似然估计)以及分类决策过程。 解题过程 1. 问题设定与基本假设 假设有分类问题,类别标签 \( y \in \{0, 1, \dots, K-1\} \)(以二分类为例,\( y \in \{0,1\} \))。 GDA的核心假设: 类别先验分布 \( y \sim \text{Bernoulli}(\phi) \)(二分类),即 \( P(y=1) = \phi \)。 每个类别的特征向量 \( x \) 服从多元高斯分布: \[ x \mid y=0 \sim \mathcal{N}(\mu_ 0, \Sigma), \quad x \mid y=1 \sim \mathcal{N}(\mu_ 1, \Sigma) \] 关键点 :假设不同类别共享同一个协方差矩阵 \( \Sigma \),这简化计算并确保决策边界为线性(若协方差矩阵不同,则决策边界为二次型)。 2. 模型的数学形式 类别条件概率密度函数: \[ P(x \mid y=k) = \frac{1}{(2\pi)^{n/2} |\Sigma|^{1/2}} \exp\left(-\frac{1}{2}(x-\mu_ k)^T \Sigma^{-1}(x-\mu_ k)\right) \] 通过贝叶斯定理,后验概率为: \[ P(y=1 \mid x) = \frac{P(x \mid y=1)P(y=1)}{P(x \mid y=0)P(y=0) + P(x \mid y=1)P(y=1)} \] 目标:给定训练集 \( \{(x^{(i)}, y^{(i)})\}_ {i=1}^m \),估计参数 \( \phi, \mu_ 0, \mu_ 1, \Sigma \)。 3. 参数估计(极大似然估计) 似然函数: \[ \ell(\phi, \mu_ 0, \mu_ 1, \Sigma) = \prod_ {i=1}^m P(x^{(i)} \mid y^{(i)}) P(y^{(i)}) \] 对数似然函数: \[ \begin{aligned} \log \ell = \sum_ {i=1}^m &\left[ \mathbb{I}\{y^{(i)}=1\} \log P(x^{(i)} \mid y^{(i)}=1) + \mathbb{I}\{y^{(i)}=0\} \log P(x^{(i)} \mid y^{(i)}=0) \right. \\ &\left. + \mathbb{I}\{y^{(i)}=1\} \log \phi + \mathbb{I}\{y^{(i)}=0\} \log (1-\phi) \right ] \end{aligned} \] 参数闭式解(通过求导并令导数为零): 先验概率估计: \[ \phi = \frac{\sum_ {i=1}^m \mathbb{I}\{y^{(i)}=1\}}{m} \] 类别均值估计: \[ \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 \] 4. 分类决策过程 计算后验概率比值的对数(Log-Odds): \[ \begin{aligned} \log \frac{P(y=1 \mid x)}{P(y=0 \mid x)} &= \log \frac{P(x \mid y=1)P(y=1)}{P(x \mid y=0)P(y=0)} \\ &= \log \frac{\mathcal{N}(x; \mu_ 1, \Sigma) \phi}{\mathcal{N}(x; \mu_ 0, \Sigma) (1-\phi)} \end{aligned} \] 代入高斯分布密度函数,化简后得: \[ \log \frac{P(y=1 \mid x)}{P(y=0 \mid x)} = \underbrace{(\mu_ 1 - \mu_ 0)^T \Sigma^{-1} x} {\text{线性项}} + \underbrace{\frac{1}{2}(\mu_ 0^T \Sigma^{-1} \mu_ 0 - \mu_ 1^T \Sigma^{-1} \mu_ 1) + \log \frac{\phi}{1-\phi}} {\text{常数项}} \] 结论 :决策边界 \( P(y=1 \mid x) = P(y=0 \mid x) \) 是 \( x \) 的线性函数,因此GDA是一种线性分类器。 5. 与逻辑回归的关系 GDA是生成式模型,逻辑回归是判别式模型。 若数据真正服从高斯分布,GDA需更少数据达到较好效果;若假设不成立,逻辑回归更鲁棒。 当协方差矩阵相同时,GDA的后验概率形式与逻辑回归的Sigmoid函数一致。 总结 GDA通过假设类别数据服从高斯分布,利用极大似然估计参数,最终导出线性决策边界。其优势在于模型有显式概率解释,但依赖数据分布假设。