PCA算法的详细数学推导

PCA(主成分分析)是一种常用的降维方法,通过寻找正交基底最大化方差来实现特征提取。数学推导中,PCA首先对数据进行去中心化处理,然后构建协方差矩阵并求解其特征向量,对应特征值最大的向量作为第一主成分。通过依次求解正交的特征向量,构建降维后的特征空间。PCA的优化问题涉及最大特征值的寻找,通过拉格朗日乘数法解决。算法步骤包括计算协方差矩阵、求解特征值和特征向量,选取所需降维数目的主成分。PCA可视为线性自动编码器的一种形式。
摘要由CSDN通过智能技术生成

PCA的数学推导

原理介绍

PCA算法是一个用途非常广的降维手段,这种方法其实是一种特征提取方法(feature extraction),是对原始特征进行变化之后的降维压缩,需要注意的是,这并不是特征选择(feature selection)。PCA的基本思想就是,寻找一组正交基底,使得原始数据的空间发生变化,使得在新的空间的各个维度上方差最大化(通常认为,特征方差越大的特征,包含的信息越重要),总体可以概括为:降低特征空间维度;消除原有特征之间的相关度,减少数据信息的冗余。PCA需要解决的问题是,找到一组k维正交基底,使得新的特征内部方差最大,特征间相关程度最小,所以从这个角度上来看,PCA也是一个优化问题,下面的数学推导就将按照优化的步骤进行。

数学推导

假设我们有一个样本集,每个样本的特征为N,样本容量为p,那么我们用一个向量来表示这个样本集,每一个列向量为一个样本,每一行则为一个特征:
X = ( x 1 , x 2 , . . . , x p ) = ( x 1 1 , x 2 1 , . . . , x p 1 x 1 2 , x 2 2 , . . . , x p 2 . . . . . . x 1 N , x 2 N , . . . , x p N ) X = \begin{pmatrix} x_1,x_2,...,x_p \end{pmatrix} = \begin{pmatrix} x_11,x_21,...,x_p1 \\ x_12,x_22,...,x_p2 \\ ......\\ x_{1N},{x_2N},...,{x_pN} \end{pmatrix} X=(x1,x2,...,xp)=x11,x21,...,xp1x12,x22,...,xp2......x1N,x2N,...,xpN
显然,向量X是一个Np的矩阵,每一个 x i x_i xi为一个N1的矩阵。
我们希望获得一个M个N维分量A,A的形状为M*N,与 x i x_i xi相乘之后,即可将 x i x_i xi变化为一个M维的向量,实现降维的目的:
A = ( a 1 a 2 . . . a M ) A= \begin{pmatrix} a_1 \\ a_2 \\ ... \\ a_{M} \\ \end{pmatrix} A=a1a2...aM

其中,每一个 a i a_i ai都是一个1*N维的行向量。接下我们对原始数据进行去中心化处理,这样的目的是为了消除量纲的影响,均值 X ˉ \bar{X} Xˉ的计算如下:
X ˉ = 1 p b ∑ i = 1 p x i \bar{X}=\frac 1pb\sum_{i=1}^{p}{x_i} Xˉ=p1bi=1pxi
最后,我们得到的降维结果为:
Y = A ( X − X ˉ ) = ( a 1 a 2 . . . a M ) ( x 1 , x 2 , . . . , x p ) = ( a 1 ( x 1 − X ˉ ) , a 1 ( x 2 − X ˉ ) , . . . , a 1 ( x p − X ˉ ) a 1 ( x 2 − X ˉ ) , a 1 ( x 2 − X ˉ ) , . . . , a 1 ( x 2 − X ˉ ) . . . . a M ( x 1 − X ˉ ) , a M ( x 2 − X ˉ ) , . . . , a M ( x p − X ˉ ) ) Y= A(X-\bar{X})= \begin{pmatrix} a_1 \\ a_2 \\ ... \\ a_M \\ \end{pmatrix} \begin{pmatrix} x_1,x_2,...,x_p \end{pmatrix}= \begin{pmatrix} a_1(x_1-\bar{X}),a_1(x_2-\bar{X}),...,a_1(x_p-\bar{X}) \\ a_1(x_2-\bar{X}),a_1(x_2-\bar{X}),...,a_1(x_2-\bar{X}) \\ .... \\ a_M(x_1-\bar{X}),a_M(x_2-\bar{X}),...,a_M(x_p-\bar{X}) \\ \end{pmatrix} Y=A(XXˉ)=a1a2...aM

  • 7
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值