降維
PCA算法及其應用
主成分分析(PCA),通常用於高維數據的探索與可視化。可以拔具有相關性的高維變量轉化爲線性無關的低維變量。稱爲主成分,能夠儘可能保存原始數據的信息。
幾個概念
方差:樣本與樣本均值的差的平方和的均值,用來度量一組數據的分散程度。
協方差:用於度量兩個變量的線性相關程度。
特徵向量:描述數據集結構的非零向量。
原理:矩陣的主成分就是其協方差矩陣對應的特徵向量,按照對應特徵值排序,分爲第一主成分,第二主成分,以此類推。
在sklearn中使用decomposition模塊中的PCA進行降維。
實例,用PCA將鳶尾花數據進行降維,可視化。
代碼見: https://github.com/zwdnet/MyQuant/blob/master/26/PCAtest.py
非負矩陣分解(NMF)
是在矩陣中所有元素均爲非負數約束條件下的矩陣分解方法。
基本思想:給定一個非負矩陣V,NMF能夠找到一個非負矩陣W和一個非負矩陣H,使得二者的乘積近似等於矩陣V中的值。
W矩陣,從原矩陣V中提取的特徵。
H矩陣,係數矩陣。
分解目標,最小化W與H乘積與V的差異。
在sklearn中使用decomposition模塊中的NMF進行分解。
實例,用NMF進行人臉圖像數據集Olivetti特徵提取。
代碼見: https://github.com/zwdnet/MyQuant/blob/master/26/face.py
這是原圖
NMF算法的結果
PCA算法的結果
可以看到NMF算法好一點。
我發文章的四個地方,歡迎大家在朋友圈等地方分享,歡迎點“在看”。
我的個人博客地址:https://zwdnet.github.io
我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts
我的博客園博客地址: https://www.cnblogs.com/zwdnet/
我的微信個人訂閱號:趙瑜敏的口腔醫學學習園地