吴恩达机器学习笔记:第 8 周-14降维(Dimensionality Reduction) 14.3-14.5

目录

  • [第 8 周 14、 降维(Dimensionality Reduction)](#第 8 周 14、 降维(Dimensionality Reduction))
    • [14.3 主成分分析问题](#14.3 主成分分析问题)
    • [14.4 主成分分析算法](#14.4 主成分分析算法)
    • [14.5 选择主成分的数量](#14.5 选择主成分的数量)

第 8 周 14、 降维(Dimensionality Reduction)

14.3 主成分分析问题

主成分分析(PCA)是最常见的降维算法。

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

下面给出主成分分析问题的描述:

问题是要将𝑛维数据降至𝑘维,目标是找到向量 u ( 1 ) , u ( 2 ) , . . . , u ( k ) u^{(1)} ,u^{(2)} ,...,u^{(k)} u(1),u(2),...,u(k)使得总的投射误差最小。

主成分分析与线性回顾的比较:

主成分分析与线性回归是两种不同的算法。主成分分析最小化的是投射误差(Projected Error),而线性回归尝试的是最小化预测误差。线性回归的目的是预测结果,而主成分分析不作任何预测。

PCA 将𝑛个特征降维到𝑘个,可以用来进行数据压缩,如果 100 维的向量最后可以用 10维来表示,那么压缩率为 90%。同样图像处理领域的 KL 变换使用 PCA 做图像压缩。但 PCA要保证降维后,还要保证数据的特性损失最小。

PCA 技术的一大好处是对数据进行降维的处理。我们可以对新求出的"主元"向量的重要性进行排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到降维从而简化模型或是对数据进行压缩的效果。同时最大程度的保持了原有数据的信息。

PCA 技术的一个很大的优点是,它是完全无参数限制的。在 PCA 的计算过程中完全不需要人为的设定参数或是根据任何经验模型对计算进行干预,最后的结果只与数据相关,与用户是独立的。

但是,这一点同时也可以看作是缺点。如果用户对观测对象有一定的先验知识,掌握了数据的一些特征,却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,效率也不高。

14.4 主成分分析算法

PCA 减少𝑛维到𝑘维:

  1. 第一步是均值归一化。我们需要计算出所有特征的均值,然后令 x j = x j − μ j x_j= x_j − μ_j xj=xj−μj。如果特征是在不同的数量级上,我们还需要将其除以标准差 σ 2 σ^2 σ2。
  2. 第二步是计算协方差矩阵(covariance matrix)𝛴:
    Σ = 1 m ∑ i = 1 n ( x ( i ) ) ( x ( i ) ) T Σ = \frac{1}{m}\sum_{i=1}^{n}{(x^{(i)}) (x^{(i)})^T} Σ=m1i=1∑n(x(i))(x(i))T
  3. 第三步是计算协方差矩阵𝛴的特征向量(eigenvectors):在 Octave 里我们可以利用奇异值分解(singular value decomposition)来求解,[U, S, V]= svd(sigma)。

对于一个 n × n维度的矩阵,上式中的𝑈是一个具有与数据之间最小投射误差的方向向量构成的矩阵。如果我们希望将数据从𝑛维降至𝑘维,我们只需要从𝑈中选取前𝑘个向量,获得一个𝑛 × 𝑘维度的矩阵,我们用𝑈𝑟𝑒𝑑𝑢𝑐𝑒表示,然后通过如下计算获得要求的新特征向量𝑧(𝑖):
z ( i ) = U r e d u c e T ∗ x ( i ) z^{(i)} = U_{reduce}^T∗ x^{(i)} z(i)=UreduceT∗x(i)

其中𝑥是𝑛 × 1维的,因此结果为𝑘 × 1维度。注,我们不对方差特征进行处理。

14.5 选择主成分的数量

主要成分分析是减少投射的平均均方误差:

训练集的方差为: 1 m ∑ i = 1 m ∣ ∣ x ( i ) ∣ ∣ 2 \frac{1}{m}\sum_{i=1}^m{||x^{(i)}||^2} m1∑i=1m∣∣x(i)∣∣2

我们希望在平均均方误差与训练集方差的比例尽可能小的情况下选择尽可能小的𝑘值。如果我们希望这个比例小于 1%,就意味着原本数据的偏差有 99%都保留下来了,如果我们选择保留 95%的偏差,便能非常显著地降低模型中特征的维度了。

我们可以先令𝑘 = 1,然后进行主要成分分析,获得𝑈𝑟𝑒𝑑𝑢𝑐𝑒和𝑧,然后计算比例是否小于1%。如果不是的话再令𝑘 = 2,如此类推,直到找到可以使得比例小于 1%的最小𝑘 值(原因是各个特征之间通常情况存在某种相关性)。

还有一些更好的方式来选择𝑘,当我们在 Octave 中调用"svd"函数的时候,我们获得三个参数:[U, S, V] = svd(sigma)。

其中的𝑆是一个𝑛 × 𝑛的矩阵,只有对角线上有值,而其它单元都是 0,我们可以使用这个矩阵来计算平均均方误差与训练集方差的比例:

相关推荐
格林威38 分钟前
传送带上运动模糊图像复原:提升动态成像清晰度的 6 个核心方案,附 OpenCV+Halcon 实战代码!
人工智能·opencv·机器学习·计算机视觉·ai·halcon·工业相机
Aurora-Borealis.1 小时前
Day27 机器学习流水线
人工智能·机器学习
黑符石3 小时前
【论文研读】Madgwick 姿态滤波算法报告总结
人工智能·算法·机器学习·imu·惯性动捕·madgwick·姿态滤波
JQLvopkk3 小时前
智能AI“学习功能”在程序开发部分的逻辑
人工智能·机器学习·计算机视觉
jiayong234 小时前
model.onnx 深度分析报告(第2篇)
人工智能·机器学习·向量数据库·向量模型
张祥6422889044 小时前
数理统计基础一
人工智能·机器学习·概率论
悟乙己4 小时前
使用TimeGPT进行时间序列预测案例解析
机器学习·大模型·llm·时间序列·预测
云和数据.ChenGuang5 小时前
人工智能实践之基于CNN的街区餐饮图片识别案例实践
人工智能·深度学习·神经网络·机器学习·cnn
人工智能培训6 小时前
什么是马尔可夫决策过程(MDP)?马尔可夫性的核心含义是什么?
人工智能·深度学习·机器学习·cnn·智能体·马尔可夫决策
木头左6 小时前
基于集成学习的多因子特征融合策略在指数期权方向性预测中的应用
人工智能·机器学习·集成学习