PCA的個人理解

接觸PCA很久很久,PCA可以說是每個機器學習愛好者的都會很快接觸到的降維算法,經過這幾年對PCA有了更深入的理解~

PCA是什麼?

英文名稱:principal components analysis,顧名思義,用於分析數據中的主要成分,同時捨棄(忽略)不重要的成分,實現信息的提取和精煉,降低數據的難度。

什麼是主成分?

既然是用於分析數據中的主要成分,那需要先確定什麼樣的成分(信息)是“主要成分”?從信息論的角度來說,數據價值的高低是以信息量的多少衡量,信息量的多少以熵的大小評估,熵又等價於數據的混亂程度或者說是數據分佈的幅度大小。熵越大,信息量越大,數據價值越高。這一點很高理解,比如分析人的收入,會使用“是否有鼻子”、“是否嘴巴”這類特徵嗎?明顯不會,因爲這些特徵是大家共有的,也就是說,這類特徵的取值是唯一的,數據不存在混亂,數據的熵爲0。數據越混亂,數據的價值越大,而數據混亂程度同時正好可以用數據的方差評估,方差是衡量一組數據中各個數據點偏離均值的程度,方差越大,一組數據相互之間越分散,數據越離散,數據價值越大。所以,PCA中的主成分就是指數據內部隱含的具有最大方差方向的數據。

理想的主成分?

在實際分析中,我們希望特徵和特徵之間的相關性儘可能低,一方面便於分析數據,另一邊面又可以降低模型學習的難度(模型不需要學習特徵之間的線性關係)。

特徵和特徵之間的相關性如何衡量,常用方法是相似度計算(比如pearson相似度)、協方差、cos餘弦相似度等等,很多。但從線性代數(矩陣論)的角度來說,特徵之間是否相關性可以用特徵是否正交來評估。向量正交,說明向量不相關,但是向量不正交,則不一定。所以,尋找理想的多個主成分就是尋找相互之間正交的向量。

主成分怎麼找?

線性代數中有一個特殊的矩陣,稱爲實對稱矩陣,其是半正定的,計算得到的特徵向量之間正好是正交的,而且特徵值表示特徵向量的方向,代表特徵向量的幅度。這一性質和PCA的目的不謀而合,而且多個特徵的協方差矩陣正好是實對稱矩陣。因此,可以通過協方差矩陣,得到相關之間正交的主成分。

爲什麼是用協方差矩陣?

協方差矩陣包含單個特徵的方差、特徵和特徵之間的相似度(協方差)。

計算協方差矩陣時候爲什麼要首先對各個特徵去中心化?

特徵不同,特徵的取值不同,特徵的均值不同,均值代表特徵的平均中心點;通過去中心化,可以讓各個特徵的中心處於同個位置,也就是0這一點。實現特徵中心的對齊。

補充:

(1)數據映射,AB=C,代表矩陣B,通過映射關係A,得到C。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章