啊作爲一個沒學過線代的人……當初寫eigenface的時候看PCA看了非常之久……
這裏儘量簡單的描述這個概念
啊全是隨手畫的圖
基本介紹
需要知道的:
矩陣乘法的本質是座標變換。
主要通過二維到一維的方式來通俗的描述一下PCA。定義什麼可以參考維基之類的。
https://zh.wikipedia.org/wiki/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90
看到下面這幅圖上有一堆的二維點。
那我們要找一個方式把他轉換到一維的。
當然如果考慮非線性就很複雜了……這裏就考慮線性的。
提供AB兩種降維方式。實心的點是他們降到一維之後的座標。
或許這個圖看起來可以說是A這種降維【我無數次打出來姜維小哥哥】比較合理,直觀上來講
- 每個點的失真比較小(就空心點到實心點的距離比較小)
- 最後結果比較分散,也就是說在A這條直線上點的差異性得以保留,而在B這條直線上提取出來的更多是它們的共性。
主成分分析中,這種直觀的判斷方式,被確定爲投影之後方差最大
(後來看資料發現兩種定義都有)
而經過求解,這個向量正好對應協方差矩陣最大特徵值對應的特徵向量。(證明放在最後)
那麼來一個直觀一點的方式……【這裏的一些符號定義和下面證明裏一樣】
如果求出的兩個特徵向量分別爲【markdown公式啥時候那麼醜了……預覽不是這樣的不是!】
那麼降到特徵空間之後得到的值爲
如果不做什麼的話是可以正常還原的……
但是需要降維也就是認爲
可以省去特徵根比較小的點。這些點我們認爲體現了更多的“共性”而不是“特性”。
這樣還原結果如下【0表示這個維度被省去】
可以看到有一定的失真……但是也可以認爲還保留着基本的一些特徵【廢話】
其他
Q 如果用非人臉圖像降維到人臉空間會怎麼樣?
A 不會怎麼樣……就,你重構出來可能還是一個臉……失真比較大
就相當於,你提取的特徵都是於臉有關的,雖然輸入的不是臉但是他依然會提取其中代表人臉的特徵……這樣
失真差不多和上圖那個Q點一樣大(比劃)因爲A不是由他提取出的特徵
Q 簡化計算
https://zh.wikipedia.org/wiki/%E7%89%B9%E5%BE%81%E8%84%B8
可以參考一下這個……
直觀點理解就是,比如在這個二維空間中只有一個點,那麼肯定只需要一個特徵向量就可以表示它。
如上圖,不管P在什麼位置上,肯定可以只用A一個特徵向量來表示,它在B上的值肯定是0.因此,我們可以不關心B的這個向量,而只求出A這個向量。
然後這就涉及某些線代的運算了……
Q 其他
我覺得PCA只能保證提取的是一維向量特徵的時候,結果是最好的……而不一定能保證提取k維特徵的時候最好……主成分分析法的證明過程可以看出,他能保證對於取得的特徵根最大的值,一定是方差最大的,而缺少對於提取k維特徵是最好的定義。畢竟這樣提取的結果也包括方差最小的(特徵根最小)。
證明
來自ZJU潘綱老師課件// 後來看到請勿上傳外網還是算惹
這個markdown公式長這樣毫無重新輸一遍的熱情……
然後這個鏈接會全一點 把兩種定義都證了
http://www.cnblogs.com/pinard/p/6239403.html