AI入门:不用任何公式把主成分分析讲清楚
全文共?2210?字,19?幅圖,
預計閱讀時間?12?分鐘。
本文所有思路都來自 Luis Serrano 的油管視屏「Principle Component Analysis (PCA)」,純純的致敬!
PCA 是無監督學習中的最常見的數據降維方法,但實際問題特征很多的情況,PCA 通常會預處理來減少特征個數。
1
提問:如果給我們 5 個人照相,照相機應該放在哪?
回答:放在圖中打鉤的地方,因為人臉面對照相機正面分布最開,最容易把所有人臉都照進來。
思考:人臉分布最開?≈?數據方差最大?
2
試想預測房價的場景,假如我們用?5 個特征來預測房價,它們是
房間面積
房間個數
臥室個數
周邊好學校個數
周邊犯罪率
但仔細一看,這 5 個特征可以抽象成 2 個,前三個都在討論「尺寸」而后兩個都在討論「環境」。那么是否可以把這 5 維特征降到 2 維特征呢?
3
5 維數據太難可視化,人還是最容易可視化 2 維數據。
給定 2 維數據,如果向兩條線上做投影,應該選擇投影后數據分得更開的那條線。試想假如接下來做分類是不是更容易些?
將這 2 維特征實例化為房間面積和房間個數,它們通常成正比關系。假設我們找到一條向上的直線,將這 2 維特征投影到該直線上,如下圖。
特征房間面積和房間個數有些重復了,因此把它們降到 1 維也沒有丟失太多信息,如下圖。
4
場景有了,直覺也有了,那么我們該看看 PCA 背后的數學原理了。其實非常簡單,你只用知道均值、方差、協方差這三個基本統計概念就行了。原諒我這次必須要帶點公式,但我相信現在小孩應該能懂。
均值
均值不要太簡單,自己看圖,我不解釋了行嗎?
方差
方差的概念稍微難些。方差是衡量數據和其均值的偏離程度。如上圖上半部分,兩組數據的均值都為?0 ,而第二組數據的方差 (50/3) 大于第一組數據的方差 (2/3),因此第二組數據更加分散些。?
同理,看上圖下半部分,數據投影到 x 軸上的方差大于數據投影到 y 軸上的方差。
最后給出計算 N 個數據的方差極簡公式?(將每個數據的值減去其均值,平方后再求平均)
? ? X?方差?=?加總(Xi - 均值)2?/ N
????Y 方差?=?加總(Yi?- 均值)2?/ N
接著來看兩組數據,它們具有相同的方差 (投影到 x 軸和 y 軸),但是這兩組數據的模式非常不同,一個趨勢向下,一個趨勢向上。
這樣看來,光靠方差是不能準確描述不同的數據模式了,是時候該介紹協方差了。
協方差
首先給出計算 N 個數據的協方差極簡公式 (將數據 X 值和 Y 值相乘,再求平均)
?? ?協方差?=?加總(Xi?× Yi)?/ N
這樣當
協方差 > 0,?趨勢向上,X 和 Y 正相關
協方差 <?0, 趨勢向下,X 和 Y 負相關
協方差?≈?0, 無明顯趨勢,X 和 Y 不相關
最后把所計算的均值、方差、協方差匯總成協方差矩陣。
協方差矩陣
對于 2 維數據,它的協方差矩陣是 2×2 的對稱矩陣。類比一下,
對于 5?維數據,它的協方差矩陣是 5×5 的對稱矩陣。
對于 D?維數據,它的協方差矩陣是 D×D 的對稱矩陣。
根據上面數據模式,我們計算出來他的協方差矩陣為
????[ 9,?4
????? 4, 3 ]
我們發現,
數據在 x 軸上的方差 9 大于數據在?y?軸上的方差 3,合理!
X 和 Y?正相關,協方差為 4,合理!
5
我們知道矩陣其實就是線性轉換,那么
????矩陣?×?向量 1?=?向量 2
就是把向量 1?線性轉換成向量 2。
不懂?沒關系,跟著上圖,試著用矩陣 [9, 4; 4, 3] 來轉換幾個標準點
(0, 0)?→ (0, 0)
(1,?0)?→?(9, 4)
(0, 1)?→?(4, 3)
(-1,?0)?→?(-9, -4)
(0,?-1)?→?(-4,?-3)
那么圓形被該矩陣轉換成向上的橢圓形。
6
在以上線性轉換中,有兩個非常重要的向量,它們方向不變,長度改變。這樣的向量稱為特征向量,對應向量的長度稱為特征值。如下圖所示。
紅色和青色向量是特征向量,它們方向不變。而黃色向量不是特征向量,它們方向變了。
求特征向量和特征值的方法就不細說了,就是解一個方程
????矩陣?× 向量 =?常數?× 向量
你看,等式左邊是用矩陣相乘將向量做了線性轉化,而等式右邊是用常數相乘將向量做了放縮 (沒改變向量的方向哦)。
7
講完特征向量和特征值后,我們可以介紹 PCA 的操作了,一句話,PCA 將數據投影到特征向量 (主成分) 上,而特征值代表數據投影后的方差大小。
因此降維操作可是看成是選擇特征值比較大的幾個主成分作為特征。如上圖,我們只保留了第一個主成分 (特征值 11),而去除了第二個主成分 (特征值?1)。
這樣 2 維數據就變成了 1 維數據。因此第二個主成分的特征值 1?比第一個主成分特征值?11 小很多,那么將其去除不會丟失太多信息的。?從下面兩圖也可以看出。
總結
回到開始的場景,來總結一下 PCA 的完整操作。
一開始我們有 5 維特征,分別是房間面積、房間個數、臥室個數、周邊好學校個數和周邊犯罪率。
這 5 維特征可以體現在一個 5D 圖中,雖然我們無法精準的把它畫出來。
計算協方差矩陣,5?維特征得到?5×5 的對稱矩陣。
求出特征向量和特征值,將特征值從大到小排序,去除明顯比較小 (這個需要點主觀判斷) 的,假設去除了后三個,保留了前兩個。
這 2 維特征可以體現在一個 2D 圖中,我們人類終于可以可視化它了。
當然原來「5 維特征的數據表」縮減成了「2?維特征的數據表」,希望這 2 維體現的是抽象的尺寸特征和環境特征,就像開頭那張圖一樣。
覺得好就幫我傳播這個看不懂算我輸系列咯,謝謝大家!
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(pdf更新到25集)備注:加入本站微信群或者qq群,請回復“加群”獲取一折本站知識星球優惠券,請回復“知識星球”
喜歡文章,點個在看
總結
以上是生活随笔為你收集整理的AI入门:不用任何公式把主成分分析讲清楚的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI入门:不用任何公式把循环神经网络讲清
- 下一篇: AI入门:通俗讲解熵、交叉熵和 KL 散