一、LDA的基本思想
線性判別式分析(Linear Discriminant Analysis, LDA),也叫做Fisher線性判別(Fisher Linear Discriminant ,FLD),是模式識別的經典算法,它是在1996年由Belhumeur引入模式識別和人工智能領域的。線性鑒別分析的基本思想是將高維的模式樣本投影到最佳鑒別矢量空間,以達到抽取分類信息和壓縮特征空間維數的效果,投影后保證模式樣本在新的子空間有最大的類間距離和最小的類內距離,即模式在該空間中有最佳的可分離性。
如下圖所示,根據膚色和鼻子高低將人分為白人和黑人,樣本中白人的鼻子高低和皮膚顏色主要集中A組區域,黑人的鼻子高低和皮膚顏色主要集中在B組區域,很顯然A組合B組在空間上明顯分離的,將A組和B組上的點都投影到直線L上,分別落在直線L的不同區域,這樣就線性的將黑人和白人分開了。一旦有未知樣本需要區分,只需將皮膚顏色和鼻子高低代入直線L的方程,即可判斷出未知樣本的所屬的分類。
因此,LDA的關鍵步驟是選擇合適的投影方向,即建立合適的線性判別函數(非線性不是本文的重點)。

二、LDA的計算過程
1、代數表示的計算過程
設已知兩個總體A和B,在A、B兩總體分別提出m個特征
,然后從A、B兩總體中分別抽取出
、
個樣本,得到A、B兩總體的樣本數據如下:
和
假設存在這樣的線性函數(投影平面),可以將A、B兩類樣本投影到該平面上,使得A、B兩樣本在該直線上的投影滿足以下兩點:(1)兩類樣本的中心距離最遠;(2)同一樣本內的所有投影距離最近。我們將該線性函數表達如下:

將A總體的第
個樣本點
投影到
平面上得到投影點
,即
A總體的樣本在
平面投影的重心為

其中
同理可以得到B在
平面上的投影點
以及B總體樣本在
平面投影的重心為

其中
按照Fisher的思想,不同總體A、B的投影點應盡量分開,用數學表達式表示為
,而同一總體的投影點的距離應盡可能的小,用數學表達式表示為
,
,合並得到

求
從而使得
得到最大值,分別對
進行求導即可,詳細步驟不表。
2、向量表示的計算過程
上述LDA判別的代數表述方法直觀,單較為復雜,而且兩個以上的樣本總體不適用,向量和矩陣包含更豐富的信息,表達能力更強,本小結將介紹LDA的向量表示的計算過程。
假設對於一個
維空間有
個樣本分別為
即 每個樣本
是一個
行的矩陣,其中
表示屬於
類的樣本個數,假設有一個有c個類,則
。
約定數學符號和表達式如下:
-- 第
類的樣本個數;
--第
個樣本;
--所有樣本的均值;
--類
的樣本均值;
-- 類間離散度矩陣,協方差矩陣;
-- 第
類內離散度矩陣;
-- 所有類的類內離散程度總和;
-- 第
類的樣本個數;
--第
個樣本;
我們可以知道矩陣
的實際意義是一個協方差矩陣,這個矩陣所刻畫的是該類與樣本總體之間的關系,其中該矩陣對角線上的函數所代表的是該類相對樣本總體的方差(即分散度),而非對角線上的元素所代表是該類樣本總體均值的協方差(即該類和總體樣本的相關聯度或稱冗余度),所以
把所有樣本中各個樣本根據自己所屬的類計算出樣本與總體的協方差矩陣的總和,這從宏觀上描述了所有類和總體之間的離散冗余程度。同理,
為分類內各個樣本和所屬類之間的協方差矩陣之和,它所刻畫的是從總體來看類內各個樣本與類之間(這里所刻畫的類特性是由是類內各個樣本的平均值矩陣構成)離散度,其實從中可以看出不管是類內的樣本期望矩陣還是總體樣本期望矩陣,它們都只是充當一個媒介作用,不管是類內還是類間離散度矩陣都是從宏觀上刻畫出類與類之間的樣本的離散度和類內樣本和樣本之間的離散度。
LDA做為一個分類的算法,我們當然希望它所分的類之間耦合度低,類內的聚合度高,即類內離散度矩陣的中的數值要小,而類間離散度矩陣中的數值要大,這樣的分類的效果才好。這里我們引入Fisher鑒別准則表達式:

其中
為任一
維列矢量。Fisher線性鑒別分析就是選取使得
達到最大值的矢量
作為投影方向,其物理意義就是投影后的樣本具有最大的類間離散度和最小的類內離散度。我們把公式
和公式
代入公式
得到:

重點來了(給它加100個粗,哈哈),設矩陣
,其中
可以看成是一個空間(相當於代數表達式里的
),也就是說
就是矩陣
構成的低維空間
(超平面)的投影,聯想一下特征值的表達式
。
也可表示為
,而當樣本為列向量時,
即表示
在
空間的幾何距離的平方。所以可以推出fisher線性鑒別分析表達式的分子即為樣本在投影
空間下的類間幾何距離的平方和,同理也可推出分母為樣本在投影
空間下的類內幾何距離的平方差,所以分類問題就轉化到找一個低維空間使得樣本投影到該空間下時,投影下來的類間距離平方和與類內距離平方和之比最大,即最佳分類效果。
所以根據上述思想,即通過最優化下面的准則函數找到有一組最優鑒別矢量構成的投影矩陣
(這里我們也可以看出1/m可以通過分子分母約掉,所以前面所提到的第一組公式和第二組公式所表達的效果是一樣的).

可以證明,當
為非奇異(一般在實現LDA算法時,都會對樣本做一次PCA算法的降維,消除樣本的冗余度,從而保證
是非奇異陣,當然即使
為奇異陣也是可以解的,可以把
或
對角化,這里不做討論,假設都是非奇異的情況)時,最佳投影矩陣
的列向量恰為下來廣義特征方程
的d個最大的特征值所對應的特征向量(矩陣
的特征向量),且最優投影軸的個數d<=c-1。
根據
式可以推出
又由於
把
式代入
式可得:

所以根據公式意義來看,要使max最大則只要取
即可,所可得到如下結論:投影矩陣
的列向量為d(自取)個最大特征值對應的特征向量,其中
三、LDA的應用實例分析
R語言的MASS包中有實現LDA的函數,函數名為lda,具體的應用實例請參考文章:
http://xccds1977.blogspot.tw/2011/12/r_27.html
------------------------------------
文中的內容大部分來自網絡,僅作為本人的學習筆記
