Eckart-Young 定理:低秩近似、PCA 与 OLS

从矩阵范数和低秩近似进入 Eckart-Young 定理,并比较 PCA、TLS 与普通最小二乘的几何差异。

Eckart 和 Young 的贡献使得我们能用低秩的矩阵来最佳近似原高维矩阵 A\mathbf{A}

范数 norm

在介绍 Eckart-Young 理论 之前,我们首先需要了解什么是 范数 norm,范数是描述对象有多 “大” 的 标量

向量范数

假设 vRn\mathbf{v} \in \mathbb{R}^n,有下列常用的 向量范数

  • 2\ell^22-范数,可能是最为常见的范数,它就是向量各分量 平方和的平方根

    v2=v12++vn2\| \mathbf{v} \|_2 = \sqrt{v_1^2 + \cdots + v_n^2}
  • 1\ell^11-范数,向量各分量 绝对值之和,采用这个 范数 作为 正则项 一般意味着 稀疏性

    v1=v1++vn\|v\|_1 = |v_1| + \cdots + |v_n|
  • \ell^\infty无穷范数,向量绝对值最大的分量

    v=maxnvi\|v\|_\infty = \max_n |v_i|
    • 也就说在所有分量里找到绝对值最大的那个

矩阵范数

ARm×n\mathbf{A} \in \mathbb{R}^{m\times n},有下列常用的 矩阵范数

  • 2\ell^2矩阵 2-范数,等于矩阵最大的 奇异值

    A2=σ1\|\mathbf{A}\|_2 = \sigma_1
    • 奇异值SVD 得到,根据约定,最大的奇异值被排在 σ1\sigma_1
  • F\ell^F矩阵 Frobenius 范数,它是矩阵所有元素 平方和的平方根

    AF=a112++a1n2++an12++amn2\| \mathbf{A} \|_F = \sqrt{ a_{11}^2 + \cdots + a_{1n}^2 + \cdots + a_{n1}^2 + \cdots + a_{mn}^2 }
    • 注意,虽然这很像向量的 2-范数,但是矩阵的 2-范数 是最大奇异值
  • \ell^*矩阵 核 Nuclear 范数,矩阵所有 奇异值 之和

    A=σ1+σ2++σr\|\mathbf{A}\|_\ast = \sigma_1 + \sigma_2 + \cdots + \sigma_r
    • 这个范数类似向量的 1-范数,将为矩阵带来 稀疏性,由于奇异值一定为正,所以我们不需要为他们取绝对值;而与向量的 1-范数 相比,得到稀疏性的对象不同

      • 向量的 1-范数坐标值 变得稀疏,很多分量直接变为 00
      • 矩阵的 核范数奇异值 变稀疏(很多奇异值变 0),从而得到 低秩矩阵;但矩阵的元素未必稀疏
    • 因此矩阵的 核范数 常常与 稀疏重建 有关,这也称 压缩感知 compress sensing

      • 对婴幼儿的 核磁共振 MRI 尝尝采用这一技术,因为长时间的照射将对它们身体产生负面影响,必须从稀疏的采集数据中还原出有意义的图景
      • 采用 核范数 作为正则惩罚的方法赢得了 Netflix 电影评分推荐系统大奖

范数不等式

有两个式子,是上述范数都满足的(或者说只要是真正的范数,就应该满足下面的两条性质),下述的 v, w\mathbf{v}, \ \mathbf{w} 可以是 向量,也可以是 矩阵

  • 齐次性

    cv=cv\|c\mathbf{v}\| = |c|\cdot\|\mathbf{v}\|

    标量可以被提出范数计算,但是要取其 绝对值

  • 三角不等式

    v+wv+w\|\mathbf{v} + \mathbf{w} \| \leq \|\mathbf{v} \| + \|\mathbf{w} \|

实际上,只要在 “任意阶张量” 的空间上用的是 真正的范数,那么该范数必然满足上述两条性质

计算上,高阶张量的谱/核范数精确计算一般是 NP-hard,这不影响它们作为范数的公理性质成立

Eckart-Young 理论

我们知道,对于 rr 的矩阵 ARm×n\mathbf{A} \in \mathbb{R}^{m \times n},可以根据其 SVD 结果,将其写为

A=UΣV=σ1u1v1++σrurvr\mathbf{A} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^\top = \sigma_1u_1v_1^\top + \cdots + \sigma_ru_rv_r^\top

