分布式处理与计算:数据降维

1254 个字
6 分钟
分布式处理与计算:数据降维

一、主成分分析(PCA)#

PCA 的目标是把高维数据投影到少数几个方向上,既保留尽量多的信息,又大幅降低维度。它有两个等价的视角:最大方差投影最小重构误差——两条路推出来的最优方向是同一组特征向量。

⭐视角一:从最大方差考虑#

给定训练样本 x1,,xnx_1, \dots, x_n,其中 xiRpx_i \in \mathbb{R}^p。假设数据已被标准化(中心化),使得 ixi=0\sum_i x_i = 0。PCA 想找一个方向 ww(单位向量),使得原始数据在该方向上的投影 wxiw^{\top}x_i方差最大

投影后的方差为

1ni=1n(wxi)2=w(1nixixi)w=wΣw\frac{1}{n}\sum_{i=1}^{n}(w^{\top}x_i)^2 = w^{\top}\Big(\frac{1}{n}\sum_i x_i x_i^{\top}\Big)w = w^{\top}\Sigma w

其中 Σ=1nixixi\Sigma = \frac{1}{n}\sum_i x_i x_i^{\top} 是样本协方差矩阵。于是优化问题写成(约束 ww 为单位向量):

maxw wΣws.t.ww=1\max_{w}\ w^{\top}\Sigma w \quad \text{s.t.}\quad w^{\top}w = 1

拉格朗日乘子法,构造 L=wΣwλ(ww1)L = w^{\top}\Sigma w - \lambda(w^{\top}w - 1),对 ww 求偏导并令其为零:

Lw=2Σw2λw=0  Σw=λw\frac{\partial L}{\partial w} = 2\Sigma w - 2\lambda w = 0 \ \Longrightarrow\ \Sigma w = \lambda w

这正是特征方程。所以最优的 ww 就是协方差矩阵 Σ\Sigma最大特征值所对应的特征向量(此时方差 wΣw=λw^{\top}\Sigma w = \lambda 取最大)。

求第二个主成分:要求它在最大化方差的同时,与第一个主成分 w1w_1 正交。优化问题为

maxw2 w2Σw2s.t.w2w2=1, w2w1=0\max_{w_2}\ w_2^{\top}\Sigma w_2 \quad \text{s.t.}\quad w_2^{\top}w_2 = 1,\ w_2^{\top}w_1 = 0

用带两个乘子的拉格朗日函数求导,可以得到 Σw2=λ2w2\Sigma w_2 = \lambda_2 w_2,即 w2w_2第二大特征值对应的特征向量。依此类推,前 dd 个主成分就是 Σ\Sigmadd 大特征值对应的特征向量。

视角二:从最小重构误差考虑#

换个角度:找一组正交基底 {u1,,up}\{u_1, \dots, u_p\}(ujuk=δjku_j^{\top}u_k = \delta_{jk}),把每个样本用这组基表示。只保留前 dd 个基方向做投影,得到近似(重构):

x^i=j=1d(ujxi)uj\hat{x}_i = \sum_{j=1}^{d}(u_j^{\top}x_i)\,u_j

PCA 尝试最小化重构误差——原始点与其低维重构之间的平方距离之和:

min{uj} i=1nxix^i2\min_{\{u_j\}}\ \sum_{i=1}^{n}\big\|x_i - \hat{x}_i\big\|^2

推导后可以证明,这等价于取协方差矩阵前 dd 个最大特征值对应的特征向量作为基底。也就是说,“投影后方差最大”与”重构误差最小”选出的是同一组方向——这就是 PCA 两个视角的统一。


二、正则化框架下的降维#

除了 PCA 这种”换基投影”的降维,还可以在正则化框架下做降维:通过在损失里加惩罚项,让部分参数被压成 0,从而自动做变量选择(相当于在原始特征维度上降维)。

基于正则化框架的方法尝试解决如下问题:

minβ 12i=1n(yiβ0xiβ)2+λP(β)\min_{\beta}\ \frac{1}{2}\sum_{i=1}^{n}\big(y_i - \beta_0 - x_i^{\top}\beta\big)^2 + \lambda\, P(\beta)

可以通过中心化把常数项 β0\beta_0 移除(中心化后截距为 0),进而得到只含 β\beta 的形式。

Lasso 估计取惩罚项为 L1L_1 范数,即

β^Lasso=argminβ 12yXβ2+λβ1\hat\beta^{\text{Lasso}} = \arg\min_{\beta}\ \frac{1}{2}\|y - X\beta\|^2 + \lambda\|\beta\|_1

它等价于带约束形式 min12yXβ2\min \frac{1}{2}\|y-X\beta\|^2 s.t. β1t\|\beta\|_1 \le t

L1 正则化产生稀疏性的原理#

为什么 L1 正则能让模型参数变稀疏(很多恰好为 0)?

考虑最简单的一维情形。原始目标函数加上 L1 正则项后,目标函数变成 f(β)+λβf(\beta) + \lambda|\beta|。此时最小值点常常恰好落在 β=0\beta = 0 处,于是产生了稀疏性。

原因很直观:加入 L1 正则项后,对带正则项的目标函数求导,正则项部分产生的导数在原点左边是 λ-\lambda、在原点右边是 +λ+\lambda(因为 β|\beta| 的导数是 sign(β)\text{sign}(\beta))。因此,只要原目标函数在原点处导数的绝对值小于 λ\lambda,那么带正则项的目标函数在原点左边始终递减、在原点右边始终递增——最小值点自然就卡在原点 β=0\beta=0 处,该参数被直接压到 0。

对比之下,L2 正则项 λβ2\lambda\beta^2 在原点的导数是 0(平滑),不会制造这种”尖角”,所以 L2 只会把参数压小、不会压到恰好为 0。这就是 L1 稀疏、L2 不稀疏的根本原因。


三、总结#

  • PCA 两视角等价:最大方差投影 ⟺ 最小重构误差,选出的都是协方差矩阵 Σ 的前 d 大特征值对应的特征向量。
  • 最大方差推导:maxwΣw\max w^{\top}\Sigma w s.t. w=1\|w\|=1 → 拉格朗日求导得 Σw=λw\Sigma w=\lambda w → 最优方向是最大特征值的特征向量,方差就等于该特征值。
  • 主成分排序:第 k 个主成分 = 第 k 大特征值对应的特征向量,且与前面的主成分正交。
  • 前提:数据要先中心化(标准化)
  • 正则化降维:在损失上加惩罚做变量选择;Lasso = 平方损失 + λ‖β‖₁。
  • L1 稀疏原理:|β| 的导数在原点左 −λ、右 +λ;只要原目标在原点导数绝对值 < λ,最小值就卡在 β=0,产生稀疏。L2 平滑无尖角,只压小不压零。

分享到社交平台

将本文分享给你的朋友们

分布式处理与计算:数据降维
https://zhongye1.github.io/posts/分布式处理与计算/分布式处理与计算数据降维/
作者
Zhongye
发布于
2026-07-07
版权声明
CC BY-NC-SA 4.0

评论

Profile Image of the Author
Zhongye
南漂中
公告
新的博客站!旧站点传送门 👇
音乐
专辑封面

音乐

暂无播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章数
143
分类数
14
标签数
184
总字数
417,111
运行天数
0
最后更新
0 天前
总访问量
42296
访客数
29212

目录