LDA原理小结

本文详细介绍了线性判别分析(LDA)的基本原理及其在二分类和多分类问题中的应用。LDA是一种经典的线性学习方法,可用于分类及降维。文章通过数学公式解释了如何实现同类样本投影点接近而异类样本投影点远离的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线性判别分析(Linear Discrimination Analysis,LDA)是一种经典的线性学习方法。它既可以用于分类,又可以作为一种降维方法。

1. LDA的基本思想

LDA基本思想比较简单:给定带有标签的训练样本集,设法将样本投影到一条直线上,使得同类样本的投影点尽可能近,异类样本的投影点尽可能远。如果是进行分类,将新样本投影到同样的这条直线上,根据投影点的位置来确定新样本的类别。
在这里插入图片描述

举个例子,上图给出了两种不同的投影方式,直观上来看右图更好。因为右图中蓝色和红色数据较为集中,且类别之间的距离明显,而左图边界处数据混杂。
  那么如何用数学语言对“同类样本的投影点尽可能近,异类样本的投影点尽可能远”进行表达呢,这里需要引入广义瑞利商。

2. 瑞利商和广义瑞利商

瑞利商是指这样的函数R(A,x)R(A,x)R(A,x)R(A,x)=xHAxxHx(1)R(A,x)=\frac{x^HAx}{x^Hx} \tag{1}R(A,x)=xHxxHAx(1)其中xxx为非零向量,AAAn×nn\times nn×n的Hermitan矩阵(复共轭对称矩阵,即共轭转置矩阵和自己相等,记为AH=AA^H=AAH=A),这里我们只讨论实数的情况,所以AT=AA^T=AAT=A。瑞利商还有一个很重要的性质:λmin≤R(A,x)≤λmax(2)\lambda_{min}\le R(A,x) \le \lambda_{max}\tag{2}λminR(A,x)λmax(2)其中λmin,λmax\lambda_{min},\lambda_{max}λmin,λmax是矩阵AAA的最小和最大特征值。
  当xxx是标准正交基时,即xTx=1x^Tx=1xTx=1时,瑞利商退化为R(A,x)=xTAxR(A,x)=x^TAxR(A,x)=xTAx,这个形式在谱聚类和PCA中都有出现,比如PCA中是WTXXTWW^TXX^TWWTXXTW的形式(所以说瑞利商和样本投影方差有关?)。
  现在再来看看广义瑞利商的概念:R(A,B,x)=xHAxxHBx(3)R(A,B,x)=\frac{x^HAx}{x^HBx} \tag{3}R(A,B,x)=xHBxxHAx(3)其中xxx为非零向量,A,BA,BA,Bn×nn\times nn×n的Hermitan矩阵。通过标准化,可以将广义瑞利商转化为瑞利商的形式。令x=B−12x′x=B^{-\frac{1}{2}}x'x=B21x,则(2)变为:KaTeX parse error: No such environment: align* at position 7: \begin{̲a̲l̲i̲g̲n̲*̲}̲R(A,B,x')&=\fra…根据式(2),我们可以知道,R(A,B,x′)R(A,B,x')R(A,B,x)的最大值为矩阵B−1AB^{-1}AB1A的最大特征值,最小值为B−1AB^{-1}AB1A的最小特征值。

3. 二分类LDA原理

回顾第一节,LDA的思想是设法将样本投影到一条直线上,使得:

  • 同类样本的投影点尽可能近
  • 异类样本的投影点尽可能远
      
      现在我们来讨论一下如何用数学语言表示这两条性质,现在我们首先从比较简单的二类LDA入手,分析LDA原理。
    在这里插入图片描述

给定数据集D={(xi,yi)}i=1mD=\{(x_i,y_i)\}_{i=1}^{m}D={(xi,yi)}i=1m,其中xix_ixinnn维向量,yi∈{0,1}y_i \in \{0,1\}yi{0,1}。令Xi,μi,ΣiX_i,\mu_i,\Sigma_iXi,μi,Σi分别表示第i∈{0,1}i\in \{0, 1\}i{0,1}类样本的集合、均值向量、协方差矩阵,即:KaTeX parse error: No such environment: align* at position 7: \begin{̲a̲l̲i̲g̲n̲*̲}̲\mu_i&=\frac{1}…如果将数据投影到直线www上,则两类样本的中心在直线上的投影分别为wTμ0w^T\mu_0wTμ0wTμ1w^T\mu_1wTμ1(图中实心圆和实心三角)。所有样本在直线上投影的协方差分别为wTΣ0ww^T\Sigma_0wwTΣ0wwTΣ1ww^T\Sigma_1wwTΣ1w。于是我们可以有下面的结论:

  • 同类样本的投影点尽可能近⇒min⁡wTΣ0w+wTΣ1w\Rightarrow\min{w^T\Sigma_0w+w^T\Sigma_1w}minwTΣ0w+wTΣ1w
  • 异类样本的投影点尽可能远⇒max⁡∥wTμ0−wTμ1∥22\Rightarrow\max\|w^T\mu_0-w^T\mu_1\|_2^2maxwTμ0wTμ122
      
      所以我们的优化目标为:arg⁡max⁡wJ(w)=∥wTμ0−wTμ1∥22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)w(4)\arg\max_wJ(w)=\frac{\|w^T\mu_0-w^T\mu_1\|_2^2}{w^T\Sigma_0w+w^T\Sigma_1w}=\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0+\Sigma_1)w}\tag{4}argwmaxJ(w)=wTΣ0w+wTΣ1wwTμ0wTμ122=wT(Σ0+Σ1)wwT(μ0μ1)(μ0μ1)Tw(4)我们一般定义类内散度矩阵SwS_wSw为:Sw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T(5)S_w=\Sigma_0+\Sigma_1=\sum_{x \in X_0}(x-\mu_0)(x-\mu_0)^T+\sum_{x \in X_1}(x-\mu_1)(x-\mu_1)^T\tag{5}Sw=Σ0+Σ1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T(5)定义类间散度矩阵SbS_bSb为:Sb=(μ0−μ1)(μ0−μ1)T(6)S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T\tag{6}Sb=(μ0μ1)(μ0μ1)T(6)J(w)J(w)J(w)可重写为:J(w)=wTSbwwTSww(7)J(w)=\frac{w^TS_bw}{w^TS_ww}\tag{7}J(w)=wTSwwwTSbw(7)然后这就是广义瑞利商的形式,那么如何确定www呢?
      注意到(7)中分子分母都是关于www的二次项,所以(7)的解与www大小无关,只与其方向有关,不妨取wTw=1w^Tw=1wTw=1,即www为标准正交基,(4)等价于arg⁡max⁡wwTSw−1Sbw    s.t. wTw=1(8)\arg\max_ww^TS_w^{-1}S_bw    s.t. w^Tw=1\tag{8}argwmaxwTSw1Sbw    s.t. wTw=1(8)然后这又又又又是一个约束优化问题,拉格朗日乘子法走起来,对应的拉格朗日函数为L(w,λ)=−wTSw−1Sbw+λ(wTw−1)(9)L(w,\lambda)=-w^TS_w^{-1}S_bw+\lambda(w^Tw-1)\tag{9}L(w,λ)=wTSw1Sbw+λ(wTw1)(9)www求导并令导数等于0可得:Sw−1Sbw=λw(10)S_w^{-1}S_bw=\lambda w\tag{10}Sw1Sbw=λw(10)和PCA一样的套路,又变成对Sw−1SbS_w^{-1}S_bSw1Sb特征分解的问题了。对于二分类来说,SbwS_bwSbw的方向恒为μ0−μ1\mu_0-\mu_1μ0μ1,不妨令Sbw=λ(μ0−μ1)S_bw=\lambda (\mu_0-\mu_1)Sbw=λ(μ0μ1),代入(10)得:w=Sw−1(μ0−μ1)(11)w=S_w^{-1}(\mu_0-\mu_1)\tag{11}w=Sw1(μ0μ1)(11)所以,对于二分类样本,只要求出原始样本的均值和方差就能确定最佳的投影方向www了。