也就是 rr11 矩阵之和的形式

如果我们只取前 kk 项,我们得到

Ak=UkΣkVk=σ1u1v1++σkukvk\mathbf{A}_k = \mathbf{U}_k\mathbf{\Sigma}_k\mathbf{V}_k^\top = \sigma_1u_1v_1^\top + \cdots + \sigma_ku_kv_k^\top

Eckart-Young 定理 告诉我们,对于任意 kk 的矩阵 B\mathbf{B} 下面的不等式 一定成立

ABAAk\|\mathbf{A} - \mathbf{B} \| \geq \|\mathbf{A} - \mathbf{A}_k \|
  • 这里的范数 \| \cdot \| 可以是上面提到矩阵范数中的任意一种,都成立

也就是说,Ak\mathbf{A}_k 一定是 kk 的矩阵中,对 A\mathbf{A} 对最佳近似,因为 Ak\mathbf{A}_kA\mathbf{A}距离(范数) 是最小的

从直觉上来说,SVD 得到的 Σ\mathbf{\Sigma}对角矩阵,取前 kk 项就是取前 kk 个对角元素,显然不会存在比仅有前 kk 个对角元素的对角矩阵 范数(仅有前 kk 个对角元素的矩阵到原完整对角矩阵的距离)更小的矩阵,而 U\mathbf{U}V\mathbf{V}正交矩阵 (可以认为是纯旋转或反射矩阵) ,它们不会改变 范数 大小

PCA 和 最小二乘 的区别

最小二乘(OLS) 和 PCA/正交回归/总最小二乘(TLS)一般并不等价,下面用二维来举例说明(但可以推广到高维)

OLS 指 Ordinary Least Squares 也就是 普通最小二乘(回归),与之对应还有 WLS=加权最小二乘、GLS=广义最小二乘、TLS=总最小二乘/正交回归

  • OLS(y 对 x 的回归):最小化 竖直 方向误差 mina,bi(yi(a+bxi))2\min_{a,b} \sum_i (y_i - (a+bx_i))^2
Two-panel scatter plot comparing vertical OLS residuals with orthogonal PCA/TLS distances.
同一组点中,OLS 度量竖直残差,PCA/TLS 度量到拟合直线的正交距离。
  • PCA/TLS(正交回归):最小化到直线的 垂直 距离 mina,bi(yi(a+bxi))21+b2\min_{a,b} \sum_i \frac{(y_i-(a+bx_i))^2}{1+b^2}
    • 注意,与 OLS 相比多了一个依赖于 斜率 bb 的分母 1+b21 + b^2

很多人认为二者的差别在于是否允许 截距,但实际上两者都允许截距;当把数据 中心化 后,二者最终的最优直线都会通过 质心 (xˉ,yˉ)(\bar{x}, \bar{y}),因此截距就是

a=yˉbxˉa = \bar{y} - b\bar{x}

所以 “是否有截距” 不是本质区别,误差度量方向 才是

点到直线 y=a+bxy = a + bx垂直距离竖直残差 的关系是

d,i=yi(a+bxi)1+b2=rv,icosθ,cosθ=11+b2d_{\perp,i} = \frac{|y_i-(a+bx_i)|}{\sqrt{1+b^2}} = |r_{v,i}| \cdot \cos{\theta}, \quad \cos{\theta} = \frac{1}{\sqrt{1+b^2}}

也就是说,OLS 优化的是 rv,i|r_{v,i}|,而 PCA 优化的则是 rv,icosθ|r_{v,i}| \cdot \cos{\theta},可以发现,θ\theta 取决于 bbbb 在我们执行优化时会改变的,它并不是常数,而是 PCA 优化目标的一部分,所以二者的优化目标不相同,所以两种方法并不等价

1) 点到直线的垂直距离公式

把直线写成标准的 一般式 Ax+By+C=0Ax+By+C=0,点 (xi,yi)(x_i,y_i) 到这条线的(无符号)距离是

d=Axi+Byi+CA2+B2.d_\perp=\frac{|Ax_i+By_i+C|}{\sqrt{A^2+B^2}} .

理由:取法向量 n0=(A,B)n_0=(A,B),其单位向量 n=n0n0 n=\frac{n_0}{|n_0|} 直线可写成 nz=Cn0n\cdot z = -\frac{C}{|n_0|};点 p=(xi,yi)p=(x_i,y_i) 到直线的有符号距离是 np+Cn0n\cdot p+\frac{C}{|n_0|},取绝对值即上式。

