机器学习(十七)主成分分析(Principle Component Analysis)

来源:互联网 发布:html5 javascript 编辑:程序博客网 时间:2024/06/05 03:17

PCA主成分分析

本文由 @lonelyrains出品,转载请注明出处。
文章链接: http://blog.csdn.net/lonelyrains/article/details/49615105

想法来源:数据压缩、可视化

PCA:主成分分析。目的就是把有意义的样本点数据适当地降维表达。如果是降到3维或者2维就可以可视化表达了。这其中,针对常用的样本点来说,肯定是有数据损失的。问题是如何将损失降到比较小。3维到2维的降维表达如下图:
这里写图片描述


PCA的算法

  • 样本属性缩放归一化,计算样本向量集的协方差矩阵
  • 计算协方差矩阵的特征向量矩阵U,将明显差异的左起K列挑出来UReduce,不明显的余下部分则近似认为是常数,以达到降维的目的
  • 提出来的K个特征向量与原样本集相乘,得到映射的K维样本集
    这里写图片描述
    上图中的U是一个nn的矩阵。要度量降维保真效果,可以用方差与模长平方比。如下图,则称保真度99%:
    这里写图片描述
    其中,svd函数(octavematlab都支持)返回的第二个矩阵S,斜对角值就是方差。如下图:
    这里写图片描述
  • 有降维肯定也要涉及怎么还原。还原公式如下图右下角手写部分:
    这里写图片描述

PCA与线性回归的不同

线性回归是不改变样本输入参数x⃗ 的情况下对结果集的拟合,所以如下图左侧;而PCA是同时改变x⃗ 和对应的结果集。至于为什么二维降一维时是如下右图垂线方向,因为涉及到复杂的数学推导,这里不作详细说明。会用就行了。
这里写图片描述


PCA的补充材料

PCA作用

因为PCA的本质作用就是降维,所以除了数据压缩、可视化,还可以在监督学习时降低维度以减小计算负担、提高计算速度。
但是如果监督学习时过度拟合,是不推荐用PCA来降低过拟合的,因为可以调参以增强正规化的效果、减少监督学习时的属性类型等来达到抑制过拟合。


特征向量

特征向量是个非常重要的概念。向量是变换的特征向量。变换所在的空间越高维,可能的特征向量就越多。

参考链接 Wikipedia、博客(该博客说明有误导性:特征向量的长度值经A矩阵变换之后是可变的,而方向不变。当且仅当特征值λ为1时,特征向量才长度不变)、百度百科。


0 0