dl書上這一節公式很多,相關的符號有點不習慣,借鑑相關部落格(主要是協方差計算和pca具體原理和python實現部分的講解)希望研究例項能更好幫助大家理解公式和計算過程的具體意義:
基礎知識回顧:
首先是會看到一些熟悉的公式——
均值:方差:
以下假設我們有二維資料(借用網上常用的資料好驗證結果正確性):
第一步:
計算x,y的均值,此處計算可得x的均值=1.81,y均值等於1.91
第二步:
將矩陣中所有元素減去自己對應均值,x列所有元素-1.81,y列-1.91,得到
然後將c的轉置矩陣左乘以c得到(其實就是計算平方和)
除以(樣本總數-1)=9
得到所求的協方差矩陣如下(也有公式為直接除以樣本數總和,此處為10)
由此可知資料協方差矩陣的計算公式為
協方差(i,j)=(第i列所有元素-第i列均值)*(第j列所有元素-第j列均值)/(樣本數-1)
第三步:
求出協方差矩陣的特徵值和特徵向量(可使用matlab或者python快速計算)
特徵值分別為0.0490834和1.28402771(選擇後者因為特徵值更大)
特徵向量有以下兩個
第四步:
將特徵值按照從大到小的順序排序,選擇其中最大的k個,此處選擇1個,然後將其對應的k個特徵向量分別作為列向量(注意此處是選擇右邊兩列,而不是橫向的第二行,所以是-0.6778734)組成特徵向量矩陣此處為(-0.6778734,-0.73517866)t
第五步:
最終降維結果是資料減去均值後的矩陣乘以特徵向量組成的矩陣,在本例中就是將第二步得到的c矩陣乘以特徵向量(-0.6778734,-0.73517866)t
pca主成分分析 PCA主成分分析(中)
矩陣 matrix,很容易讓人們想到那部著名的科幻電影 駭客帝國 事實上,我們又何嘗不是真的生活在matrix中。機器學習處理的大多數資料,都是以 矩陣 形式儲存的。矩陣是向量的組合,而乙個向量代表一組資料,資料又是多維度的。比如每個人的都具有身高 體重 長相 性情等多個維度的資訊資料,而這些多維度...
主成分分析(PCA)學習筆記
pca 主要用於對資料降維,消除冗餘,以較少的資訊最大限度地保留有用的資訊。協方差 利用協方差,我們可以知道資料內部不同特徵之間的相關性以及特徵自身的方差。求得的協方差矩陣其對角元素表示的是該特徵自身的方差,而非對角線元素則表示特徵之間的協方差,也即相關性。比如對於矩陣 1,2 2,5 其中第一行的...
主成分分析PCA
主要參考這篇文章 個人總結 pca是一種對取樣資料提取主要成分,從而達到降維的目的。相比於上篇文章介紹到的svd降維不同,svd降維是指減少資料的儲存空間,資料的實際資訊沒有缺少。個人感覺pca更類似與svd的去噪的過程。pca求解過程中,涉及到了svd的使用。針對資料集d 假設di 的維度為 w ...