(此博文只是自己的學習筆記,不具參考價值)
pca演算法將高維特徵轉換成低維特徵(非線性相關),同時減小計算量。
將原始資料按列組成m
mm行n
nn列矩陣x
xx(m
mm個屬性,n
nn個樣本)
將x
xx的每一行(代表乙個屬性字段)進行零均值化,即減去這一行的均值,得到x′x'
x′求出協方差矩陣c
cc(計算方法見下文)
求出協方差矩陣c
cc的特徵值及對應的特徵向量
將特徵向量按對應特徵值大小從上到下按行排列成矩陣,取前k
kk行組成矩陣pppy
=p×x
y = p\times x
y=p×
x即為降維後的資料(k
kk個屬性,m
mm個樣本)
([k, n] = [k, m] ×
\times
× [m, n])
關於協方差
協方差的定義:
協方差表示的是兩個變數總體誤差的期望,如果兩個變數的變化趨勢一致,也就是說如果其中乙個大於自身的期望值時另外乙個也大於自身的期望值,那麼兩個變數之間的協方差就是正值。反之。
協方差計算公式:
c ov
(x,y
)=e[
(x−e
(x))
(y−e
(y))
]cov(x, y) = e[(x-e(x))(y-e(y))]
cov(x,
y)=e
[(x−
e(x)
)(y−
e(y)
)]協方差矩陣:
c =1
/m×x
′x′t
c = 1 / m \times x' x'^
c=1/m×
x′x′
t(計算每個屬性與其他屬性的協方差,最後除以樣本個數m
mm)。可以看到,協方差矩陣是沿對角線對稱的。
關於特徵值
假設現在求解矩陣a
aa的特徵值λ
\lambda
λ:∣ a−
λe∣=
0|a - \lambda e| = 0
∣a−λe∣
=0,求出特徵值λ
t\lambda_t
λt後,將x代入之前矩陣,用高斯消元法求出它對應的特徵向量[x
1x_1
x1, x
2x_2
x2, x
3x_3
x3, …, x
mx_m
xm]。
PCA學習筆記
pca主要是定義乙個x對映到z,且只能在訓練集裡使用pca 當定義完之後,就可以進行交叉驗證和測試集裡使用 主要功能 減少儲存資料需要的空間 加速學習的演算法 錯誤1使用pca減少資料維度去解決過擬合 應該使用正則化,利用線性回歸等去處理 因為pca會損失一些維度資訊,可能會漏掉重要資訊 而正則化的...
PCA降維演算法
文章由兩部分構成,第一部分主要講解pca演算法的步驟,第二部分講解pca演算法的原理。那麼首先進入第一部分 pca演算法的步驟 樣本矩陣x的構成 假設待觀察變數有m個,其實相當於乙個資料在m維各維度上的座標,我們的目標是在保證比較資料之間相似性不失真的前提下,將描述資料的維度盡量減小至l維 l樣本矩...
PCA演算法和例項
演算法步驟 假設有m條n維資料。1.將原始資料按列組成n行m列矩陣x 2.將x的每一行 代表乙個屬性字段 進行零均值化,即減去這一行的均值 3.求出協方差矩陣c 1 mxxt 4.求出協方差矩陣的特徵值以及對應的特徵向量 5.將特徵向量按對應特徵值大小從上到下按行排列成矩陣,取前k行組成矩陣p 6....