主成分分析(PCA)被認為是一種特别成功的特征提取和降維算法。通常用于使數據易于探索和可視化。它的原理是,利用對原來的變量進行線性組合而得到新的變量(主成分),這些變量之間的方差最大。因為數據原來的變量之間有可能差距不大,描述的内容差不多,故效率低下。換句話說,我們可能說了很多話,但是卻在講同一件事情。由于方差在數據中描述的變量之間的差距,故方差最大也就意味着新的變量之間有比較大的差距。這樣,就可以以較高的效率描述數據。
一、維度降低算法維數降低有兩種主要算法:主成分分析(PCA)和線性判别分析(LDA),當然,還有其他降維技術,如線性判别分析(Linear Discriminant Analysis、因子分析(Factor Analysis)、等距映射算法(Isomap)等。線性判别分析和主成分分析這兩者之間的基本區别在于,線性判别分析使用類的信息來查找新特征,以便最大化類可分性,而主成分分析使用每個特征的方差來做同樣的事情。主成分分析将高維數據以盡可能少的信息損失投影到低維空間,以達到簡化數據的目的。線性判别分析可以被認為是監督算法,而主成分分析是無監督算法。
二、為什麼我們需要總結數據呢?讓我們考慮一下這個例子:我們有一個帶有一組汽車屬性的數據集。這些屬性通過其尺寸、顔色、形狀、緊湊車型、座位數量、門數、行李箱尺寸大小、油箱大小、底盤高度等來描述每輛車。但是,許多這些功能将測量相關屬性,因此将是多餘的。因此,我們應該删除這些冗餘。這正是主成分分析的目标。例如,考慮車輪數量作為汽車和公共汽車的特征。幾乎每個類的每個例子都有四個輪子,因此我們可以看出這個特征的差異很小(一些罕見的公共汽車有n個輪子),所以這個功能将使公共汽車和汽車看起來一樣,但它們實際上是非常不同的。接着,考慮高度作為特征,汽車和公共汽車有不同的值,從最低的小汽車到最高的觀光巴士,差異很大。顯然,車輛的高度是不同汽車的特征。同時,主成分分析不考慮類的信息,它隻是查看每個特征的方差,因為可以合理地假設呈現高方差的特征更有可能在類之間進行良好的分割。
通常,人們最終會誤以為主成分分析會從數據集中選擇某些功能并丢棄其他功能。該算法實際上基于舊的屬性的組合構造新的屬性集。從數學上講,主成分分析執行線性變換,将原始特征集移動到由主成分組成的新空間。這些新功能對我們來說沒有任何實際意義,因此不要認為主成分分析會找到從未想過可能存在的新功能。許多人仍然相信機器學習算法是神奇的,他們直接将數以千計的輸入投入到算法中,并希望為他們的業務找到所有的見解和解決方案。不要被欺騙。數據科學家的工作是通過使用機器學習算法作為一組工具而不是劉謙的魔術棒,讓工作成為見證奇迹的時刻。通過對數據進行良好的探索性分析,來找到對業務的見解與洞察也是非常重要的。
三、主成分空間在新的特征空間中尋找一些在類别中存在很大差異的屬性。正如前面的示例中所講,一些呈現低方差的屬性沒有用,找不出區别。另一方面,主成分分析尋找的屬性可以顯示盡可能多的類,以構建主成分空間。該算法使用方差矩陣,協方差矩陣,特征向量和特征值對的概念來執行主成分分析,從而提供一組特征向量及其各自的特征值。
那麼,我們應該如何處理特征值和特征向量?非常簡單,特征向量表示主成分空間的新軸集,特征值帶有每個特征向量具有的方差值信息。因此,為了減小數據集的維數,選擇具有更大方差的那些特征向量,并丢棄具有更小方差的那些特征向量。
四、例子(1)2維例子
首先,僅考慮兩個維度的數據集,如(高度,重量)。該數據集可以繪制為平面中的點。但是如果我們想要梳理變異,PCA會找到一個新的坐标系,其中每個點都有一個新的(x,y)值。
(2)3維例子
有了三個維度,PCA更有用,因為很難看透數據雲。在下面的示例中,原始數據以3D形式繪制,但您可以通過與查找攝像機角度相同的變換将數據投影到2D:旋轉軸以找到最佳角度。要查看“官方”PCA轉換,請單擊“顯示PCA”按鈕。PCA變換确保水平軸PC1具有最大變化,垂直軸PC2具有最大變化,并且第三軸PC3具有最小變化。
(3)17維的例子
表中列出了英國每個國家每人每周17種食物的平均消費量。
該表顯示了不同食物類型的一些有趣變化,但總體差異并不那麼顯着。讓我們看看PCA是否可以消除維度以強調各國的差異。
這是第一個主成分的數據圖。我們已經可以看到北愛爾蘭的情況有所不同。
看到第一和第二組,我們認為北愛爾蘭是一個主要的異常值。一旦我們回頭看看表中的數據,這是有道理的:北愛爾蘭人吃更多的新鮮馬鈴薯和新鮮水果,奶酪,魚和酒精飲料則更少。這是一個很好的迹象,可視化的結構反映了現實世界地理的一個重要事實:在四個不在大不列颠島的國家中,北愛爾蘭飲食非常特殊。(完)
親愛的數據
出品:譚婧
美編:陳泓宇
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!