PCA算法

  • PCA算法:主成分分析是一种非监督的降维方法,降维可以做特征筛选,降低训练复杂度。

  • 在信号学里,信噪比越大,说明数据质量越好。其中信号有较大的方差,噪声有较小的方差。

  • PCA正好可以借鉴信噪比这一理论,让数据在主轴上的投影方差最大。

方差公式

V(x)=1m∑i=1m(xi−x‾)2 V(x) = \frac{1}{m} \sum_{i=1} ^ m (x_i - \overline{x})^2 V(x)=m1i=1m(xix)2

PCA推导

  • 求方差最大化,可以令x‾=0\overline{x} = 0x=0

V(x)=1m∑i=1mxi2 V(x) = \frac{1}{m} \sum_{i=1} ^ m x_i ^2 \quad V(x)=m1i=1mxi2

  • 将所有样本映射到主轴w=(w1,w2)w = (w_1, w_2)w=(w1,w2),使VVV最大,即

V(x)=1m∑i=1m∣∣xi∣∣2 V(x) = \frac{1}{m} \sum_{i=1} ^ m || x^i ||^2 \quadV(x)=m1i=1mxi2

  • 样本点$ X^i = (X^{i}_1, X^{i}_2) 到主轴到主轴 w = (w_1, w_2) $的距离表示

Xiw=∣∣Xi∣∣∗∣∣w∣∣∗cosθ X^i w = ||X^i||*||w||*cos \theta \quadXiw=Xiwcosθ

Xiw=∣∣Xi∣∣ X^i w = ||X^i|| \quadXiw=Xi

** 损失函数 **

maxV(x)=1m∑i=1m(Xiw)2 max \quad V(x) = \frac{1}{m} \sum_{i=1} ^ m ( X^i w )^2 \quad maxV(x)=m1i=1mXiw2

maxV(x)=1m∑i=1m(X1iw1+X2iw2+X3iw3+…+Xniwn)2 max \quad V(x) = \frac{1}{m} \sum_{i=1} ^ m ( X^{i}_1 w_1 + X^{i}_2 w_2 + X^{i}_3 w_3 + … + X^{i}_n w_n)^2 \quadmaxV(x)=m1i=1mX1iw1+X2iw2+X3iw3++Xniwn2

maxV(x)=1m∑i=1m(∑j=1nXjiwj)2 max \quad V(x) = \frac{1}{m} \sum_{i=1} ^ m ( \sum_{j=1} ^ n X^{i}_j w_j )^2 \quadmaxV(x)=m1i=1mj=1nXjiwj2

梯度上升法求最优解

对损失函数求导

∂V(x)∂wj=2m(Xw)TX \frac{\partial V (x)}{\partial w_j} = \frac{2}{m} ( X w)^T X \quad wjV(x)=m2(Xw)TX

=2mXT(Xw) = \frac{2}{m} X^T (X w) \quad=m2XTXw)

欢迎大家交流学习,任何问题都可以留言
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