高斯判别分析(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通过假设类别数据服从高斯分布,利用极大似然估计参数,最终导出线性决策边界。其优势在于模型有显式概率解释,但依赖数据分布假设。