优达机器学习:主成分分析(PCA)

  • 主成分是由数据中具有最大方差的方向决定的,因为可以最大程度的保留信息量

  • 我理解相当于降维,也就是将特征通过降维的方式减少

  • 方差最大化相当于将所有的距离最小化,这个方差和平时理解的方差不太一样

  • PCA可以帮助你发现数据中的隐藏特征,比如说得到总体上有两个因素推动房价变动,至于是什么,要自己看数据去判断

优达机器学习:主成分分析(PCA)

主成分分类最大值等于训练点数量和特征数量的最小值

优达机器学习:主成分分析(PCA)

PCA的特点

  • PCA将输入特征转化为主成分的系统化方式
  • 这些主成分可以作为新特征使用
  • 主成分的定义是数据中会使方差最大化的方向,将出现信息丢失的可能性降至最低
  • 可以对主成分划分等级,数据因特定主成分而产生的方差越大,那么该主成分的级别越高,方差最大的主成分即为第一个主成分
  • 主成分在某种意义上是相互垂直的,第二个主成分基本不会与与第一个主成分重叠,可以将他们作为单独的特征对待
  • 主成分数量有限,最大值等于数据集中的输入特征数量

什么时候使用PCA

  • 想要访问隐藏的特征,这些特征可能隐藏显示在你的数据图案中
  • 降维
    • 可视化高维数据,比如说可视化只能看两个特征,但是当特征很多的时候就用得上了
    • 怀疑数据中存在噪声,可以帮助抛弃重要性小的特征,去除噪声
    • 让算法在少量的特征上更有效,比如说人脸识别,可以将维度降低1/10,然后使用svm来进行训练,之后发现被拍摄人的身份

PCA在人脸识别上的应用

PCA之所以在人脸识别上好用,主要原因
- 首先像素很多,可能有100万个像素点,缩减非常重要,svm很难处理100万
- 头像中存在一些普遍的模式,比如说有两个眼睛,适合PCA做主成分分析

练习:每个主成分的可释方差

  • answer:0.19346527、0.15116846

  • 首先要下载数据集,运行代码,这里要注意,数据集要放在根目录下,也就是如果是windows系统要放在C:\Users\YourName下面,而不是放在ud120-project下面

运行后会打印数据即可看到结果,如下图,结果就是前两个数字

优达机器学习:主成分分析(PCA)

练习:要使用多少个主成分?

  • could go either way

练习:F1分数与使用的主成分数

  • answer:better
  • 把[10, 15, 25, 50, 100, 250]和原来的150的分数都截了图,如下:

优达机器学习:主成分分析(PCA)

优达机器学习:主成分分析(PCA)

优达机器学习:主成分分析(PCA)

优达机器学习:主成分分析(PCA)

优达机器学习:主成分分析(PCA)

优达机器学习:主成分分析(PCA)

优达机器学习:主成分分析(PCA)

  • 可以看出来F1分数越高,则分类效果越好

练习:维度降低与过拟合

  • 会,PC 较多时性能会下降

  • 根据上面的图可以看出来,当250个特征的时候明显比100的下降了

练习:选择主成分

主要的方法就是尝试,直到到某一点时增加会导致下降或者不动,那说明到头了