從n維數據中提取最能表明這組數據的m個向量,也就是對數據進行降維(n->m),提取特徵。函數
找到一個向量\(\mu\),使n個點在其上的投影的方差最大(投影后的數據越不集中,就說明每一個向量彼此之間包含的類似信息越少,從而實現數據降維)優化
總的數據:spa
\[A = (x_1, x_2, \cdots , x_n)\]class
\(X\)的協方差:lambda
\[C = Cov(X) = \frac{1}{n}\sum_{i=1}^n(x_i-\overline{x})(x_i-\overline{x})^T\]數據
向量\(\mu\):di
\[|\mu| = 1 \Rightarrow \mu^T\mu = 1\]display
易知\(x_i\)在\(\mu\)上的投影爲\[(x_i-\overline{x})^T\mu\]math
由於\((x_i-\overline{x})\)均值爲0, 因此記其方差\(J\)爲tar
\[\frac{1}{n}\sum_{i=1}^n((x_i-\overline{x})^T\mu)^2\]
又由於上式平方項中爲標量,故能夠將\(J\)改寫爲
\[\frac{1}{n}\sum_{i=1}^n((x_i-\overline{x})^T\mu)^T((x_i-\overline{x})^T\mu)\]
化簡,得
\[\frac{1}{n}\sum_{i=1}^n\mu^T(x_i-\overline{x})(x_i-\overline{x})^T\mu\]
發現中間兩項是協方差,帶入,得
\[\mu^TC\mu\]
接下來就是一個在給定約束條件\(\mu^T\mu\) = 1,下的最優化問題,這裏使用Lagrange乘數法求解
構造Lagrange函數\[L(\mu, C, \lambda) = \mu^TC\mu + \lambda(1-\mu^T\mu)\]
關於\(\mu\)求偏導,得
\[\frac{\partial J}{\partial \mu} = 2C\mu - 2\lambda\mu\]
令其等於0,得
\[C\mu = \lambda\mu\]
是否是有點眼熟?
沒錯,\(\lambda\)就是\(C\)的特徵值(eigen-value),\(\mu\)就是\(C\)的特徵向量(eigen-vector)
所以,這個咱們要求的向量\(\mu\)就是\(C\)的特徵向量(要m個,就取前m個最大的特徵值對應的特徵向量)