LDA(Linear Discriminant Analysis)的原理是,将数据通过线性投影的方法,投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近。如下图:

待分数据X有m个样本
X={x1,x2,x3,…,xi,…,xm}
其中,xi是第i个样本,有n个特征,
xi={xi1,xi2,xi3,…,xij,…,xin}
类别标签有两类,D1和D2
投影函数为
Y=WTX
Y为投影后的数据点。
设第Di类有k个样本,则第Di类的原始数据的均值为
ui=k1x∈Di∑x
第Di类的原始数据方差为
Si2=x∈Di∑(x−ui)(x−ui)T
线性映射后的第Di类的均值为
ui=k1y∈Di∑y=k1x∈Di∑WTx=WTui
线性映射后第Di类的方差为
Si2=y∈Di∑(y−ui)(y−ui)T=x∈Di∑(WTx−WTui)(WTx−WTui)T=x∈Di∑WT(x−ui)(x−ui)T(WT)T=x∈Di∑WT(x−ui)(x−ui)TW=WTSi2W
分类的目的是使得类间间距最大,类内间距最小。因此设置损失函数为
J(W)=S12+S22∣u1−u2∣2=WTS12W+WTS22W∣WTu1−WTu2∣2=WT(S12+S22)WWT∣u1−u2∣2W=WTSW2WWTSB2W
我们希望分母越小越好,分子越大越好:分母小,则每个类内部数据点比较聚集;分子大,则两个类别的距离较远。所以需要找出一个 W使 J(W) 的值最大。