线性判别分析(LDA)算法的原理与降维分类过程
字数 1724 2025-11-07 12:32:50

线性判别分析(LDA)算法的原理与降维分类过程

题目描述
线性判别分析(LDA)是一种监督学习的降维技术,同时用于分类和特征提取。其核心思想是:将高维数据投影到低维空间,使得同类样本的投影点尽可能接近,不同类样本的投影点尽可能远离,从而最大化类间距离与类内距离的比值。假设有数据集包含\(C\)个类别,LDA的目标是找到一个投影方向(或投影矩阵),使得投影后的数据能最好地分离不同类别。


解题过程

1. 问题定义与假设
设数据集有\(N\)个样本,每个样本为\(d\)维向量,属于\(C\)个类别之一。第\(i\)类的样本数为\(N_i\),样本均值为\(\boldsymbol{\mu}_i\),总体均值为\(\boldsymbol{\mu}\)。LDA的假设是:每个类别的数据服从高斯分布,且所有类别的协方差矩阵相同。

2. 关键概念:类内散度矩阵与类间散度矩阵

  • 类内散度矩阵(Within-class scatter matrix) \(S_W\):衡量同类样本的分散程度。

\[ S_W = \sum_{i=1}^{C} \sum_{\boldsymbol{x} \in \text{Class } i} (\boldsymbol{x} - \boldsymbol{\mu}_i)(\boldsymbol{x} - \boldsymbol{\mu}_i)^T \]

  • 类间散度矩阵(Between-class scatter matrix) \(S_B\):衡量不同类样本的均值之间的分散程度。

\[ S_B = \sum_{i=1}^{C} N_i (\boldsymbol{\mu}_i - \boldsymbol{\mu})(\boldsymbol{\mu}_i - \boldsymbol{\mu})^T \]

3. 优化目标
对于投影方向\(\boldsymbol{w}\)(单位向量),投影后的数据为\(z = \boldsymbol{w}^T \boldsymbol{x}\)。投影后的类间距离与类内距离的比值(广义瑞利商)为:

\[J(\boldsymbol{w}) = \frac{\boldsymbol{w}^T S_B \boldsymbol{w}}{\boldsymbol{w}^T S_W \boldsymbol{w}} \]

目标是通过选择\(\boldsymbol{w}\)最大化\(J(\boldsymbol{w})\)

4. 求解投影方向
最大化\(J(\boldsymbol{w})\)等价于求解广义特征值问题:

\[S_B \boldsymbol{w} = \lambda S_W \boldsymbol{w} \]

  • \(S_W\)可逆,最优\(\boldsymbol{w}\)\(S_W^{-1} S_B\)的最大特征值对应的特征向量。
  • 对于\(C\)类问题,LDA可提取最多\(C-1\)个投影方向(即降维后的维度上限为\(C-1\)),这些方向对应\(S_W^{-1} S_B\)的前\(C-1\)个最大特征值的特征向量。

5. 降维与分类

  • 降维:将原始数据\(\boldsymbol{x}\)投影到选定的方向(或投影矩阵\(\boldsymbol{W}\))上,得到低维表示\(\boldsymbol{z} = \boldsymbol{W}^T \boldsymbol{x}\)
  • 分类:在低维空间中,使用简单分类器(如最近质心分类器)根据投影后的样本与各类别均值的距离进行分类。

6. 算法步骤总结

  1. 计算每个类别的均值\(\boldsymbol{\mu}_i\)和总体均值\(\boldsymbol{\mu}\)
  2. 计算\(S_W\)\(S_B\)
  3. 求解\(S_W^{-1} S_B\)的特征值和特征向量。
  4. 按特征值降序排列特征向量,取前\(C-1\)个构成投影矩阵\(\boldsymbol{W}\)
  5. 将数据投影到低维空间,实现降维或分类。

关键点说明

  • LDA与PCA的区别:PCA是无监督方法,仅最大化方差;LDA利用类别标签,强调类间分离。
  • 局限性:LDA假设各类服从相同协方差矩阵的高斯分布,若实际数据偏离此假设,效果可能下降。
