機器學習:降維演算法-主成分分析PCA演算法兩種角度的推導
阿新 • • 發佈:2019-02-13
若把高維空間的樣本點(可以想象是一個3維的)對映到一個超平面,怎樣的超平面可以認為是“好的”,可以想到這個超平面大概有這樣的性質:
- 最近重構行:樣本點到超平面的距離都足夠近;(樣本點變化儘可能小,丟失的資訊儘可能少)
- 最大可分性:樣本點在這個超平面上的投影儘可能分開.(樣本點在低維空間區分度儘可能高)
神奇的是,從兩個角度出發,可以分別得到主成分分析PCA演算法的兩種等價推導。
根據最近重構性推導:
假設樣本進行了中心化,即:
.
假設投影變換後新的座標系為W={},其中是標準正交基向量,.
若丟棄座標系中部分座標,即將維度降低到d'<d,得到={},則樣本點在低維座標系中的投影為
(上式只是原樣本點的的近似,因為丟棄了部分座標).
對於整個樣本集,原樣本點和基於投影重構的樣本點間的距離為:
.
根據最近重構性,上式應被最小化,得到主成分分析的優化目標:
.
根據最大可分性推導:
投影后,樣本點的方差之和為(樣本X已中心化:,所以投影后的Z也是中心化的):
.
根據最大可分性,投影后的樣本點應儘量分開,所以方差應儘量大,於是從最大可分性角度得到主成分分析的優化目標:
.
顯然,跟從最近重構性角度得到的優化目標是等價的。
發現須是的特徵向量。於是,對進行特徵值分解,將求得的特徵值排序:,取前d'個特徵值對應的特徵向量構成
演算法描述如下:
其他補充:
有三種方法確定降維後的維度d':
- 人為指定;
- 在d'值不同的低維空間對k近鄰分類器(或其他開銷較小的學習器)進行交叉驗證來選取較好的d'值;
- 設定一個重構閾值,如t = 95%,然後選取使 成立的最小d'值.
PCA演算法除了儲存投影矩陣,還需儲存樣本的均值向量,這是為了對新樣本同樣進行中心化。PCA降維看似捨棄了一部分資訊,但這麼做是必要的:1、這樣做使樣本的取樣密度增大
參考資料:
周志華《機器學習》
參考博文:
相關博文: