LAD线性判别模型简介及sklearn参数
本文LDA指線性判別模型,并非自然語言處理中的主題模型LDA。
1.LDA簡介
LDA在模式識別領域(比如人臉識別等圖形圖像識別領域)中有非常廣泛的應用。LDA是一種監督學習的降維技術,也就是說它的數據集的每個樣本是有類別輸出的。這點和PCA不同。PCA是不考慮樣本類別輸出的無監督降維技術。LDA的思想可以用一句話概括,就是“投影后類內方差最小,類間方差最大”。我們要將數據在低維度上進行投影,投影后希望每一種類別數據的投影點盡可能的接近,而不同類別的數據的類別中心之間的距離盡可能的大。如下圖
從直觀上可以看出,右圖要比左圖的投影效果好,因為右圖的黑色數據和藍色數據各個較為集中,且類別之間的距離明顯。左圖實際上是PCA的思想,沒有用到類別信息,投影后的方差最大,但分類邊界處數據混雜。以上就是LDA的主要思想了,當然在實際應用中,我們的數據是多個類別的,我們的原始數據一般也是超過二維的,投影后的也一般不是直線,而是一個低維的超平面。
LDA除了可以用于降維以外,還可以用于分類。一個常見的LDA分類基本思想是假設各個類別的樣本數據符合高斯分布,這樣利用LDA進行投影后,可以利用極大似然估計計算各個類別投影數據的均值和方差,進而得到該類別高斯分布的概率密度函數。當一個新的樣本到來后,我們可以將它投影,然后將投影后的樣本特征分別帶入各個類別的高斯分布概率密度函數,計算它屬于這個類別的概率,最大的概率對應的類別即為預測類別。(不過LDA似乎很少應用于分類)
2.LDA降維與PCA區別
相同點:
1)兩者均可以對數據進行降維。
2)兩者在降維時均使用了矩陣特征分解的思想。
3)兩者都假設數據符合高斯分布。
不同點:
1)LDA是有監督的降維方法,而PCA是無監督的降維方法
2)LDA降維最多降到類別數k-1的維數,而PCA沒有這個限制。
3)LDA除了可以用于降維,還可以用于分類。
4)LDA選擇分類性能最好的投影方向,而PCA選擇樣本點投影具有最大方差的方向。
從下圖形象的看出,在左圖數據分布下LDA比PCA降維較優,右圖數據分布下,PCA比LDA較優。
3.LinearDiscriminantAnalysis參數 class?sklearn.discriminant_analysis.LinearDiscriminantAnalysis(solver='svd',?shrinkage=None,?priors=None,?n_components=None,?store_covariance=False,?tol=0.0001)
- solver:str,求解算法,?
取值可以為:?
- svd:使用奇異值分解求解,不用計算協方差矩陣,適用于特征數量很大的情形,無法使用參數收縮(shrinkage)
- lsqr:最小平方QR分解,可以結合shrinkage使用
- eigen:特征值分解,可以結合shrinkage使用
- shrinkage:str or float,是否使用參數收縮?
取值可以為:?priors:array,用于LDA中貝葉斯規則的先驗概率,當為None時,每個類priors為該類樣本占總樣本的比例;當為自定義值時,如果概率之和不為1,會按照自定義值進行歸一化- None:不適用參數收縮
- auto:str,使用Ledoit-Wolf lemma
- 浮點數:自定義收縮比例
- components:int,需要保留的特征個數,小于等于n-1
- store_covariance:是否計算每個類的協方差矩陣,0.19版本刪除
LinearDiscriminantAnalysis類的fit方法
??fit()方法里根據不同的solver調用的方法均為LinearDiscriminantAnalysis的類方法
fit()返回值:
- self:LinearDiscriminantAnalysis實例對象
屬性Attributes:
- covariances_:每個類的協方差矩陣, shape = [n_features, n_features]
- means_:類均值,shape = [n_classes, n_features]
- priors_:歸一化的先驗概率
- rotations_:LDA分析得到的主軸,shape [n_features, n_component]
- scalings_:數組列表,每個高斯分布的方差σ
?
參考:
https://www.cnblogs.com/pinard/p/6244265.html ;
https://blog.csdn.net/qsczse943062710/article/details/75977118
轉載于:https://www.cnblogs.com/solong1989/p/9593555.html
總結
以上是生活随笔為你收集整理的LAD线性判别模型简介及sklearn参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php模拟登陆,php实现模拟登陆正方教
- 下一篇: 已知补码求真值