线性判别分析(LDA)算法的原理与降维分类过程 题目描述 线性判别分析(LDA)是一种监督学习的降维技术,同时用于分类和特征提取。其核心思想是:将高维数据投影到低维空间,使得同类样本的投影点尽可能接近,不同类样本的投影点尽可能远离,从而最大化类间距离与类内距离的比值。假设有数据集包含$C$个类别,LDA的目标是找到一个投影方向(或投影矩阵),使得投影后的数据能最好地分离不同类别。 解题过程 1. 问题定义与假设 设数据集有$N$个样本,每个样本为$d$维向量,属于$C$个类别之一。第$i$类的样本数为$N_ i$,样本均值为$\boldsymbol{\mu}_ i$,总体均值为$\boldsymbol{\mu}$。LDA的假设是:每个类别的数据服从高斯分布,且所有类别的协方差矩阵相同。 2. 关键概念:类内散度矩阵与类间散度矩阵 类内散度矩阵(Within-class scatter matrix) $S_ W$:衡量同类样本的分散程度。 $$ S_ W = \sum_ {i=1}^{C} \sum_ {\boldsymbol{x} \in \text{Class } i} (\boldsymbol{x} - \boldsymbol{\mu}_ i)(\boldsymbol{x} - \boldsymbol{\mu}_ i)^T $$ 类间散度矩阵(Between-class scatter matrix) $S_ B$:衡量不同类样本的均值之间的分散程度。 $$ S_ B = \sum_ {i=1}^{C} N_ i (\boldsymbol{\mu}_ i - \boldsymbol{\mu})(\boldsymbol{\mu}_ i - \boldsymbol{\mu})^T $$ 3. 优化目标 对于投影方向$\boldsymbol{w}$(单位向量),投影后的数据为$z = \boldsymbol{w}^T \boldsymbol{x}$。投影后的类间距离与类内距离的比值(广义瑞利商)为: $$ J(\boldsymbol{w}) = \frac{\boldsymbol{w}^T S_ B \boldsymbol{w}}{\boldsymbol{w}^T S_ W \boldsymbol{w}} $$ 目标是通过选择$\boldsymbol{w}$最大化$J(\boldsymbol{w})$。 4. 求解投影方向 最大化$J(\boldsymbol{w})$等价于求解广义特征值问题: $$ S_ B \boldsymbol{w} = \lambda S_ W \boldsymbol{w} $$ 若$S_ W$可逆,最优$\boldsymbol{w}$是$S_ W^{-1} S_ B$的最大特征值对应的特征向量。 对于$C$类问题,LDA可提取最多$C-1$个投影方向(即降维后的维度上限为$C-1$),这些方向对应$S_ W^{-1} S_ B$的前$C-1$个最大特征值的特征向量。 5. 降维与分类 降维 :将原始数据$\boldsymbol{x}$投影到选定的方向(或投影矩阵$\boldsymbol{W}$)上,得到低维表示$\boldsymbol{z} = \boldsymbol{W}^T \boldsymbol{x}$。 分类 :在低维空间中,使用简单分类器(如最近质心分类器)根据投影后的样本与各类别均值的距离进行分类。 6. 算法步骤总结 计算每个类别的均值$\boldsymbol{\mu}_ i$和总体均值$\boldsymbol{\mu}$。 计算$S_ W$和$S_ B$。 求解$S_ W^{-1} S_ B$的特征值和特征向量。 按特征值降序排列特征向量,取前$C-1$个构成投影矩阵$\boldsymbol{W}$。 将数据投影到低维空间,实现降维或分类。 关键点说明 LDA与PCA的区别:PCA是无监督方法,仅最大化方差;LDA利用类别标签,强调类间分离。 局限性:LDA假设各类服从相同协方差矩阵的高斯分布,若实际数据偏离此假设,效果可能下降。