LDA线性判别分析

算法思想

LDA是经典的有监督的降维方法。而我们的降维方法,一般都是将样本数据进行投射。LDA的思想就是将样本投射到一条直线上,使同类的样本点尽可能的接近,而异类的样本点尽可能的远离。如下图所示:

这里写图片描述

算法推导

假设我们的样本数据是 D={(x1,y1),...,(xm,ym)} D = { ( x 1 , y 1 ) , . . . , ( x m , y m ) } 其中 yi{0,1} y i ∈ { 0 , 1 }

我们假设 xi,μi,Σi x i , μ i , Σ i 分别为第 i i 类样本的集合,均值以及协方差矩阵。

我们将数据映射到w上,则两类样本的中心点在直线上的投影分别为 wTμ0,wTμ1 w T μ 0 , w T μ 1

将所有的数据投射到w上,则两类样本的协方差分别为 wTΣ0w,wTΣ1w w T Σ 0 w , w T Σ 1 w

根据LDA的思想:

同类的样本点尽可能的接近,而异类的样本点尽可能的远离

有:

式子 wTΣ0w+wTΣ1w w T Σ 0 w + w T Σ 1 w 要尽可能的小

式子 ||wTμ0wTμ1||22 | | w T μ 0 − w T μ 1 | | 2 2 要尽可能的大

因此我们的目标转化为最大化:

J=||wTμ0wTμ1||22wTΣ0w+wTΣ1w=wT(μ0μ1)(μ0μ1)TwwT(Σ0+Σ1)w J = | | w T μ 0 − w T μ 1 | | 2 2 w T Σ 0 w + w T Σ 1 w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w

我们可以定义类内散度矩阵:

Sw=Σ0+Σ1=xx0(xμ0)(xμ0)T+xx1(xμ1)(xμ1)T S w = Σ 0 + Σ 1 = ∑ x ∈ x 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ x 1 ( x − μ 1 ) ( x − μ 1 ) T

类间散度矩阵:

Sb=(μ0μ1)(μ0μ1)T S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T

所以优化目标变为:

J=||wTμ0wTμ1||22wTΣ0w+wTΣ1w=wT(μ0μ1)(μ0μ1)TwwT(Σ0+Σ1)w=wTSbwwTSww J = | | w T μ 0 − w T μ 1 | | 2 2 w T Σ 0 w + w T Σ 1 w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w = w T S b w w T S w w

下面我们的目标就是如何确定w。

上面的式子与w的大小无关,因此问题可以转换为:

minw wTSbw m i n w   − w T S b w

s.t.wTSww=1 s . t . w T S w w = 1

利用拉个朗日乘子法,有:

Sbw=λSww S b w = λ S w w

由于 Sb=(μ0μ1)(μ0μ1)T S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T ,因此可以令:

Sb=λ(μ0μ1) S b = λ ( μ 0 − μ 1 )

带如式子有:

w=S1w(μ0μ1) w = S w − 1 ( μ 0 − μ 1 )

Sw S w 做奇异值分解:

Sw=UΣVT S w = U Σ V T

所以有:

S1w=VΣ1UT S w − 1 = V Σ − 1 U T

因此可以得到投影向量:

w=VΣ1UT(μ0μ1) w = V Σ − 1 U T ( μ 0 − μ 1 )

多维场景

对于降维问题,如果降到多维的场景,可以如下处理:

SbW=λSwW S b W = λ S w W

有:

Sw1SbW=λW S w − 1 S b W = λ W

因此只需要对 Sw1Sb S w − 1 S b 做特征值分解,得到的最大的特征值对应的特征向量组成的矩阵就是多维的投影向量。

多分类场景

如果是多分类(假设为 N N )问题,则只需要修改下式即可:

Sb=i=1Nmi(μ0μi)(μ0μi)T

其中 mi m i 为第 i i <script type="math/tex" id="MathJax-Element-29">i</script>例样本的个数。

最后说一句

特征值分解或者奇异值分解无处不在啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值