Machine Learning第八讲[非监督学习] --(三)主成分分析(PCA)

内容来自Andrew老师课程Machine Learning的第八章内容的Principal Component Analysis(PCA)部分。


一、Principal Component Analysis Problem Formulation(主成分分析构思)

首先来看一下PCA的基本原理:

PCA会选择投影误差最小的一条线,由图中可以看出,当这条线是我们所求时,投影误差比较小,而投影误差比较大时,一定是这条线偏离最优直线。

PCA的方向:


从图上的分析,我们可能很疑惑PCA和线性回归十如此地相似,那么两者是一回事吗?下面的图可以很好地给出解释:

总结:线性回归和PCA的最优模型都是最小化某个值,只是线性回归最小化预测值和真实值之间的误差,而PCA最小化投影误差。

二、Principal Component Analysis Algorithm(主成分分析算法)

主成分分析的具体流程为:

训练集:

1、数据预处理:计算均值,用替换(这样就使得所有特征均值为0),即若特征之间的值变化太大,可以进行特征缩放)

2、将数据从n维降到k维(k≤n)

(1)计算协方差:,其中是n*1矩阵(注意,∑不是求和而是协方差的符号

2)计算矩阵∑的特征向量:[ U, S, V ] = svd( Sigma ) = eig( Sigma),在做奇异值分解的时候,svd( )和eig( )的结果相同,但是svd( )相对稳定一些,能够得到U是n*n的矩阵,

[U,S,V]=svd(∑)=eig(∑)

注意:svd产生的U是由特征向量组成的,按照特征值大小排列的,即大的特征值对应的特征向量在前面,小的特征值对应的特征向量在后面。又特征值越大,说明此特征越重要,因此在下一步中可以取前K列特征(使得k固定的情况下,丢失最少的特征)。

(3)取U的前k列,记作,则



其算法流程如下:





推荐PCA系列文章:
PCA降维算法总结以及matlab实现PCA(个人的一点理解)

PCA 降维算法详解 以及代码示例

PCA的应用示例







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值