线性判别分析(Linear Discriminant Analysis)

概念

线性判别分析(Linear Discriminant Analysis)是一种根据分类特征有监督方法的降维算法。LDA是将高维数据投影到低维数据,同时保证不同类尽量的分得开,即:类内距离尽量的近,类间距离尽量的远。

二分类数据做LDA

对于 D 维的样本 x={x(1),x(2),...,x(N)}
w 是投影向量, x 是样本数据, C1C2
投影后的数据: y=wTx
Ni 是第 i 类的训练集数据量
投影前样本的均值 μi=1NixϵCix
投影后样本的均值 μi¯=1NixϵCiy=1NixϵCiwTx=wTμi
定义投影后的散度(scatter),等于类内方程: si¯2=yϵCi(yμi¯)2
为了使两类更好的分开,必须使均值尽可能的远,散度尽量在很小的区域。
线性判别分析(Linear Discriminant Analysis)_第1张图片
如上图:左侧的投影结果把两类数据都混淆在一起了,而右侧的投影效果很好,两类数据明显分开了。
根据费希尔线性判别式(Fisher’s linear discriminant)
J(w)=|μ1¯μ2¯|2si¯2+s2¯2
极大化上面的等式,得到的 w 就是投影方向。
为了得到最大的 w ,我们需要将上面的 J(w) 等式转换成关于 w 的等式。

投影前类内散度(方差): S2i=xϵCi(xμi)(xμi)T
投影前类内总散度之和: S21+S22=Sw
化简投影后的散度:
si¯2=yϵCi(yμ¯i)2
= xϵCi(wTxwTμi)2
=xϵCiwT(xμi)(xμi)Tw
=wTSiw
所以: s1¯2+s2¯2=wTSww
化简投影后的均值:
|μ1¯μ2¯|2=(wTμ1wTμ2)2=wT(μ1μ2)(μ1μ2)Tw=wTSBw
其中 SB=(μ1μ2)(μ1μ2)T

化简 J(w)
J(w)=wTSBwwTSww
对上式关于 w 求导
ddw[wTSBwwTSww]=[wTSww]d[wTSBw]dw[wTSBw]wTSwwdw=0

[wTSww]2SBw[wTSBw]2Sww=0
同除以 wTSww
SBwJSww=0
S1wSBwJw=0

S1wSBw=Jw
上式就是求特征值,特征向量的问题, S1wSB 的特征向量就是 w .注意; J 被认为是常数,特征值。

问题转化为: argmax[wTSBwwTSww]=S1w(μ1μ2)

例子

多维LDA

设原始数据是 C
设对 x 投影矩阵式 W ,投影后: y=WTx

类内散度矩阵:这里写图片描述

其中:
wi wi
μi wi 类的类内均值:这里写图片描述

类内散度矩阵之和:

类间散度矩阵之和:线性判别分析(Linear Discriminant Analysis)_第2张图片

总的散度矩阵之和: ST=SW+SB

投影后的类内均值,所有类的均值,类内散度,类间散度如下:

线性判别分析(Linear Discriminant Analysis)_第3张图片

三类,对于上面变量的效果图

则:
线性判别分析(Linear Discriminant Analysis)_第4张图片

最大化 J(W) 所得的 W 就是投影矩阵。

所求的 W 的每一类是最大特征值对应的特征向量(具体什么原因,可以参考二分类问题)
这里写图片描述

求出所有的 wi ,就可以得到 W

说明

1.原始数据有 C 类,降维的维度只能在 1,2,3,...,C1 .
SB 是由 C 个秩为1的矩阵的和,这里写图片描述 C 个类中心的均值等于整体数据的中心,则最多是 C1 的秩
2.数据的最大信息,对应 S1WSB 最大特征值的特征向量

你可能感兴趣的:(数据挖掘,LDA,线性判别分析)