机器学习算法~主成分分析(PCA)

主成分分析:降维算法
作用:1、数据压缩; 2、数据降维,可视化。
1、先看看1、数据压缩untitled


2、数据降维可视化2



综合来看,主成分分析就是,找到一个方向u1,可以最小化方向误差如下面两幅图所示




那么扩展到N维到K维,也就是在数据中找出K个方向向量u1, u2, u3, u4......uk, 使得总的方向误差最小。
需要强调的是,PCA是和线性回归不一样的

PCA是一种常用的降维算法,它可以用来选取合适的方向向量。这里用投影误差来定量分析方向向量的优势。
投影误差就是数据点到方向向量的距离,也就是图中的蓝色线段长度。
线性回归也是得到一个拟合数据的直线。不同的是,PCA中的误差是点到直线的垂直距离,线性回归中的误差是点到直线的竖直距离:5




1. 数据预处理:mean normalization

feature scaling:(可选,不同特征范围差距过大时需要)
2. 计算协方差矩阵(Convariance Matrix)


3. 计算协方差矩阵Σ的特征向量[U, S, V] = svd(Sigma) ,得到矩阵U


4. 选择U矩阵的前k个列向量作为k个主元方向,形成矩阵,如上图公式中。


5. 对于每个原始数据点x(x 是N维数据)其降维后的数据点z(k维)


应用PCA

重构数据:对于降维后k维数据点z,将其恢复n维后的近似点为


选择K

平均投射误差(Average square projection error)
total variation

选择最小的k值使得


也可以使用SVD分解后的S矩阵进行选择

降维后,可以这样复原

因为Z是由X乘以变换矩阵U的转置得到的。

应用PCA的建议

  • 用于加速监督式学习:(1) 对于带标签的数据,去掉标签后进行PCA数据降维
                                                (2)使用降维后的数据进行模型训练

                                                (3) 对于新的数据点,先PCA降维得到降维后数据,带入模型获得预测值

        注:应仅用训练集数据进行PCA降维获取映射 , 不要用PCA阻止过拟合,用regularization。

              在使用PCA之前,先用原始数据进行模型训练,如果不行,再考虑使用PCA;而不要上来直接使用PCA。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值