应用到 y=a+bxy=a+bx(等价于 bxy+a=0bx-y+a=0),得到

A=b, B=1, C=ad,i=bxiyi+ab2+1=yi(a+bxi)1+b2.A=b,\ B=-1,\ C=a\quad\Rightarrow\quad d_{\perp,i}=\frac{|b x_i-y_i+a|}{\sqrt{b^2+1}} =\frac{|y_i-(a+b x_i)|}{\sqrt{1+b^2}}.

2) 为何 cosθ=11+b2\cos\theta=\dfrac{1}{\sqrt{1+b^2}}

令直线 y=a+bxy=a+bx 的一个法向量n0=(b,1)n_0=(b,-1)。单位法向量

n=(b,1)1+b2.n=\frac{(b,-1)}{\sqrt{1+b^2}}.

竖直单位向量是 ey=(0,1)e_y=(0,1)。两者的夹角 θ\theta 的余弦为

cosθ=eyn=(0,1)(b,1)1+b2=11+b2.\cos\theta=\big| e_y\cdot n \big| =\left|(0,1)\cdot \frac{(b,-1)}{\sqrt{1+b^2}}\right| =\frac{1}{\sqrt{1+b^2}}.

(取绝对值只为保证角度在 0π/20\sim\pi/2 内。)

3) 垂直距离与竖直残差的关系

在同一 xix_i 处,点到直线的竖直残差

rv,i=yi(a+bxi).r_{v,i}=y_i-(a+b x_i).

从点 (xi,yi)(x_i,y_i) 向下画到直线的竖直线段向量为 u=(0,rv,i)u=(0,r_{v,i}),其长度 u=rv,i|u|=|r_{v,i}|。 将 uu 在单位法向量 nn 上做投影,投影长度就是真正的最短距离

d,i=un=ucosθ=rv,i11+b2.d_{\perp,i}=|u\cdot n|=|u|\cdot\cos\theta =|r_{v,i}|\cdot\frac{1}{\sqrt{1+b^2}}.

这与第一部分用一般式推导的结果一致,也点明了关键:该因子依赖斜率 bb,所以 OLS(最小竖直残差平方和)与 TLS/PCA(最小正交距离平方和)一般不会得到同一条线。

如果在 高维 情况下,则是

  • 预测型:最小二乘 OLS(最小化“竖直残差”)
  • 对称型:正交回归 / 总最小二乘 TLS(最小化“到超平面的正交距离”),而 TLS 的解等价于对中心化数据做 PCA 得到的子空间

在二维把 TLS 的 “最佳线” 写成方向向量时,它就是 PCA 的第一主成分方向(线的法向量对应第二主成分)

如果从机器学习的角度来看,也可以认为 OLS监督学习PCA无监督学习

  • OLS:有标签 yy,学的是从 XyX\to y 的映射,最小化竖直残差 yXβ2|y-X\beta|^2 ——典型的监督学习
  • PCA:只看 XX 的结构(协方差),找最大方差的正交方向,不用 yy ——无监督学习

但有两个常见“混合”情形要注意:

  • PCR(主成分回归):先做 无监督 的 PCA 得到 Z=XWZ=XW,再对 yZy\sim Z监督 的 OLS。
  • TLS/正交回归:用到 yy(在 [X  y][X \ | \ y] 上做 SVD),属于监督的回归,但损失是正交距离,几何上等价于对增广数据做 PCA 找超平面。

所以:若比较的是 OLS vs.(在 XX 上的)PCA 第一主成分方向,确实是“监督 vs 无监督”;若比较 OLS vs TLS,那二者都属于监督回归,只是误差度量不同。

何时两者会一致?

只有当数据几乎完全落在一条/一张线性子空间上 (数据完美线性关系,无噪声或噪声仅沿直线方向),OLS 与 TLS/PCA 才会给出同一条线/超平面

实践指引

  • 预测 yy,且认为噪声主要在 yy:用 OLS
  • 两侧都有测量误差、或想得出 对称几何关系:用 TLS / PCA 子空间
  • 高维想做低秩近似:直接用 PCA(前 (k) 个主成分) 拟合子空间;若还要预测,可在此子空间内再做回归(PCR/PLS)