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