主成分的java版_数据降维:主成分分析法

前言

什么叫做主成分分析法,我们先看一张图椭圆的图,如果让你找一条线,使得椭圆上所有点在该线上映射的点最分散,保留下来的信息最多,你会怎么选择这条线?若是下图,会选择水平线,这是用一维的方式去尽可能多的表示二维的数据,那么多维的数据呢,是否可以用较低维的数据尽可能表示。

a94712948ae4bafb00fe89ced88c7002.png

如何用二维的平面去尽可能表示一个椭球面呢?

327b293ee2da5c6351f4ade18857e9d4.png

思想

主成分分析法是一种统计方式,简化数据的方式,是一种线性变换,把数据变换到新的坐标系中,使得任意投影的第一大方差映射到第一主成分上,第二大方差映射到第二主成分上。如果舍弃高维的主成分,一般可以达到保留对方差贡献最大的特征,在一些方面上,可以保留数据的主要特征,当然,为了数据更好看,我们会把坐标轴的中心移到数据的中心,这可以让数据处理起来更方便。

01374971c3ddfca597be2d7588ce73f6.png

在数学上

在数学上,我们用 $L^2$ 范数的平方($L^2$范数的平方与其本身在相同位置取得最小值,单调递增,性质更好)来计算,x 为输入,$c^*$ 为最优编码:

$$ c^*=(L^2)^2=argmin_c||x-g(c)||_2^2 \\ =(x-g(c))^T(x-g(c)) \\ =x^Tx-2x^Tg(c)+g(c)^Tg(c) \\ =argmin_c-2x^TDc+c^TI_lc \\ (其中c=f(x),g(c)=Dc) \\ \therefore\nabla_c(-2x^TDc+c^Tc)=0 \\ c=f(x)=D^Tx $$

由上可知,若要得到c只需要一个矩阵乘法。定义重构操作:

$$ r(x)=g(f(x))=DD^Tx \\ D^*=argmin_D\sqrt{\sum_{i,j}(x_j^{(i)}-r(x^{(i)})_j)^2} \\ 其中D^TD=I_l $$

经过复杂的 推导,用数学归纳法可以证明,矩阵 D 可以由前 $X^TX$ 的前 $l$ 个最大的特征值对应的特征向量组成。

总结

主成分分析法主要用于数据降维,目标为尽量减少原数据的损失的情况下,尽可能减少数据量。

本文首发自RAIS

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值