[机器学习笔记]Note12--降维

本文是机器学习课程的笔记,主要讲解降维方法,特别是主要成分分析(PCA)。降维的主要动机包括数据压缩和可视化。PCA通过找到最小化投射误差的方向向量来降低数据维度,其算法包括预处理、计算协方差矩阵和选择主要成分的数量。PCA在数据压缩和可视化方面有广泛应用,但在防止过拟合和默认使用上需谨慎。
摘要由CSDN通过智能技术生成

继续是机器学习课程的笔记,本节介绍的是降维方法,这也是非监督学习中的一个问题,主要介绍主要成分分析(Principal Component Analysis,PCA)算法。

降维

动机一:数据压缩

使用降维的一个原因是数据压缩。下面通过几个例子来介绍降维。

第一个例子是将数据从二维降至一维。假设我们要采用两种不同的仪器来测量一些东西的尺寸,其中一个仪器测量结果的单位是英尺,另一个仪器测量的结果单位是厘米,我们希望将测量的结果作为机器学习的特征。现在的问题是,两种仪器对同一个东西测量的结果不完全相等(由于误差、精度等),而将两者都作为特征有些重复,因而,我们希望将这个二维的数据降至一维。如下图所示:

这里写图片描述

具体做法就是,找出一条合适的直线,如上图下方那条直线,然后将所有的数据点都投射到该直线上,然后用 z(i) 标识,这样便完成了从二维数据 x(i) 向一维数据 z(i) 的映射。这样得到的新特征只是原有特征的近似,但好处是将需要的存储、内存占用量减半,而已可以让使用这些数据的算法运行得更快

第二个例子是将数据从三维降至二维。这个例子的过程与上面类似,是将三维向量投射到一个二维平面上,强迫使得所有的数据都在同一个平面上,降至二维的特征向量。

这里写图片描述

这样的处理过程可以被用于把任何维度的数据都降到任何想要的维度,如将1000维的特征降至100维。

动机二:数据可视化

在许多机器学习问题中,如果我们能将数据可视化,这有助于我们寻找到一个更好的解决方案,而降维可以帮助做到数据可视化。

一个例子是假设现在有关于许多不同国家的数据,每一个特征向量都有50个特征(如,GDP,人均GDP,平均寿命等),如下图所示。

这里写图片描述

如果要将这个50维的数据可视化是不可能的,但是使用降维的方法将其降至2维,那就可以将其可视化。如下图所示,用新的特征 z1z2 来表现。

这里写图片描述

这样的问题就是,降维的算法只负责减少维度,而新特征的意义就必须由我们自己去发现了。对于上述例子,我们根据新的二维特征画出一个二维图,如下图所示,用点 z(i) 表示每个国家,那么可能会发现水平轴可能对应的是一个国家的面积或者是GDP,而纵轴计算对应人均GDP或者幸福感等。

这里写图片描述

主要成分分析(Principal Component Analysis,PCA)

主要成分分析时最常见的降维算法。

在PCA中,如果是将二维数据降至一维,我们要做的就是找到一个方向向量(Vector direction),当我们将所有的数据都投射到该向量上时,我们希望投射平均均方误差可以尽可能地小。方向向量时一个经过原点的向量,而投射误差是从特征向量向该方向向量作垂线的长度。如下图所示

这里写图片描述

下面给出PCA问题的一般描述:

  • 问题是将n维数据降至k维
  • 目标是找到向量 u(1),u(2),,u(k) 使得总的投射误差最小

    然后是比较PCA和线性回归的,这两种算法是不同的算法。PCA最小化的是投射误差,而线性回归尝试的是最小化预测误差。线性回归的目的是预测结果,而PCA不作任何预测。如下图所示

    这里写图片描述

左图是线性回归的误差,而右图是PCA的误差。

PCA算法

接下来是介绍PCA的具体实现过程。

首先是预处理过程,做的是均值归一化。需要计算出所有特征的均值 μj=1mmi=1x(i)j ,然后令 xj=x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spearhead_cai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值