分布式处理与计算:数据降维
一、主成分分析(PCA)
PCA 的目标是把高维数据投影到少数几个方向上,既保留尽量多的信息,又大幅降低维度。它有两个等价的视角:最大方差投影和最小重构误差——两条路推出来的最优方向是同一组特征向量。
⭐视角一:从最大方差考虑
给定训练样本 ,其中 。假设数据已被标准化(中心化),使得 。PCA 想找一个方向 (单位向量),使得原始数据在该方向上的投影 的方差最大。
投影后的方差为
其中 是样本协方差矩阵。于是优化问题写成(约束 为单位向量):
用拉格朗日乘子法,构造 ,对 求偏导并令其为零:
这正是特征方程。所以最优的 就是协方差矩阵 的最大特征值所对应的特征向量(此时方差 取最大)。
求第二个主成分:要求它在最大化方差的同时,与第一个主成分 正交。优化问题为
用带两个乘子的拉格朗日函数求导,可以得到 ,即 是第二大特征值对应的特征向量。依此类推,前 个主成分就是 前 大特征值对应的特征向量。
视角二:从最小重构误差考虑
换个角度:找一组正交基底 (),把每个样本用这组基表示。只保留前 个基方向做投影,得到近似(重构):
PCA 尝试最小化重构误差——原始点与其低维重构之间的平方距离之和:
推导后可以证明,这等价于取协方差矩阵前 个最大特征值对应的特征向量作为基底。也就是说,“投影后方差最大”与”重构误差最小”选出的是同一组方向——这就是 PCA 两个视角的统一。
二、正则化框架下的降维
除了 PCA 这种”换基投影”的降维,还可以在正则化框架下做降维:通过在损失里加惩罚项,让部分参数被压成 0,从而自动做变量选择(相当于在原始特征维度上降维)。
基于正则化框架的方法尝试解决如下问题:
可以通过中心化把常数项 移除(中心化后截距为 0),进而得到只含 的形式。
Lasso 估计取惩罚项为 范数,即
它等价于带约束形式 s.t. 。
L1 正则化产生稀疏性的原理
为什么 L1 正则能让模型参数变稀疏(很多恰好为 0)?
考虑最简单的一维情形。原始目标函数加上 L1 正则项后,目标函数变成 。此时最小值点常常恰好落在 处,于是产生了稀疏性。
原因很直观:加入 L1 正则项后,对带正则项的目标函数求导,正则项部分产生的导数在原点左边是 、在原点右边是 (因为 的导数是 )。因此,只要原目标函数在原点处导数的绝对值小于 ,那么带正则项的目标函数在原点左边始终递减、在原点右边始终递增——最小值点自然就卡在原点 处,该参数被直接压到 0。
对比之下,L2 正则项 在原点的导数是 0(平滑),不会制造这种”尖角”,所以 L2 只会把参数压小、不会压到恰好为 0。这就是 L1 稀疏、L2 不稀疏的根本原因。
三、总结
- PCA 两视角等价:最大方差投影 ⟺ 最小重构误差,选出的都是协方差矩阵 Σ 的前 d 大特征值对应的特征向量。
- 最大方差推导: s.t. → 拉格朗日求导得 → 最优方向是最大特征值的特征向量,方差就等于该特征值。
- 主成分排序:第 k 个主成分 = 第 k 大特征值对应的特征向量,且与前面的主成分正交。
- 前提:数据要先中心化(标准化)。
- 正则化降维:在损失上加惩罚做变量选择;Lasso = 平方损失 + λ‖β‖₁。
- L1 稀疏原理:|β| 的导数在原点左 −λ、右 +λ;只要原目标在原点导数绝对值 < λ,最小值就卡在 β=0,产生稀疏。L2 平滑无尖角,只压小不压零。
分享到社交平台
将本文分享给你的朋友们
Zhongye