在機器學習的過程當中,咱們常常會碰見過擬合的問題。而輸入數據或features的維度太高就是致使過擬合的問題之一。。維度越高,你的數據在每一個特徵維度上的分佈就越稀疏,這對機器學習算法基本都是災難性的。全部出現了不少降維的方法。今天咱們要討論的就是LDA降維。算法
LDA降維的思路是:若是兩類數據線性可分,即:存在一個超平面,將兩類數據分開。則:存在模旋轉向量,將兩類數據投影到一維上,而且依然是線性可分的。機器學習
假設未定一組N個帶標記的數據(Xi,Ci),其中,標記C分兩類,即:Ci =0 或Ci=1,設計分類器,將數據分開。若是x的維度很高,甚至比N還多,這時候就須要降維了。函數
一、根據線性變換,將X降成一維的性能
假定旋轉向量爲W,將數據X投影到一維y,獲得 y =WTX ,其中輸入數據X,旋轉向量W。學習
如此就將原來我x維的向量轉換爲一維,利用分類算法將數據分類爲C。從而,能夠找到閾值W0,若是y>W0爲一類,y<W0爲一類。優化
二、計算每一個分類的類內均值和方差spa
令C1類有N1個元素,C2有N2個元素,計算投影前的類內均值和投影后的類內均值和鬆散度(方差):設計
三、尋找Fisher判別準則3d
四、對目標函數進行優化blog
也就是對目標函數求導後取極值。
倒數爲:
推導獲得, 三者同方向。
PCA和LDA的區別
LDA:分類性能最好的方向
PCA:樣本點投影具備最大方差的方向
實際問題每每須要研究多個特徵,而這些特徵就有必定的相關性。
將多個特徵綜合爲少數幾個表明性特徵。組合後的特徵既可以表明原始特徵的絕大部分信息,又互不相關,下降相關性。這種提取原始特徵的主成分的方法就叫主成分分析。
對於包含n個特徵的m個樣本的數據,將每一個樣本標記成行向量,獲得了矩陣A:
尋找樣本的主方向U:將m個樣本的值投影到某直線L上,獲得m個位於直線L上的點,計算m個投影點的方差。認爲方差最大的直線方向爲主方向。
假設樣本去均值了
取投影的直線L的延伸方向u,計算AXu的值
求向量A X u的方差
目標函數:J(u)= uTATAu
目標函數求駐點:
因爲u數乘獲得的方向和u相同,所以,增長u是單位向量的約束,即:||u||2=1 = uTu
創建Lagrange的方程:
L(u)= uTATAu -λ (uTu-1)
求導:
分析ATAu = λu
若A中的樣本都是去均值化的,則ATA與A的協方差矩陣僅僅相差係數n-1
u是ATA的特徵向量,λ的值的大小爲原始觀測數據的特徵向量在向量u的方向上投影值的方差
去噪、降維 、模式識別、分析數據胡相關性以及多源融合等