本文主要參考周志華老師的西瓜書,對PCA算法的原理作簡單總結。算法
1. 基本原理優化
通常來講,但願得到低維子空間,最簡單的是對原始高維空間進行線性變換。給定d維空間中的樣本X=(x1,x2,...,xm)∈Rd*m,變換以後獲得d'≤d維空間中的樣本排序
Z = WTX原理
其中W∈Rd*d'是變換矩陣,Z∈Rd'*m是樣本在新空間中的表示。方法
基於線性變換進行降維的方法稱爲線性降維方法,都符合上式的基本形式。總結
所以,要求得新座標須要先求得W。
2. 優化目標及求解思路
優化目標爲W使得樣本在新座標系中的投影儘可能可以分開(方差和最大)。
投影后的樣本點方差爲∑iWTxixiTW,則優化目標可寫爲
max tr(WTXXTW)
s.t. WTW=I
使用拉格朗日乘子法可得
XXTW = λW
爲求得W,轉化爲求協方差矩陣XXT的特徵向量(λ爲特徵值)。對協方差矩陣XXT進行特徵值分解,將求得的特徵值(表明方差大小)排序,取前d’個特徵值對應的特徵向量構成W=(w1,w2,...,wd'),即爲主成分分析的解。
3. 算法描述
輸入:樣本集D={(x1,x2,...,xm};低維空間維數d‘。
1. 對全部樣本進行中心化:xi←xi−1/m*∑xi
2. 計算樣本的協方差矩陣XXT
3. 對協方差矩陣作特徵值分解
4. 取最大的d'個特徵值對應的特徵向量w1,w2,...,wd'
輸出:投影矩陣W=(w1,w2,...,wd')。