PCA算法笔记

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

Principal component analysis (PCA)

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

原理

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

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

关于特征值

  假设现在求解矩阵 A A A的特征值 λ \lambda λ
   ∣ A − λ E ∣ = 0 |A - \lambda E| = 0 AλE=0,求出特征值 λ t \lambda_t λt后,将x代入之前矩阵,用高斯消元法求出它对应的特征向量[ x 1 x_1 x1, x 2 x_2 x2, x 3 x_3 x3, …, x m x_m xm]。

参考文献:

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值