主成分分析(PCA)

PCA是一种降维的方法,用于将样本从较高的N维投影到较低的K维,PCA认为最好的K维空间是将样本点转换为K维后,每一维的样本方差都很大,方差较大保证了样本点在K维空间构成的超平面上的投影能尽可能的分开。

那么如何能找到符合条件的K维空间了?下面以将样本投影到某一维上为例:
首先对所有的样本进行中心化,即将样本减去他们的均值,

上图中 X i X_{i} Xi为其中一个样本点,将 X i X_{i} Xi投影到 u ( ∣ ∣ u ∣ ∣ = 1 ) u(||u||=1) uu=1

由于样本点已经进行中心化,所以其每一维特征均值都是0,因此投影到 u u u上的样本点的均值仍然是0。最佳的 u u u要使得投影后的样本点方差最大,方差可以用下面式子计算:

1 m ∑ i = 1 m ( X i T u ) 2 = 1 m ∑ i = 1 m u T X i ⋅ X i T u = u T ⋅ ( 1 m ∑ i = 1 m X i ⋅ X i T ) ⋅ u \frac{1}{m}\sum_{i=1}^m(X_{i}^{T}u)^2=\frac{1}{m}\sum_{i=1}^mu^{T}X_{i}\cdot X_{i}^{T}u=u^{T}\cdot(\frac{1}{m}\sum_{i=1}^{m}X_{i}\cdot X_{i}^{T})\cdot u m1i=1m(XiTu)2=m1i=1muTXiXiTu=uT(m1i=1mXiXiT)u

λ = 1 m ∑ i = 1 m ( X i T u ) 2 \lambda=\frac{1}{m}\sum_{i=1}^{m}(X_{i}^{T}u)^2 λ=m1i=1m(XiTu)2 ,   ∑ = 1 m ∑ i = 1 m X i ⋅ X i T \sum=\frac{1}{m}\sum_{i=1}^{m}X_{i}\cdot X_{i}^{T} =m1i=1mXiXiT   (X的协方差矩阵为 1 m − 1 ∑ i = 1 m X i ⋅ X i T \frac{1}{m-1}\sum_{i=1}^{m}X_{i}\cdot X_{i}^{T} m11i=1mXiXiT
则:
λ = u T ∑ u \lambda =u^{T}\sum u λ=uTu 
⟹ \Longrightarrow   λ u = u λ = u ⋅ u T ∑ u = ∑ u \lambda u=u\lambda=u\cdot u^{T}\sum u=\sum u λu=uλ=uuTu=u
⟹ \Longrightarrow   λ u = ∑ u \lambda u=\sum u λu=u

λ \lambda λ ∑ \sum 的特征值, u u u是特征向量。最佳投影直线是特征值 λ \lambda λ最大时对应的特征向量,其次是 λ \lambda λ第二大对应的特征向量,以此类推。

所以PCA算法如下:
输入:样本集 D = { X 1 , X 2 , . . . , X i , . . . , X m } , 低 维 空 间 维 数 K D=\{X_{1},X_{2},...,X_{i},...,X_{m}\},低维空间维数K D={X1,X2,...,Xi,...,Xm},K
过程:1.对所有样本进行中心化: X i ⟵ X i − 1 m ∑ i = 1 m X i X_{i}\longleftarrow X_{i}-\frac{1}{m}\sum_{i=1}^{m}X_{i} XiXim1i=1mXi
           2.计算样本的协方差矩阵 X X T XX^T XXT
           3.对协方差矩阵 X X T XX^{T} XXT做特征值分解
           4.取最大的K个特征值所对应的特征向量 W 1 , W 2 , . . . , W k W_{1},W_{2},...,W_{k} W1,W2,...,Wk
输出:投影矩阵 W ∗ = ( W 1 , W 2 , . . . , W k ) W^{*}=(W_{1},W_{2},...,W_{k}) W=(W1,W2,...,Wk)
将原数据与投影矩阵相乘即得到降维后的数据

由于数据进行了中心化,且协方差矩阵是对称的,所以 W i W_{i} Wi是标准正交基向量, ∣ W i ∣ = 1 , W i T W j = 0 |W_{i}|=1,W_{i}^{T}W_{j}=0 Wi=1,WiTWj=0


参考书籍:《机器学习》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值