導航:首頁 > 源碼編譯 > lda演算法應用

lda演算法應用

發布時間:2025-09-23 01:36:59

1. 降維演算法之LDA(線性判別降維演算法)--有監督

    LDA在模式識別領域( 比如人臉識別,艦艇識別等圖形圖像識別領域 )中有非常廣泛的應用,因此我們有必要了解下它的演算法原理。  

  不同於PCA方差最大化理論, LDA演算法的思想是將數據投影到低維空間之後,使得同一類數據盡可能的緊湊,不同類的數據盡可能的分散 。因此,LDA演算法是一種有監督的機器學習演算法。同時,LDA有如下兩個假設:(1)原始數據根據樣本均值進行分類。(2)不同類的數據擁有相同的協方差矩陣。當然,在實際情況中,不可能滿足以上兩個假設。但是 當數據主要是由均值來區分的時候,LDA一般都可以取得很好的效果 。

    (1)計算類內散度矩陣

    (2)計算類間散度矩陣

    (3)計算矩陣

    (4)對矩陣 進行特徵分解,計算最大的d個最大的特徵值對應的特徵向量組成W。

    (5)計算投影後的數據點

以上就是使用LDA進行降維的演算法流程。實際上LDA除了可以用於降維以外,還可以用於分類。 一個常見的LDA分類基本思想是假設各個類別的樣本數據符合高斯分布 , 這樣利用LDA進行投影後,可以利用極大似然估計計算各個累唄投影數據的均值和方差,進而得到該類別高斯分布的概率密度函數 。當一個新的樣本到來後,我們可以將它投影,然後將投影後的樣本特徵分別帶入各個類別的高斯分布概率密度函數,計算它屬於這個類別的概率,最大的概率對應的類別即為預測類別。LDA應用於分類現在似乎也不是那麼流行。

    class sklearn.discriminant_analysis.LinearDiscriminantAnalysis(solver='svd', shrinkage=None, priors=None, n_components=None, store_covariance=False, tol=0.0001)

參數:

(1)solver: str類型,默認值為"svd",

    svd:使用奇異值分解求解,不用計算協方差矩陣,適用於特徵數量很大的情形,無法使用參數收縮(shrinkage)。

    lsqr:最小平方QR分解,可以結合shrinkage使用。

    eigen:特徵值分解,可以結合shrinkage使用。

 (2)shrinkage: str or float類型,默認值為None

    是否使用參數收縮

    None:不使用參數收縮

    auto:str,使用Ledoit-Wolf lemma

    浮點數:自定義收縮比例。

   (3)components:int類型,需要保留的特徵個數,小於等於n-1

屬性:

(1)covariances_:每個類的協方差矩陣,shape = [n_features, n_features]

(2)means_:類均值,shape = [n_features, n_feateures]

(3)priors_:歸一化的先驗概率。

(4)rotations_:LDA分析得到的主軸,shape = [n_features, n_component]

(5)scalings_:數組列表,每個高斯分布的方差σ

     特點:

        降維之後的維數最多為類別數-1。所以當數據維度很高,但是類別數少的時候,演算法並不適用 。LDA演算法既可以用來降維,又可以用來分類。但是目前來說,主要還是用於降維。在我們 進行圖像識別相關的數據分析時,LDA是一個有力的工具 。

    優點:

   (1) LDA在樣本分類信息依賴均值而不是方差的時候,比PCA之類的演算法較優 。

   (2)在降維過程中可以使用類別的先驗知識經驗,而像PCA這樣的無監督學習則無法使用類別先驗知識。

    缺點:

    (1)LDA不適合非高斯分布樣本進行降維,PCA也存在這個問題。

    (2)LDA降維最多降到類別數K-1的維數,如果我們降維的維度大於k-1,則不能使用LDA。 當然目前有一些LDA的進化版演算法可以繞過這個問題 。

    (3) LDA在樣本分類信息依賴方差而不是均值的時候,降維效果不好 。

    (4)LDA可能過度擬合數據。

    二者都有 降維 的作用。

1.左 邊是PCA,屬於無監督方法 ,當數據沒有標簽時可以用它。 右邊是LDA,屬於監督學習方法 。考慮了數據的分類信息,這樣數據在低維空間上就可以分類了,減少了很多的運算量。

2. PCA主要是從特徵的協方差角度考慮,追求的是在降維之後能夠最大化保持數據的內在信息 。它不考慮分類信息,因此降低維度後,信息損失降到最低,但分類上可能會變得更加困難。 LDA追求的是降維後的數據點盡可能容易被區分 。降維後的樣本數據在新的維度空間有最大的類間距離和最小的類內方差,數據在低維空間有最佳的可分離性。

3. PCA降維後的維度數目是和數據維度相關的 ,原始數據是n維,那麼PCA後維度為1、2~n維。 LDA後的維度數目是和類別的個數相關的 ,原始數據是n維,一共有C個類別,那麼LDA後維度為1、2~C-1維。

4. PCA投影的坐標系都是正交的 。 LDA關注分類能力,不保證投影到的坐標系是正交的 。

閱讀全文

與lda演算法應用相關的資料

熱點內容
初中經典題目演算法 瀏覽:631
根號的數學演算法 瀏覽:303
一個電腦多個用戶文件加密 瀏覽:248
java調用c指針 瀏覽:848
桌面APP怎麼轉移 瀏覽:836
易語言的源碼有密碼打不開怎麼解 瀏覽:811
c演算法第一卷 瀏覽:982
為什麼有的軟體直接解壓就能用 瀏覽:153
加密音卡 瀏覽:504
玩客雲做個人伺服器 瀏覽:891
10年後程序員就是白菜價工作 瀏覽:97
百度閱讀oom文件夾 瀏覽:662
PHP怎麼設置字體 瀏覽:392
第一人稱命令式講解視頻 瀏覽:927
java字元串switch 瀏覽:446
華為音樂app留言怎麼留小尾巴 瀏覽:746
lda演算法應用 瀏覽:162
python命令行如何運行 瀏覽:643
潘多拉pdf下載 瀏覽:8
安卓怎麼拍照曝光 瀏覽:698