我想如果線性代數中向量空間的基底、坐標、基變換與坐標變換的內容理解的比較成熟的話,那么對理解PCA和SVD的理解將是水到渠成的事。
一.數學基礎
基底:
若α1,α2,...,αn為向量空間Rn的一線性無關的向量組,且Rn中任一向量均可由α1,α2,...,αn線性表示,則稱α1,α2,...,αn 為向量空間Rn的一個基底。
補充:
1.基底的特殊情況是 α1,α2,...,αn 相互正交而且都是單位向量,最最特殊的情況是單位矩陣E。
2.基底包含的向量個數=Rn 向量空間維數 <=向量維數。
坐標:
設α1,α2,...,αn 為向量空間Rn的一組基,對任意α屬於Rn,存在唯一一組數,使
α=x1α1+x2α2+...+xnαn=[α1,α2,...,αn]X
則X=(x1,x2,...,xn)是向量α在基α1,α2,...,αn 上的坐標。
補充:
1.基底與坐標的線性組合就是坐標表示的向量。
基變換與坐標變換
若α1,α2,...,αn 和β1, β2,...,βn 為向量空間Rn 中的兩組基,
則:
[β1, β2,...,βn]=[α1,α2,...,αn ]P
或
[α1,α2,...,αn ]=[β1, β2,...,βn]P-1
稱為基變換公式.其中可逆矩陣P稱為由基α1,α2,...,αn 到基 β1, β2,...,βn 的過渡矩陣。若向量α在基α1,α2,...,αn 和基 β1, β2,...,βn 上的坐標分別為X和Y,
即:
α=[α1,α2,...,αn]X =[β1, β2,...,βn]Y=[α1,α2,...,αn ]PY,
則:
X=PY
或
Y=P-1 X
稱為坐標轉換公式。
補充:
1.可逆矩陣P 的特殊情況為正交矩陣,正交轉換矩陣的特性是可以保持原向量之間的相對位置。
2.單就坐標而言,X是Y在P行向量上的投影。
3.當α1,α2,...,αn 是單位矩陣E,這時:
α=[α1,α2,...,αn]X=EX=X
[β1, β2,...,βn]=[α1,α2,...,αn ]P=E*P=P
α=[β1, β2,...,βn]Y=PY
而P是正交矩陣時,這就是PCA和SVD的應用環境。
二.PCA和SVD的應用
以PCA為例,
對以列向量為樣本的矩陣A(假設已經中心化),以AA’ 的特征向量矩陣 P 為過渡矩陣,這個P既是轉換矩陣、投影矩陣,又是基矩陣,列向量為基向量。P’*A即對A的轉換(坐標轉換,A就是坐標矩陣),這也是A的列向量向P’的行向量,即P的列向量的投影。結果就得到轉換后的坐標。
(若是以行向量為樣本的矩陣A(假設已經中心化),以A’A 的特征向量矩陣 P 為過渡矩陣,這個P既是轉換矩陣、投影矩陣,又是基矩陣,列向量為基向量。A*P即對A的轉換(坐標轉換,A就是坐標矩陣),這也是A的行向量向P的列向量的投影。)
由於轉換后的向量坐標方差降序(而且相鄰維度的協方差為零),所以末尾維度上的方差趨近零,所以所有樣本向量末尾維度上的坐標趨近均值且波動較小。而中心化的坐標均值為零,所以末尾維度上的坐標趨近於零。
有一中的知識,樣本向量
α=x1α1+x2α2+...+xnαn=[α1,α2,...,αn]X
由於所有αi 都是單位向量,所以模都為1;所以坐標為零的項可以忽略。這樣就是去掉了冗余,實現了壓縮存儲,和近似還原(失真還原)。