1. 程式人生 > >ML-64: 機器學習之線性判別分析(Linear Discriminant Analysis)降維演算法+程式碼

ML-64: 機器學習之線性判別分析(Linear Discriminant Analysis)降維演算法+程式碼

線性判別分析(Linear Discriminant Analysis)降維演算法

機器學習分為監督學習、無監督學習和半監督學習(強化學習)。無監督學習最常應用的場景是聚類(clustering)和降維(dimension reduction)。聚類演算法包括:K均值聚類(K-Means)、層次聚類(Hierarchical Clustering)和混合高斯模型(Gaussian Mixture Model)。降維演算法包括:主成因分析(Principal Component Analysis)和線性判別分析(Linear Discriminant Analysis)。

線性判別分析(Linear Discriminant Analysis-LDA)是一種監督學習的降維技術, 即他要求訓練資料是有標籤資訊的資料集。主成因分析(Principal Component Analysis-PCA)是一種無監督學習的降維技術。

線性判別分析(Linear Discriminant Analysis-LDA)的核心思想是:投影后類內方差最小,類間方差最大。LDA要將資料在低維度上進行投影,投影后希望每一種類別數## 1 演算法原理

線性判別分析(Linear Discriminant Analysis-LDA)基本思想是假設各個類別的樣本資料符合高斯分佈,這樣利用LDA進行投影后,可以利用極大似然估計計算各個類別投影資料的均值和方差,進而得到該類別高斯分佈的概率密度函式。當一個新的樣本到來後,我們可以將它投影,然後將投影后的樣本特徵分別帶入各個類別的高斯分佈概率密度函式,計算它屬於這個類別的概率,最大的概率對應的類別即為預測類別。

線性判別分析(Linear Discriminant Analysis-LDA)降維演算法的核心步驟如下:

  • 計算類內散度矩陣: SwS_w;
  • 計算類間散度矩陣: SbS_b;
  • 計算矩陣: Sw1SbS_w^{-1}S_b;
  • 計算Sw1SbS_w^{-1}S_b矩陣的最大的d個特徵值和對應的d個特徵向量(w1,w2,…wd),得到投影矩陣
  • 取出原始高維度樣本x(i), 進行降維計算操作,獲得低維度樣本: z(i)=WTx(i)z(i)=W^Tx(i);
  • 輸出降維後的樣本集 D=(z(1),z(2),...,z(m))D′=(z(1),z(2),...,z(m))

線性判別分析(Linear Discriminant Analysis-LDA)降維演算法的核心優勢如下:

  • 計算伸縮性: LDA演算法可以使用類別的先驗知識,PCA無需先驗知識;
  • 引數依賴性: 樣本分類資訊依賴均值而不是方差的時候,比PCA之類的演算法較優;
  • 普適性能力: LDA不適合對非高斯分佈樣本進行降維,PCA也有這個問題;
  • 抗噪音能力: 抗噪音能力一般;
  • 結果解釋性: 特徵維度的含義可能具有模糊性,解釋性降低。

2 演算法例項

[TODO, Coming Soon!]

3 典型應用

線性判別分析(LDA)是最著名的有監督線性降維方法,主成因分析(PCA)是無監督線性降維方法。他們也存在核函式版本,用以支援非線性降維場景。

線性判別分析(LDA)在模式識別領域應用非常廣泛。線性判別分析在人臉識別、艦艇識別、行人識別、車輛識別等領域等表現良好。

參考資料

  • [1] 周志華. 機器學習. 清華大學出版社. 2016.
  • [2] [日]杉山將. 圖解機器學習. 人民郵電出版社. 2015.
  • [3] 佩德羅·多明戈斯. 終極演算法-機器學習和人工智慧如何重塑世界. 中信出版社. 2018.據的投影點儘可能的接近,而不同類別的資料的類別中心之間的距離儘可能的大。