机器学习实战——主成分分析

机器学习实战——主成分分析

1 主成分分析

主成分分析(Principal Component Analysis,PCA)是一种统计方法,通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。即通过正交变换之后,数据在变换后所构建的超平面上的投影尽可能分散,其分散程度可以通过方差来衡量,方差越大,投影之后的数据越分散。根据线性代数中的线性变换理论,方差的大小可以通过数据矩阵的特征值来衡量。

以下图中的二维数据为例,样本点在 B 上的投影较分散,可以把原来的二维降低为一维;对于高维数据,通过正交变换,第一个坐标轴选择原始数据中方差最大的方向,即最大特征值对应的特征向量,第二个坐标轴选择方差第二大的方向,即第二大的特征值对应的特征向量,其余轴的选择以此类推。
在这里插入图片描述
具体的原理解释可以参考这篇文章,其求解步骤如下:

对所有的样本求均值,并做去中心化处理;
计算协方差矩阵;
计算协方差矩阵的特征值和特征向量;
将特征值从大到小排序;
保留最前面的 N 个特征向量;
将数据转换到上述 N 个特征向量构建的新空间中。

其他常用的降维方法有因子分析与独立成分分析。因子分析(Factor Analysis),假设在观察数据的生成中有一些观察不到的隐变量,假设观察数据是这些隐变量和某些噪声的线型组合,就可以通过找到隐变量实现数据的降维;独立成分分析(Independent Component Analysis,ICA),ICA 假设是从 N 个数据源生成,数据为多个数据源的混合观察结果,这些数据源之间在统计上是相互独立的,如果数据源的数目少于观察数据的数目,就可以实现降维过程。

2 sklearn中的实现

在 sklearn 中常用的主成分分析的类有 KernelPCA、SparsePCA、IncrementalPCA、PCA 四种,KernelPCA 主要用于非线性数据的降维,需要用到核技巧,在使用的时需要选择合适的核函数,并对核函数的参数进行调参;IncrementalPCA

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值