先用matlab試試樣本協方差:
>> x=[1,3;2,4;0,6]
x =1 3
2 4
0 6
注意,行表示樣本點,列表示屬性列向量。以前使用matlab習慣用列向量表示點。
以下去除平均值、中心化(類似移動座標系到樣本質心)
>> removmeanx=x-[mean(x);mean(x);mean(x)]
removmeanx =
0 -1.3333
1.0000 -0.3333
-1.0000 1.6667
以下表示中心化前後樣本協方差不變,注意樣本協方差是對各屬性列而言。
>> covx=cov(x)
covx =
1.0000 -1.0000
-1.0000 2.3333
>> covremovmeanx=cov(removmeanx)
covremovmeanx =
1.0000 -1.0000
-1.0000 2.3333
以下表示中心化後,樣本協方差可用各屬性列點積得到,預設的cov()得到的是樣本無偏協方差。
(removmeanx'*removmeanx類似樣本慣性矩陣,對角為慣性矩,其他為慣性積。)
>> covremovmeanx_getbydot=removmeanx'*removmeanx/(3-1)
covremovmeanx_getbydot =
1.0000 -1.0000
-1.0000 2.3333
>> [v,d]=eig(covremovmeanx)
v =-0.8817 -0.4719
-0.4719 0.8817
d =0.4648 0
0 2.8685
>> v*d
ans =
-0.4098 -1.3535
-0.2193 2.5291
>> d*v
ans =
-0.4098 -0.2193
-1.3535 2.5291
>> covremovmeanx*v
ans =
-0.4098 -1.3535
-0.2193 2.5291
(設樣本中心化後座標係為er,慣性主座標係為ep,則v為er到ep的過渡矩陣,其列向量(特徵向量)為ep的單位基在er下的投影座標)
機器學習之PCA降維
1.前言 如果學習分類演算法,最好從線性的入手,線性分類器最簡單的就是lda,它可以看做是簡化版的svm,如果想理解svm這種分類器,那理解lda就是很有必要的了。2.線性判別分析 lda 1 lda思想 lda是一種監督學習的降維技術,也就是說它的資料集的每個樣本是有類別輸出的。這點和pca不同。...
PCA 資料降維實戰
資料降維是機器學習領域中非常重要的內容。降維就是指採用某種對映方法,將原高維空間中的資料點對映到低維度的空間中。降維的本質是學習乙個對映函式 f x y,其中x是原始資料點的表達,目前最多使用向量表達形式。y是資料點對映後的低維向量表達,通常y的維度小於x的維度 當然提高維度也是可以的 f可能是顯式...
機器學習(五)PCA資料降維
pca資料降維 一 pca 相關理論 pca演算法又稱主成分分析,是一種分析 簡化資料集的技術。主成分分析經常用於減少資料集的 維數,同時保持資料集中的對方差貢獻最大的特徵。pca 的數學定義是 乙個 正交化線性變換,把資料變換到乙個新的座標系統中,使得這一資料的任何投影的第一大方差在第乙個座標 稱...