【机器学习】降维

本文介绍了机器学习中的降维技术——主成分分析(PCA),旨在通过数据压缩和可视化来理解PCA的基本原理和应用。PCA通过找到数据的主成分,实现数据的低维表示,减少了内存占用并加速了学习算法。文章讨论了PCA的预处理步骤、算法流程,并提供了PCA在数据恢复和主成分数量选择方面的指导。同时,指出了PCA在避免过拟合和滥用上的常见误解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为机器学习的学习总结,讲解降维。欢迎在评论区与我交流

目标 I:数据压缩

数据压缩可以减少磁盘和内存的占用,也可以对学习算法进行加速。

在下面的例子中,我们取出一个问题中的两个特征进行分析,其中横轴为厘米表示的长度,纵轴为英尺表示的长度,因为四舍五入的存在,因此图像并不在一条直线上。这种情况造成了特征的高度冗余。

在这里插入图片描述

我们将点投影到一条直线上,每种颜色代表了一个点。此时只需要用一个数字 z z z 对每个样本点进行描述。这样,我们就可以减少一半的内存了。

在这里插入图片描述

再举一个 3D 到 2D 的例子。下图中左边坐标系中的点 x ( i ) ∈ R 3 x^{(i)}\in \mathbb{R^3} x(i)R3,这些点大都分布在一个平面内,降维就是将这些点投影到一个二维平面上(中间)。分别指定 z 1 , z 2 z_1,z_2 z1,z2 轴,于是我们可以将样本点用两个数字表示出来(右边),即 z ( i ) ∈ R 2 z^{(i)}\in \mathbb{R^2} z(i)R2

在这里插入图片描述

目标 II:可视化

降维还可以帮助我们对数据可视化,以便更好地了解数据。例如我们收集到了大数据集,记录了每个国家的情况,第一个特征为 GDP,第二个特征为人均 GDP 等,每个国家有 50 个特征:

dRLgD1.png

如果为了更好地了解数据集,我们可以通过降维的方式对数据进行可视化,这里降到 2 维:

dROdsA.png

因为降维后每个维度的意义将会发生改变,我们可以通过观察图像得到答案。在上图中,横轴代表全国总体 GDP 或寿命等,而纵轴代表人均 GDP 或寿命等。

主成分分析问题表述

PCA 是目前最流行的降维算法。下面我们介绍 PCA 算法。

假设在 R 2 \mathbb{R^2} R2 中有样本集 x x x,我们需要找一条好的直线投影样本数据,样本点与投影点间的距离要短,即图中的蓝色线段要短,使得蓝色线段的长度平方和最小。蓝色线短也称为投影误差:

在这里插入图片描述

PCA 算法就是找一个低维平面对样本数据集进行投影,使得投影误差最小。在使用 PCA 算法之前需要进行均值归一化和特征规范化,使得特征 x 1 , x 2 x_1,x_2 x1,x2 的均值为 0,且数值在可比较的范围内。之后将会处理两者的细节。

使用 PCA 算法将二维降到一维,我们需要找到一个向量 u ( i ) ∈ R n u^{(i)}\in\mathbb{R^n} u(i)Rn(这里为 R 2 \mathbb{R^2} R2),进行数据投影,从而最小化投影误差。在这里相反的向量方向都定义了同一条投影数据的直线。
在这里插入图片描述

更一般地,我们有 N N N 维数据,将其降为 K K K 维,我们需要寻找 K K K 个方向投影数据,从而最小化投影误差。例如我们有下面图中的三维点云,我们需要找出一对向量 u ( 1 ) , u ( 2 ) u^{(1)},u^{(2)} u(1),u(2),定义一个平面,将数据投影到 k = 2 k=2 k=2 维平面上(即投影到 k k k 个向量展开的线性子空间上),投影误差就是样本点与多维平面间的距离。

在这里插入图片描述

PCA 算法与线性回归比较像,但其实是两种不同的算法。在线性回归中(下图左边),我们需要拟合曲线,最小化样本点和预测值之间的平方误差,即蓝线之和的平方,注意这里线是垂直于 x 1 x_1 x1 轴的。
在这里插入图片描述

而在 PCA 中(上图右边),需要最小化最短的正交距离,即点与直线的距离,就是蓝线的距离,这里蓝线是垂直于直线的。

主成分分析算法

在使用 PCA 算法之前,需要数据预处理。首先执行均值标准化和特征缩放,这两部分与监督学习部分相同,见【多元线性回归】,这里仅简要说明。计算样本点均值 μ j = 1 m ∑ i = 1 m x j ( i ) \mu_j=\frac{1}{m}\sum\limits_{i=1}^mx_j^{(i)} μj=m1i=1mxj(i),用 x j ( i ) − μ j x_j^{(i)}-\mu_j xj(i)μj 替换 x j ( i ) x_j^{(i)} x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值