4. 多分类LDA原理

如果是多类向低维投影,则此时投影到的低维空间就不是一条直线,而是一个超平面了。优化目标变为:arg⁡max⁡wWTSw−1SbW    s.t. WTW=1(12)\arg\max_wW^TS_w^{-1}S_bW    s.t. W^TW=1\tag{12}argwmaxWTSw1SbW    s.t. WTW=1(12)WWW为低维空间基向量组成的矩阵,W∈Rd×(N−1)W \in \mathbb{R}^{d\times(N-1)}WRd×(N1),其中NNN为样本类别数。对于约束优化问题(12),同样利用拉格朗日乘子法可以得到WWW的解是Sw−1SbS_w^{-1}S_bSw1Sbd′d'd个最大非零广义特征值所对应的特征向量组成的矩阵,d′≤N−1d' \le N-1dN1

5. LDA算法流程

输入:ddd维数据集X={(xi,yi)}i=1mX=\{(x_i,y_i)\}_{i=1}^{m}X={(xi,yi)}i=1myi∈{1,2,…,N}y_i \in \{1,2,\dots,N\}yi{1,2,,N},要降到的维度d′d'd
输出:降维后的数据集X′X'X
Step1: 计算类内散度矩阵SwS_wSwSw=∑i=1N∑x∈Xi(x−μi)(x−μi)TS_w=\sum_{i=1}^N\sum_{x\in X_i}(x-\mu_i)(x-\mu_i)^TSw=i=1NxXi(xμi)(xμi)TStep2: 计算类间散度矩阵SbS_bSbSb=∑i=1Nmi(μi−μ)(μi−μ)TS_b=\sum_{i=1}^Nm_i(\mu_i-\mu)(\mu_i-\mu)^TSb=i=1Nmi(μiμ)(μiμ)T其中mim_imi为第iii类的样本数目,μ\muμ为所有样本均值向量
Step3: 计算矩阵Sw−1SbS_w^{-1}S_bSw1Sb
Step4:Sw−1SbS_w^{-1}S_bSw1Sb进行奇异值分解,得到奇异值λi\lambda_iλi及其对应的特征向量wiw_iwii=1,2,…,N−1i=1, 2, \dots,N-1i=1,2,,N1
Step5: 取前d′d'd大的奇异值对应的特征向量组成投影矩阵WWW
Step6: 计算样本集中每个样本xix_ixi在新的低维空间的投影ziz_izizi=WTxiz_i=W^Tx_izi=WTxi
Step7: 得到降维后的样本集X′={(zi,yi)}i=1mX'=\{(z_i,y_i)\}_{i=1}^{m}X={(zi,yi)}i=1m

5. 小结

LDA降维和PCA降维有很多相似之处:
  (1) 两者在降维时都使用了特征分解的思想
  (2) 两者都假设数据符合高斯分布,因此LDA和PCA都不适合对非高斯分布的样本进行降维
  相对于PCA,LDA又有所不同:
  (1) LDA是有监督的降维方法,降维过程中可以使用类别的先验知识经验,而PCA不行
  (2) LDA选择分类性能最好的投影方向,而PCA选择最大方差的投影方向,因此LDA有过拟合的风险
  (3) LDA最多能降到N−1N-1N1的维数,如果降维维度大于N−1N-1N1,则不能使用LDA,而PCA没有这个限制
  (4) 当样本分类信息依赖均值时LDA效果较好;依赖方差的时候PCA效果较好

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Maples丶丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值