PCA算法笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Site1997/article/details/83765139

(此博文只是自己的学习笔记,不具参考价值)

Principal component analysis (PCA)

PCA算法将高维特征转换成低维特征(非线性相关),同时减小计算量。

原理

  1. 将原始数据按列组成mmnn列矩阵XXmm个属性,nn个样本)
  2. XX的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值,得到XX'
  3. 求出协方差矩阵CC(计算方法见下文)
  4. 求出协方差矩阵CC的特征值及对应的特征向量
  5. 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前kk行组成矩阵PP
  6. Y=P×XY = P\times X即为降维后的数据(kk个属性,mm个样本)
    ([k, n] = [k, m] ×\times [m, n])

关于协方差

协方差的定义:
   协方差表示的是两个变量总体误差的期望,如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。反之。
协方差计算公式:
  Cov(x,y)=E[(xE(x))(yE(y))]Cov(x, y) = E[(x-E(x))(y-E(y))]
协方差矩阵:
  C=1/m×XXTC = 1 / m \times X' X'^{T}(计算每个属性与其他属性的协方差,最后除以样本个数mm)。可以看到,协方差矩阵是沿对角线对称的。

关于特征值

  假设现在求解矩阵AA的特征值λ\lambda
  AλE=0|A - \lambda E| = 0,求出特征值λt\lambda_t后,将x代入之前矩阵,用高斯消元法求出它对应的特征向量[x1x_1, x2x_2, x3x_3, …, xmx_m]。

参考文献:

https://www.cnblogs.com/mikewolf2002/p/3429711.html

展开阅读全文

没有更多推荐了,返回首页