← 返回复习站

大数据方法与工具 · 第4章

源文件:c4.pdf

降维:按主题组织的课程讲解

本页先复习统计与代数,再介绍主成分分析(PCA)、奇异值分解(SVD)和正交三角分解(QR)。随后,本页说明高而窄矩阵的分布式计算、随机投影和随机化PCA。

原始页数
43
知识模块
4
讲解单元
14
聚合单元
12
示例
2
逐页详解
43
降维

总览01

这组课件在讲什么

中心问题

如何把高维数据压缩到更少坐标,同时保留方差、相似度、谱或两两距离等关键结构?

方法类别

PCA、SVD和QR是确定性线性代数方法。余弦采样和随机投影使用随机性来减少通信量或计算量。

系统条件

小数据可以在单机中处理。处理大数据时,矩阵 X 不能全部装入内存。矩阵形状、稀疏度和分区方式会影响运行时间。

学习目标

读者应能根据数学保证、数值稳定性、通信量和矩阵形状选择降维方法。读者还应能解释本页的推导和图示。

总览02

知识如何推进

内容顺序

协方差矩阵 → 特征方向 → PCA → SVD的稳定实现 → Householder QR → 截断低秩近似。

大数据方法

高而窄矩阵 → Gram矩阵的MapReduce计算 → 余弦采样或分块QR。

随机化方法

先用Johnson–Lindenstrauss(JL)引理说明距离近似保持。再用随机投影、QR和小矩阵SVD构成随机化PCA。

示例

第一个示例用面积和容量数据说明PCA。第二个示例用Householder反射逐列生成零元素。

总览03

讲解路线

单元页码类型共同任务补足 / 视觉重点
U01 · 课程范围与三段式路线P001-P002导入封面给出主题,组织图给出复习、小数据、大数据的连续路线,两页共同定义本讲边界。公式 / 算法
U02 · 从抽样统计到协方差矩阵P003-P005概念传统统计策略解释为何需要数据压缩;一维统计量与二维协方差随后把“保留什么信息”写成可计算量。公式 / 算法
U03 · 特征分解基础与小数据入口P006-P009复习两页代数复习完成特征值到对角化的链条,随后路线分隔页和引语共同把数学结构转入可计算的小数据方法。公式 / 算法
U04 · 课堂数据上的PCA完整流程P010-P014示例问题、原始散点、标准化投影、主成分坐标和三步算法是一个不可拆分的完整示例。上下文补足
U05 · 扰动如何暴露特征分解的不稳定性P015-P015推导该页是一段完整扰动推导,单独建立后续比较SVD稳定性的尺度。公式 / 算法
U06 · 从二维变换构造任意尺寸矩阵的SVDP016-P019推导变换图、二维推导、矩形推广和稳定性结论共同完成SVD的几何到代数链条。视觉重点
U07 · Householder QR:从反射示例到逐列三角化P020-P023示例QR定义、Householder示例、第一轮消元和完整迭代必须连续阅读,才能看清反射如何变成算法。上下文补足
U08 · PCA、SVD与截断低秩近似P024-P025模型第一页证明SVD如何给出协方差谱,第二页紧接着比较实现路线并给出截断规则。视觉重点
U09 · 从单机线性代数切换到分布式矩阵P026-P027系统章节分隔页宣布大数据,下一页马上定义矩阵形状和分区方式,两页共同改变计算模型。公式 / 算法
U10 · 高而窄矩阵的Gram矩阵MapReduceP028-P030算法设置、把问题压成 X^\top X、以及直接MapReduce实现构成一个完整基线算法。公式 / 算法
U11 · 余弦采样:从文档相似度到无偏Gram近似P031-P035算法长度偏差、余弦定义、采样算法、期望证明与参数复杂度是一条完整的动机到保证链。上下文补足
U12 · 分块QR的分布式更新顺序P036-P036算法该页独立给出分块QR的完整阶段和依赖关系。公式 / 算法
U13 · 随机投影与随机化PCAP037-P041模型PCA总结提出随机替代问题,随后定义保距目标、解释随机子空间、列出边界,并组合成随机化PCA。上下文补足
U14 · 五个关键问题与课程结束P042-P043总结关键点页给出完整回顾入口,结束页只关闭课程;合并后保持结尾连续。公式 / 算法

总览04

核心公式索引

公式 / 模型变量与条件用途单元 / 页码
\bar X,\ \sigma,\ \sigma_{X_i,X_j}均值、标准差与协方差;样本分母采用 n-1描述中心、离散和变量联动U02 / P004-P005
M=PDP^{-1}M 可对角化;D 的对角线为特征值把协方差拆成独立方向U03 / P006-P007
Z_{i,j}=\frac{X_{i,j}-\bar X_i}{\sigma_{X_i}}逐属性标准化消除量纲和范围主导U04 / P014
\lVert\delta D\rVert\le\lVert P^{-1}\rVert\lVert P\rVert\lVert\delta M\rVert矩阵范数满足次乘性评估扰动放大U05 / P015
X=U\Sigma V^\top任意实矩阵;奇异值按降序排列稳定分解与低秩近似U06 / P017-P019
H_u=I-\frac{2uu^\top}{u^\top u}u 非零构造Householder反射并消零U07 / P020-P023
X^\top X=V\Sigma^2V^\topX 已中心化;课件省略协方差缩放常数由SVD读取PCA谱U08 / P024-P025
\cos(d_i,d_j)=\frac{\langle d_i,d_j\rangle}{\lVert d_i\rVert\lVert d_j\rVert}两向量范数非零比较方向而非长度U11 / P032
X^\top X\approx DX^{\prime}DX^{\prime} 是采样得到的列余弦矩阵恢复Gram矩阵尺度U11 / P034-P035
X^{\prime}=\frac{1}{\sqrt d}XRR 的条目独立同分布、零均值随机保距降维U13 / P038-P040
QQ^\top X=Q(U_1\Sigma V^\top)Q 张成随机候选子空间随机化PCA近似SVDU13 / P041
方法速查: 三种形状矩阵怎么手算SVD置顶教程 / SVD

目标: 把矩阵拆成 A=U\Sigma V^\top。记法上,V 管输入方向,\Sigma 管缩放,U 管输出方向。

先看矩阵形状,再决定算哪一边。 固定计算 A^\top A 并不总是划算;手算时应选阶数更小的Gram矩阵。

矩阵形状优先计算先得到再恢复另一边
方阵: n\times nA^\top AAA^\topVU用映射公式恢复
宽矩阵: m\times n,\ m<nAA^\top\in\mathbb R^{m\times m}Uv_i=A^\top u_i/\sigma_i
高而窄: m\times n,\ m>nA^\top A\in\mathbb R^{n\times n}Vu_i=Av_i/\sigma_i
  1. 做EVD: 解较小Gram矩阵的特征对,并把特征向量归一化。
  2. 得到奇异值: \sigma_i=\sqrt{\lambda_i},按从大到小排。
  3. 恢复另一边: 对每个 \sigma_i>0,使用 u_i=Av_i/\sigma_iv_i=A^\top u_i/\sigma_i
  4. 补零空间: 完整SVD需要把缺少的正交单位向量补齐;薄型SVD(薄型SVD)只保留非零奇异值对应的列。
  5. 组装: U 的列是 u_i\Sigma 对角线上放 \sigma_i,最后检查 A=U\Sigma V^\top

例1 · 方阵:完整走一遍 2\times2 SVD

取一个非对角、满秩、对称正定矩阵:

A=\begin{pmatrix}3&1\\1&3\end{pmatrix},\qquad A^\top A=\begin{pmatrix}10&6\\6&10\end{pmatrix}
\det(A^\top A-\lambda I)=(10-\lambda)^2-36=(\lambda-16)(\lambda-4)=0

所以特征值是 \lambda_1=16\lambda_2=4。分别代回线性方程并归一化:

v_1=\frac{1}{\sqrt2}\begin{pmatrix}1\\1\end{pmatrix},\qquad v_2=\frac{1}{\sqrt2}\begin{pmatrix}1\\-1\end{pmatrix}
\sigma_1=\sqrt{16}=4,\qquad \sigma_2=\sqrt4=2
u_1=\frac{Av_1}{4}=v_1,\qquad u_2=\frac{Av_2}{2}=v_2
U=V=\frac1{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix},\qquad \Sigma=\begin{pmatrix}4&0\\0&2\end{pmatrix}
U\Sigma V^\top=\frac12\begin{pmatrix}1&1\\1&-1\end{pmatrix}\begin{pmatrix}4&0\\0&2\end{pmatrix}\begin{pmatrix}1&1\\1&-1\end{pmatrix}=\begin{pmatrix}3&1\\1&3\end{pmatrix}=A

这里为什么有 U=V: 不是所有方阵都这样。本例的 A 对称正定,它的特征向量同时是左右奇异向量。

例2 · 宽矩阵:先算较小的 AA^\top

A\in\mathbb R^{2\times3}。如果硬算 A^\top A,要解 3\times3 EVD;改算 AA^\top 只需解 2\times2

A=\begin{pmatrix}1&1&0\\0&1&1\end{pmatrix},\qquad AA^\top=\begin{pmatrix}2&1\\1&2\end{pmatrix}
\det(AA^\top-\lambda I)=(2-\lambda)^2-1=(\lambda-3)(\lambda-1)=0
u_1=\frac1{\sqrt2}\begin{pmatrix}1\\1\end{pmatrix},\quad u_2=\frac1{\sqrt2}\begin{pmatrix}1\\-1\end{pmatrix},\quad \sigma_1=\sqrt3,\quad \sigma_2=1

现在从左奇异向量恢复右奇异向量:

v_1=\frac{A^\top u_1}{\sigma_1}=\frac1{\sqrt6}\begin{pmatrix}1\\2\\1\end{pmatrix},\qquad v_2=\frac{A^\top u_2}{\sigma_2}=\frac1{\sqrt2}\begin{pmatrix}1\\0\\-1\end{pmatrix}
Av_3=0\quad\Longrightarrow\quad v_3=\frac1{\sqrt3}\begin{pmatrix}1\\-1\\1\end{pmatrix}

v_3 对应输入零空间,只在完整SVD中出现。组装结果:

U=\frac1{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix},\quad \Sigma=\begin{pmatrix}\sqrt3&0&0\\0&1&0\end{pmatrix}
V=\begin{pmatrix}1/\sqrt6&1/\sqrt2&1/\sqrt3\\2/\sqrt6&0&-1/\sqrt3\\1/\sqrt6&-1/\sqrt2&1/\sqrt3\end{pmatrix}
\sigma_1u_1v_1^\top+\sigma_2u_2v_2^\top=\frac12\begin{pmatrix}1&2&1\\1&2&1\end{pmatrix}+\frac12\begin{pmatrix}1&0&-1\\-1&0&1\end{pmatrix}=\begin{pmatrix}1&1&0\\0&1&1\end{pmatrix}=A

例3 · 高而窄:用薄型SVD保留有效方向

A\in\mathbb R^{4\times2}。这次 A^\top A 只有 2\times2,比 AA^\top\in\mathbb R^{4\times4} 小。

A=\begin{pmatrix}1&1\\1&1\\1&1\\1&-1\end{pmatrix},\qquad A^\top A=\begin{pmatrix}4&2\\2&4\end{pmatrix}
\det(A^\top A-\lambda I)=(4-\lambda)^2-4=(\lambda-6)(\lambda-2)=0
v_1=\frac1{\sqrt2}\begin{pmatrix}1\\1\end{pmatrix},\quad v_2=\frac1{\sqrt2}\begin{pmatrix}1\\-1\end{pmatrix},\quad \sigma_1=\sqrt6,\quad \sigma_2=\sqrt2
u_1=\frac{Av_1}{\sqrt6}=\frac1{\sqrt3}\begin{pmatrix}1\\1\\1\\0\end{pmatrix},\qquad u_2=\frac{Av_2}{\sqrt2}=\begin{pmatrix}0\\0\\0\\1\end{pmatrix}

秩是2,所以只保留非零奇异值时采用薄型SVD:

U_r=\begin{pmatrix}1/\sqrt3&0\\1/\sqrt3&0\\1/\sqrt3&0\\0&1\end{pmatrix},\quad \Sigma_r=\begin{pmatrix}\sqrt6&0\\0&\sqrt2\end{pmatrix},\quad V^\top=\frac1{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix}
\sigma_1u_1v_1^\top=\begin{pmatrix}1&1\\1&1\\1&1\\0&0\end{pmatrix},\qquad \sigma_2u_2v_2^\top=\begin{pmatrix}0&0\\0&0\\0&0\\1&-1\end{pmatrix}
A=\sigma_1u_1v_1^\top+\sigma_2u_2v_2^\top

如果题目明确要求完整SVD,再补两个左侧零空间方向:

u_3=\frac1{\sqrt2}\begin{pmatrix}1\\-1\\0\\0\end{pmatrix},\qquad u_4=\frac1{\sqrt6}\begin{pmatrix}1\\1\\-2\\0\end{pmatrix}
U=[u_1\ u_2\ u_3\ u_4],\qquad \Sigma=\begin{pmatrix}\sqrt6&0\\0&\sqrt2\\0&0\\0&0\end{pmatrix}

薄型SVD与完整SVD的区别: 两者重建的 A 完全相同。完整SVD多出的列只负责补成完整标准正交基,不增加非零信息。

统一记法: 特征值开根号得到奇异值;用 Av_i=\sigma_i u_iA^\top u_i=\sigma_i v_i 在左右方向之间转换。某一对 u_i,v_i 同时乘以 -1 仍是同一个SVD,所以答案的列符号可能不同。

方法进阶: 如何用QR压缩高而窄后再做SVD置顶教程 / QR → SVD

A\in\mathbb R^{m\times n},\ m\gg n。先做薄型QR:

A=QR,\qquad Q\in\mathbb R^{m\times n},\quad Q^\top Q=I_n,\quad R\in\mathbb R^{n\times n}
R=\widetilde U\Sigma V^\top\quad\Longrightarrow\quad A=Q\widetilde U\Sigma V^\top=U\Sigma V^\top,\qquad U=Q\widetilde U

真正做SVD的对象从 m\times n 大矩阵变成 n\times n 小矩阵 R。下面复用上一个 4\times2 例子。

第1步 · 求薄型QR

把两列记成 c_1=(1,1,1,1)^\topc_2=(1,1,1,-1)^\top。为便于手算,这里用Gram–Schmidt写出数值;数值实现为避免其正交性损失,可使用Householder QR,分布式高而窄矩阵可使用TSQR。

r_{11}=\lVert c_1\rVert_2=2,\qquad q_1=\frac{c_1}{r_{11}}=\frac12\begin{pmatrix}1\\1\\1\\1\end{pmatrix}
r_{12}=q_1^\top c_2=1,\qquad z_2=c_2-r_{12}q_1=\frac12\begin{pmatrix}1\\1\\1\\-3\end{pmatrix}
r_{22}=\lVert z_2\rVert_2=\sqrt3,\qquad q_2=\frac{z_2}{r_{22}}=\frac1{2\sqrt3}\begin{pmatrix}1\\1\\1\\-3\end{pmatrix}
Q=\begin{pmatrix}1/2&1/(2\sqrt3)\\1/2&1/(2\sqrt3)\\1/2&1/(2\sqrt3)\\1/2&-3/(2\sqrt3)\end{pmatrix},\qquad R=\begin{pmatrix}2&1\\0&\sqrt3\end{pmatrix}

检查列关系:2q_1=c_1q_1+\sqrt3q_2=c_2,所以 QR=A

第2步 · 只对 2\times2R 做SVD

R^\top R=\begin{pmatrix}4&2\\2&4\end{pmatrix}
V=\frac1{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix},\qquad \Sigma=\begin{pmatrix}\sqrt6&0\\0&\sqrt2\end{pmatrix}
\widetilde U=\begin{pmatrix}\sqrt3/2&1/2\\1/2&-\sqrt3/2\end{pmatrix}

这里的 \widetilde UR 的左奇异向量,不是原矩阵 A 的最终左奇异向量。

第3步 · 把左方向映射回原来的 m 维空间

U_r=Q\widetilde U=\begin{pmatrix}1/\sqrt3&0\\1/\sqrt3&0\\1/\sqrt3&0\\0&1\end{pmatrix}
A=U_r\Sigma V^\top

结果与直接对 A^\top A 求解完全一致。区别是QR先把高维行空间压进小矩阵 R,SVD的核心分解只发生在 n\times n 上。

“加速”具体指什么

  • 计算: 薄型QR约为 O(mn^2),小矩阵SVD为 O(n^3);如果需要 U,再算 Q\widetilde U
  • 内存与通信: 高而窄矩阵可以分块或用TSQR先归并出小 R,不必把整个 A 收到一台机器后再做SVD。
  • 准确说法: 它不一定把高质量直接薄型SVD的渐近复杂度从 O(mn^2) 降到更低;收益主要是把昂贵分解集中到小矩阵、降低常数和通信,并让分布式实现更自然。
  • 数值稳定性: 上面为了手算才写 R^\top R。程序中应直接调用稳定的 \operatorname{svd}(R);重新形成Gram矩阵仍会平方条件数。
方法速查: 如何做PCA置顶教程 / PCA

目标: 找到数据方差最大的方向,把数据投影过去,用更少维度保留主要信息。

  1. 排数据矩阵: 行是样本,列是属性,得到 X_{raw}
  2. 中心化: 每一列减自己的均值,得到 X。PCA输入需要先中心化。
  3. 找方向: 可以对协方差 C=X^\top X/(m-1) 做EVD;更稳定的做法是直接对中心化后的 X 做SVD。
  4. 排序选k: 按特征值或 \sigma_i^2 从大到小选前 k 个方向,组成 V_k
  5. 得到低维坐标: Z=XV_k。若从SVD来,Z=U_k\Sigma_k
  6. 需要重构时: \widehat X=ZV_k^\top,最后把均值加回去。

手算例子

用一个 4\times3 数据矩阵,最后选两个主方向。行是样本,列是属性:

X_{raw}=\begin{pmatrix}5&3&3\\3&5&3\\2&2&4\\2&2&2\end{pmatrix}
\mu=\left(\frac{5+3+2+2}{4},\frac{3+5+2+2}{4},\frac{3+3+4+2}{4}\right)=(3,3,3)
X=X_{raw}-\mu=\begin{pmatrix}2&0&0\\0&2&0\\-1&-1&1\\-1&-1&-1\end{pmatrix}

样本数 m=4,所以协方差要除以 m-1=3

X^\top X=\begin{pmatrix}6&2&0\\2&6&0\\0&0&2\end{pmatrix}
C=\frac{1}{3}X^\top X=\begin{pmatrix}2&2/3&0\\2/3&2&0\\0&0&2/3\end{pmatrix}

C 做EVD。这个矩阵的第三个属性已经和前两个属性解耦,所以特征多项式可以直接拆开:

\det(C-\lambda I)=\left(\frac23-\lambda\right)\left[\left(2-\lambda\right)^2-\left(\frac23\right)^2\right]
\lambda_1=\frac83,\qquad \lambda_2=\frac43,\qquad \lambda_3=\frac23

对应特征向量是:

\lambda_1=\frac83:\quad v_1=\frac{1}{\sqrt2}\begin{pmatrix}1\\1\\0\end{pmatrix}
\lambda_2=\frac43:\quad v_2=\frac{1}{\sqrt2}\begin{pmatrix}1\\-1\\0\end{pmatrix}
\lambda_3=\frac23:\quad v_3=\begin{pmatrix}0\\0\\1\end{pmatrix}

怎么判断哪个方向真正有代表: 看特征值占总方差的比例。特征值越大,数据在对应特征向量方向上展开得越明显,这个方向越有代表性。

\text{总方差}=\lambda_1+\lambda_2+\lambda_3=\frac{14}{3}
\mathrm{EVR}_1=\frac{8/3}{14/3}=\frac47\approx57.1\%
\mathrm{EVR}_2=\frac{4/3}{14/3}=\frac27\approx28.6\%
\mathrm{EVR}_3=\frac{2/3}{14/3}=\frac17\approx14.3\%
\mathrm{cumulative\ EVR}_{1:2}=\frac47+\frac27=\frac67\approx85.7\%

如果题目要求从3D降到2D,或者要求保留约 85\% 的方差,就选前两个主方向 v_1,v_2。第三个方向 v_3 只解释约 14.3\%,所以在2D PCA里丢掉它。

k=2 时:

V_2=\begin{pmatrix}1/\sqrt2&1/\sqrt2\\1/\sqrt2&-1/\sqrt2\\0&0\end{pmatrix}
Z=XV_2=\begin{pmatrix}\sqrt2&\sqrt2\\\sqrt2&-\sqrt2\\-\sqrt2&0\\-\sqrt2&0\end{pmatrix}

这个 Z 就是4个样本在两个主方向上的二维PCA坐标。它把 4\times3 的中心化后的数据压成 4\times2

如果要看丢掉第三方向后损失了什么,可以重构近似:

\widehat X=ZV_2^\top=\begin{pmatrix}2&0&0\\0&2&0\\-1&-1&0\\-1&-1&0\end{pmatrix}
\widehat X_{raw}=\widehat X+\mu=\begin{pmatrix}5&3&3\\3&5&3\\2&2&3\\2&2&3\end{pmatrix}

可以看到第三个属性的上下波动被抹掉了,因为它对应的 v_3 是最小方差方向。

SVD视角: 如果直接对中心化后的 X 做SVD,V 仍然给主方向,且协方差特征值和奇异值的关系是:

X=U\Sigma V^\top
C=\frac{1}{m-1}X^\top X=V\frac{\Sigma^2}{m-1}V^\top
\lambda_i(C)=\frac{\sigma_i^2}{m-1}

怎么记: 做完EVD后,不是“有几个特征向量就都保留”。先按特征值从大到小排序,再看解释方差比例/累计方差。要选两个方向,就选特征值最大的两个方向;它们在这个例子里合计解释 85.7\% 的方差。

M01

统计与代数复习

把降维目标转成协方差矩阵与谱分解语言。

P001-P009

内容衔接: 从传统统计压缩的局限出发,依次建立方差、协方差、特征值和对角化。

U01 · 导入P001-P002 / 43

课程范围与三段式路线

合并说明: 封面给出主题,组织图给出复习、小数据、大数据的连续路线,两页共同定义本讲边界。

完整讲解

核心说明: 本讲把降维按以下顺序组织:先用统计与谱分解描述数据结构,再用PCA/SVD求主方向,最后处理大矩阵的通信与近似。
从降维问题出发

本讲研究的是如何把高维数据压缩为更少的坐标,同时尽量保留后续分析需要的结构。封面只给出章节名,路线图补上了学习顺序。

三个分支不是互相替代的算法:复习提供协方差与谱分解语言;小数据建立PCA、SVD、QR;大数据再处理内存、通信和随机近似。

阅读本讲时要追踪的量

后续每次压缩都要问:保留了什么,丢失了什么,计算代价落在哪里。PCA保留最大方差方向,余弦采样近似Gram矩阵,随机投影保留二范数距离。

本单元在知识链中的位置

承接上一单元

课程前三章的大数据处理背景。

本单元任务

建立章节地图与统一问题。

组内推进

P001定题,P002给出三阶段结构。

导向下一单元

先补统计与代数工具。

逐页详解P001-P002 · 2页逐句翻译 · 本页解释
P001
课程封面

原页逐句翻译: 《大数据的方法与工具》,第4章“降维(降维)”;Manuel,2026年夏季。

本页说明: 封面把本讲定位在大数据方法课程的第四章。后续内容会先建立小数据上的PCA、SVD与QR,再把同一目标搬到无法单机容纳的矩阵。

P002
章节组织

原页逐句翻译: 章节组织:中心主题是“降维”,三条分支分别是“复习”“小数据”“大数据”;本页高亮“复习”。

本页说明: 圆形关系图不是三种并列算法,而是教学路线。当前先补统计量、协方差、特征值和对角化,随后进入小数据算法,最后讨论分布式与随机化。

本单元页间关系: P001定题,P002给出三阶段结构。

读完本单元应掌握: 能说出本讲三阶段路线,并区分降维目标与具体算法。
U02 · 概念P003-P005 / 43

从抽样统计到协方差矩阵

合并说明: 传统统计策略解释为何需要数据压缩;一维统计量与二维协方差随后把“保留什么信息”写成可计算量。

完整讲解

核心说明: 单变量统计只说明每列自身的离散度;PCA需要协方差识别属性是否沿同一方向共同变化。
\sigma_{X_1,X_2}=\frac{\sum_{i=1}^{n}(X_{1,i}-\bar X_1)(X_{2,i}-\bar X_2)}{n-1}
传统压缩为什么不够

抽样和分类本身就是两次压缩:总体被样本代表,个体又被类别代表。计算量下降了,但同类个体差异和个性化目标也被抹平。

高维数据允许更细地描述个体,却把问题转成如何在不粗暴分类的前提下压缩属性。

中心与离散程度

均值给出中心,标准差与方差给出一个变量围绕中心的离散程度。标准差与原变量同量纲,方差便于代数运算。

这些量仍是逐列统计,无法判断教室面积增加时容量是否也增加。

协方差如何编码共同变化

协方差把两个变量相对均值的偏差相乘并累加:同号偏差贡献正值,异号偏差贡献负值。协方差为正意味着二者倾向同向变化。

把所有变量对的协方差排成矩阵后,对角线是方差,非对角线是联动。该矩阵实对称,因而能用正交特征向量分解成互不耦合的变化方向。

从数值到方向的关键过渡

只看每列方差会遗漏变量之间的重复信息。两个属性各自方差都很大,却可能几乎沿同一方向变化;若把它们都当作独立信息,就会高估数据的有效维数。协方差矩阵把这一重复性显式放在非对角元素中。

协方差公式先对每个观测减去各自变量均值,再将同一观测上的两个偏差相乘。样本同时高于各自均值或同时低于均值时乘积为正;一高一低时为负。跨样本求和后,符号和大小概括总体联动。

协方差受量纲影响:面积用平方米、容量用人数时,数值尺度不同。PCA示例会先标准化,使每列以自身标准差为单位。这样协方差矩阵更接近相关系数矩阵,主方向不会被大单位变量自动占据。

矩阵对称性意味着第 i 个变量对第 j 个变量的协方差与反向相同。实对称矩阵具有正交特征向量,因此后面得到的新坐标方向可以彼此垂直,数据在这些方向上的协方差为零。

协方差为零只说明没有线性共同变化,不能据此推出两个变量统计独立。PCA只利用二阶线性结构,因此它擅长寻找拉长的线性点云方向,却可能看不到弯曲流形或更高阶依赖。

从本单元到下一单元的逻辑很具体:既然协方差矩阵承载了要保留的结构,就需要找一组方向把它变成对角形式。特征值和特征向量正是完成这一换基的工具。

本单元在知识链中的位置

承接上一单元

U01提出在保留结构的同时压缩数据。

本单元任务

把“结构”落实为中心、方差和协方差。

组内推进

P003给动机,P004建一维统计,P005推到多维。

导向下一单元

需要特征值工具读取协方差矩阵的方向。

逐页详解P003-P005 · 3页逐句翻译 · 本页解释
P003
传统统计策略

原页逐句翻译: 统计策略。大数据时代之前:从大总体抽取样本,例如电话调查;基于样本推导总体测量结果;按照这些测量结果对总体分类;依据给定目标作出决策。限制:同一类别中的人并不都会以相似方式行动;目标必须是面向整个类别,不能个性化。

本页说明: 这页给出降维的动机背景:传统策略先压缩总体为样本,再压缩个体为类别。它能降低处理规模,却会牺牲个体差异;现代高维数据允许保留更多细节,但又引出存储和计算压力。

P004
一维统计量

原页逐句翻译: 统计复习。给定数据集 X=[X_1,\ldots,X_n],中位数对应“中间”值;均值为 \bar X=\sum_{i=1}^{n}\frac{X_i}{n}。标准差是 X_i\bar X 之间的平均距离,表示数据集的离散程度,并由 \sigma=\sqrt{\frac{\sum_{i=1}^{n}(X_i-\bar X)^2}{n-1}} 给出。方差同样衡量离散程度,等于 \sigma^2。这些测量都是一维的。

本页说明: 均值描述中心,标准差与方差描述围绕中心的展开程度。分母 n-1 对应课件采用的样本标准差写法。最后一句指出缺口:这些量单独处理每个变量,尚不能表达两个属性是否共同变化。

P005
协方差与协方差矩阵

原页逐句翻译: 统计复习。给定数据集 [X_1,X_2]=[[X_{1,1},\ldots,X_{1,n}],[X_{2,1},\ldots,X_{2,n}]],协方差为

\sigma_{X_1,X_2}=\frac{\sum_{i=1}^{n}(X_{1,i}-\bar X_1)(X_{2,i}-\bar X_2)}{n-1}

它满足 \sigma_{X_1,X_2}=\sigma_{X_2,X_1}\sigma_{X,X}=\sigma^2;它评估两个维度相对各自均值如何共同变化,并说明二者是否“共同增加”。给定 n 个变量 X_1,\ldots,X_n,协方差矩阵由 (\sigma_{X_i,X_j})_{1\le i,j\le n} 给出。

本页说明: 协方差矩阵把每一对变量的联动关系排成一个对称矩阵,对角线就是各变量方差。PCA后面会对这个矩阵做谱分解:大特征值对应数据变化最强的方向。

本单元页间关系: P003给动机,P004建一维统计,P005推到多维。

读完本单元应掌握: 能解释协方差符号,并说明协方差矩阵为何是PCA的输入。
U03 · 复习P006-P009 / 43

特征分解基础与小数据入口

合并说明: 两页代数复习完成特征值到对角化的链条,随后路线分隔页和引语共同把数学结构转入可计算的小数据方法。

完整讲解

核心说明: 对角化把线性变换改写到特征向量基中,每个方向独立缩放;协方差矩阵为实对称矩阵,因此PCA能采用这条路线。
M=PDP^{-1}
从特征方向到满秩条件

对线性变换 M,若非零向量 X 满足 MX=\lambda X,这个方向在变换后不转向,只按 \lambda 缩放。课件把“秩为 n”与“有 n 个非零特征值”相连:满秩意味着矩阵可逆,所以 0 不能是特征值;按代数重数计,全部 n 个特征值都非零。反过来,只要有零特征值,就存在非零向量被送到零向量,矩阵必不满秩。

Mn 个两两不同的特征值,对应特征向量必线性无关,因而自动组成一组基。这是可对角化的充分条件,不是必要条件:重复特征值也可能拥有足够多的独立特征向量。

对角化就是一次明确的换基

设原坐标基为 B,特征向量基为 B^{\prime}。课件把 P 定义为从 B^{\prime}B 的过渡矩阵,因此 P 的列是在基 B 中写出的特征向量。计算 P^{-1}x 先把原坐标改写成特征坐标,D 在每个特征坐标上独立缩放,最后 P 把结果送回原坐标,所以 M=PDP^{-1}

这一方向约定也解释了矩阵幂:相邻的 P^{-1}P=I 抵消,于是 M^k=(PDP^{-1})^k=PD^kP^{-1}。复杂的反复矩阵乘法变成对角线上各特征值的 k 次幂。

特征多项式、分裂与重数

特征值也可由 \chi_M(\lambda)=\det(M-\lambda I_n) 的根找到,因为行列式为零恰好说明 M-\lambda I_n 有非零零空间。课件说多项式在 \mathbb K 上分裂,是指它能在该数域中完全分解为一次因子;若不分裂,就缺少足够的本域特征值。

分裂仍不够。对每个特征值 \lambda,特征空间 \ker(M-\lambda I_n) 的维数是几何重数,而它作为特征多项式根出现的次数是代数重数。只有每个特征值的几何重数都达到对应代数重数,全部特征空间合起来才提供 n 个独立特征向量,矩阵才可对角化。不可逆矩阵称为奇异矩阵;等价地,它的行列式为零,并含零特征值。

这些条件怎样进入PCA

PCA面对的是协方差矩阵。它是实对称矩阵,因此不仅可对角化,还能选取正交归一的特征向量基;这排除了“任意方阵未必都有完整特征基”的障碍。每个特征向量给出一个新坐标轴,对应特征值给出数据沿该轴的方差。按特征值从大到小排序并截断,就得到后续PCA的降维规则。

不过,存在分解不等于适合通过展开行列式来计算。特征多项式把理论条件讲清楚,实际算法还要考虑舍入误差、稳定性和矩阵尺寸。P008把路线切到小数据,P009的引语则把问题从“数学上存在”推到“怎样可靠计算”;下一组页面因此先用可视化示例建立PCA,再比较特征值分解、SVD与QR。

本单元在知识链中的位置

承接上一单元

U02得到对称协方差矩阵。

本单元任务

提供读取协方差谱的代数语言。

组内推进

P006定义特征对,P007给条件,P008-P009转入算法。

导向下一单元

用课堂数据示例直观看PCA。

逐页详解P006-P009 · 4页逐句翻译 · 本页解释
P006
特征值与对角化

原页逐句翻译: 代数复习。令 B 是向量空间 V 的一组基。对 M\in\mathcal M_n(\mathbb K),当且仅当存在特征向量 X\in\mathcal M_{n,1}(\mathbb K) 使 MX=\lambda X 时,\lambda\in\mathbb KM 的特征值。重要性质:若 M 的秩为 n,则它有 n 个非零特征值;若它有两两不同的 n 个特征值,则可对角化;M 可对角化当且仅当其特征向量构成一组基 B^{\prime}M=PDP^{-1},其中 D 的对角线放置特征值,P 是从 B^{\prime}B 的过渡矩阵;任意 k\in\mathbb N 都有 M^k=PD^kP^{-1}

本页说明: 特征向量是线性变换只缩放、不改变方向的方向。对角化把矩阵运算转成对角元素上的独立运算,这正是协方差矩阵能按主方向拆开的代数基础。

P007
特征多项式

原页逐句翻译: 代数复习。M 的特征多项式定义为映射 \chi_M:\mathbb K\to\mathbb K\lambda\mapsto\det(M-\lambda I_n)。性质:若 \lambdaM 的特征值,则它是 \chi_M 的根;M 可对角化,当且仅当 \chi_M\mathbb K 上分裂,且每个特征值 \lambda 的特征空间维数等于其重数。适用范围:并非所有方阵都可对角化;任何对称矩阵都可对角化;按定义展开行列式的运算量随维数迅速增长;不可逆矩阵称为奇异矩阵。

本页说明: 协方差矩阵是实对称矩阵,所以这里最关键的保证是它可以正交对角化。课件同时提醒,直接通过行列式求根并不适合大规模数值计算;后续SVD与QR提供更稳定、可实现的路线。

P008
进入小数据

原页逐句翻译: 章节组织:中心主题是“降维”,分支为“复习”“小数据”“大数据”;本页高亮“小数据”。

本页说明: 这一分隔页表示先把刚才的统计量和特征分解用于能在单机内存中处理的数据,核心是PCA以及支撑它的SVD、QR。

P009
方法与计算

原页逐句翻译: “我钦佩你计算方法的优雅;骑着真正数学的骏马穿过这些田野一定很好,而像我们这样的人却不得不费力地徒步前行。”——Albert Einstein。

本页说明: 引语在内容上充当过渡:漂亮的数学结构需要落到可计算的方法。后续不只写出分解存在性,还比较稳定性、计算顺序和矩阵形状。

本单元页间关系: P006定义特征对,P007给条件,P008-P009转入算法。

学生问题: P006-P007 · 特征值 / 特征多项式是什么意思翻译 / 详细解释

问题: page6,7翻译成中文详细解释。

P006中文翻译

\mathcal B 是向量空间 V 的一组基。对矩阵 M\in M_n(\mathbb K),如果存在一个特征向量 X\in M_{n,1}(\mathbb K),使得 MX=\lambda X,那么 \lambda\in\mathbb KM 的一个特征值。

MX=\lambda X
  • 特征值和特征向量: MX=\lambda X 的意思是,矩阵 M 作用到向量 X 后,向量方向不变,只被放大、缩小或反向。X 是特征向量,\lambda 是缩放倍数。
  • 秩n: 如果 \operatorname{rank}(M)=n,也就是矩阵可逆,那么 0 不是它的特征值。幻灯片里“有n个非零特征值”应理解为:在特征多项式能分解时,按重数计数的 n 个特征值都非零。
  • 两两不同的n个特征值: 如果 n 阶矩阵有 n 个互不相同的特征值,那么对应的特征向量线性无关,所以能组成一组基,矩阵可对角化。
  • 可对角化: 可对角化等价于“特征向量足够多,能组成一组基 \mathcal B^{\prime}”。换到这组基以后,矩阵只剩下沿每个特征方向的缩放。
  • 对角化公式: M=PDP^{-1} 中,D 是对角矩阵,对角线上放特征值;P 把特征向量基 \mathcal B^{\prime} 下的坐标转回原基 \mathcal B
  • 矩阵幂: M^k=PD^kP^{-1}。对角矩阵的 k 次方很好算,只要把每个对角元素变成 \lambda_i^k。所以对角化把矩阵幂转化为逐个标量求幂。
M=PDP^{-1}\qquad M^k=PD^kP^{-1}

P007中文翻译

矩阵 M 的特征多项式定义为:\chi_M:\mathbb K\rightarrow\mathbb K,把 \lambda 映射到 \det(M-\lambda I_n)

\chi_M:\mathbb K\rightarrow\mathbb K,\qquad \lambda\mapsto\det(M-\lambda I_n)
  • 特征多项式: \chi_M(\lambda)=\det(M-\lambda I_n)。它的根就是候选特征值。很多教材也写 \det(\lambda I_n-M),根相同,只差一个整体符号。
  • 为什么根对应特征值: MX=\lambda X 可改写成 (M-\lambda I_n)X=0。要有非零解 X,矩阵 M-\lambda I_n 必须不可逆;不可逆等价于行列式为 0。所以 \det(M-\lambda I_n)=0
  • 分裂on \mathbb K: 特征多项式能在 \mathbb K 上完全分解成一次因子。比如在实数域上,有些矩阵的特征值是复数,就不算在 \mathbb R 上分裂。
  • 代数重数和几何重数: 特征值作为多项式根出现几次,叫代数重数;它对应的特征空间维度,叫几何重数。矩阵可对角化要求每个特征值的几何重数等于代数重数。
  • 不是所有方阵都可对角化: 有些矩阵特征向量不够,不能形成一组基。
  • 对称矩阵一定可对角化: 这条对PCA很关键。协方差矩阵是对称矩阵,所以可以用一组正交特征向量分解;这些特征向量就是PCA的主方向。
  • 奇异: 不可逆矩阵叫奇异。这里出现它,是因为“是否有非零解”通过奇异/行列式来判断。

与本章内容的关系: P006-P007不是抽象代数复习而已。它们解释PCA为什么能找“方向”:协方差矩阵对称,所以可对角化;它的特征向量给出主方向,特征值表示这些方向上的方差大小。

学生追问: 可对角化是不是秩n就行了?概念澄清 / 反例

问题: 可对角化难道不是 \operatorname{rank}(M)=n 就行了吗,为什么要特征向量形式 \mathcal B^{\prime}?

回答: 不是。\operatorname{rank}(M)=n 只说明 M 可逆,也就是 0 不是特征值;它不保证有足够多的特征向量。可对角化要求存在可逆矩阵 P,使得 M=PDP^{-1}。而 P 的列就是一组特征向量。P 要可逆,这些特征向量就必须线性无关并组成一组基 \mathcal B^{\prime}

M=PDP^{-1}

反例:

M=\begin{pmatrix}1&1\\0&1\end{pmatrix}

它的行列式是 1,所以 \operatorname{rank}(M)=2,满秩、可逆。但它只有一个特征值 \lambda=1,并且 (M-I)X=0 只给出一条特征向量方向 \operatorname{span}((1,0))。二维空间需要两个线性无关的特征向量才能成基;这里只有一个方向,所以不可对角化。

结论: 满秩回答“有没有把空间压扁”;可对角化回答“有没有足够多的不变方向”。PCA关心后者,因为主方向本质上就是协方差矩阵的特征向量基。

学生追问: 为什么是 PDP^{-1},不是先乘 P基变换 / 坐标顺序

问题: 但是 X 不是都在 \mathcal B^{\prime} 里了吗?PDP^{-1}X 难道不是 \mathcal B 映射到 \mathcal B^{\prime}?为什么是先乘 P^{-1}

回答: 公式 M=PDP^{-1} 默认在原基 \mathcal B 里表示同一个线性变换。输入向量写成列向量 x 时,默认它也是原基坐标 [x]_{\mathcal B},不是特征基坐标。

[x]_{\mathcal B}\xrightarrow{\;P^{-1}\;}[x]_{\mathcal B^{\prime}}\xrightarrow{\;D\;}[Mx]_{\mathcal B^{\prime}}\xrightarrow{\;P\;}[Mx]_{\mathcal B}
  • P 的方向: 如果 P 的列是特征向量在原基里的坐标,那么 P 做的是 \mathcal B^{\prime} 坐标到 \mathcal B 坐标的转换。
  • P^{-1} 的方向: 它反过来,把原基坐标转成特征基坐标。只有到了特征基里,矩阵才变成对角矩阵 D,也就是每个方向单独缩放。
  • 如果 x 已经是特征基坐标: 那就不需要 PDP^{-1}。直接用 D[x]_{\mathcal B^{\prime}} 就够了。
  • 所以顺序不是矛盾: PDP^{-1}x 从右往左读:先用 P^{-1} 进入特征基,再用 D 缩放,最后用 P 回到原基。
学生追问: 特征向量不是都能组成一个基吗?概念澄清 / 线性无关

问题: 可对角化说“特征向量足够多,能组成一组基 \mathcal B^{\\prime}”。但是特征向量难道不是可以组成一个 \mathcal B^{\\prime} 吗?

回答: 不一定。特征向量当然可以收集成一个集合,但“集合”不等于“基”。一组基必须同时满足两个条件:线性无关,并且能张成整个空间。对 n 维空间来说,就是要能挑出 n 个线性无关的特征向量。

  • 什么时候可以: 如果 n 阶矩阵有 n 个互不相同的特征值,那么对应特征向量线性无关,可以组成 \mathcal B^{\\prime}
  • 什么时候不可以: 如果特征向量方向不够,就不能成基。比如 M=\begin{pmatrix}1&1\\\\0&1\end{pmatrix} 满秩,但只有一个特征向量方向,二维空间需要两个方向,所以它不可对角化。
  • 特征空间的说法: 每个特征值对应一个特征空间。把所有特征空间里的向量合起来,不代表自动得到一组基;关键是这些特征空间的总维度是否加起来等于 n
  • M=PDP^{-1} 的关系: P 的列要放一整组基。如果特征向量不够,P 就不可逆,P^{-1} 不存在,公式就写不出来。
\text{diagonalizable} \Longleftrightarrow \text{there are } n \text{ linearly independent 特征向量}

结论: 特征向量“存在”不够;特征向量必须“够多且线性无关”,才叫能组成 \mathcal B^{\\prime}

学生追问: 特征向量能组成 \mathcal B^{\prime},那 x 难道不是 \mathcal B^{\prime} 的?坐标系 / 向量表示

问题: 特征向量难道不是可以组成一个 \mathcal B^{\prime} 吗?那难道 x 不是 \mathcal B^{\prime} 的?

回答: 向量 x 属于向量空间 V,不属于某个基。基只是写坐标的尺子。同一个抽象向量可以用原基 \mathcal B 写,也可以用特征向量基 \mathcal B^{\prime} 写;换基后,向量没变,坐标列变了。

x\in V,\qquad [x]_{\mathcal B}\neq [x]_{\mathcal B^{\prime}}\ \text{ in general }
  • 特征向量组成 \mathcal B^{\prime}: 这句话的意思是“我们可以拿这些特征向量当新坐标轴”。它不是说每个向量自动已经用这组坐标轴写好了。
  • 幻灯片里的 X: 在定义 MX=\lambda X 时,X 是某一个特征向量。它是新基 \mathcal B^{\prime} 的一个成员,不是任意输入向量的坐标。
  • 任意向量怎么用 \mathcal B^{\prime} 表示: 如果特征向量已经组成一组基,那么任意 x\in V 都能写成这些特征向量的线性组合。那些线性组合系数才是 [x]_{\mathcal B^{\prime}}
  • 为什么前面还要 P^{-1}: 因为矩阵 M 和本段的输入列向量写在原基 \mathcal B 下。要进入特征基坐标,先做 [x]_{\mathcal B^{\prime}}=P^{-1}[x]_{\mathcal B}

结论: \mathcal B^{\prime} 是新坐标系,x 是向量本身;向量可以用这个坐标系表示,但不能说向量“就是”这个坐标系的。

学生追问: EVD应该怎么求?算法步骤 / 特征分解

问题: EVD应该怎么求?

回答: EVD是特征值分解。对一个可对角化的方阵 A,目标是找到一组特征向量,把矩阵写成 A=PDP^{-1}。如果 A 是对称矩阵,可以写成更好的正交形式 A=Q\Lambda Q^\top

A=PDP^{-1}\qquad\text{or, if }A=A^\top,\qquad A=Q\Lambda Q^\top
  • 第1步:求特征值。 解特征方程 \det(A-\lambda I)=0。解出来的 \lambda_1,\ldots,\lambda_n 是候选缩放倍数。
  • 第2步:求每个特征值对应的特征向量。 对每个 \lambda_i,解齐次线性方程 (A-\lambda_i I)v=0。非零解 v 就是对应的特征向量。
  • 第3步:检查特征向量够不够。 如果能找到 n 个线性无关的特征向量,就能组成特征向量基,矩阵可对角化。否则普通EVD不成立,只能转向Jordan形式或其他分解;本讲后面主要靠对称矩阵避开这个问题。
  • 第4步:组装矩阵。 把特征向量作为列拼成 P=[v_1\ \cdots\ v_n],把特征值放到对角矩阵 D=\operatorname{diag}(\lambda_1,\ldots,\lambda_n)。于是 A=PDP^{-1}
  • 对称矩阵的版本: 如果 A=A^\top,可以把特征向量单位化并选成正交组。此时 Q^{-1}=Q^\top,所以 A=Q\Lambda Q^\top。PCA用协方差矩阵时就是这个情况。

小例子:A=\begin{pmatrix}2&1\\1&2\end{pmatrix}。特征方程是 \det(A-\lambda I)=(2-\lambda)^2-1=0,所以特征值是 \lambda=3\lambda=1。对应特征向量可以取 (1,1)^\top(1,-1)^\top。单位化后放进 Q,对角线上放 3,1,得到 A=Q\Lambda Q^\top

A=\begin{pmatrix}2&1\\1&2\end{pmatrix},\qquad \lambda_1=3,\ v_1=\begin{pmatrix}1\\1\end{pmatrix},\qquad \lambda_2=1,\ v_2=\begin{pmatrix}1\\-1\end{pmatrix}

和PCA的关系: PCA的EVD路线作用于协方差矩阵或 X^\top X 做EVD。最大的特征值对应最大方差的方向;这些特征向量就是主成分。

学生问题: P009 · Einstein引语是什么意思问答

问题: P009 · Einstein引语是什么意思?

回答: 这句话不是在讲Einstein本人, 而是在给本章定调: 好的数学方法能把复杂计算变成更省力的路径。引语里“骑着真正数学的马”指用结构化的数学工具前进; “步行”指没有这些工具时, 只能在原始数据和繁琐计算里硬走。

放到第4章4, 它是在引出降维: 高维数据直接算很笨重, 但协方差、特征向量、PCA、SVD这些工具能抓住主要方向, 用更低维的表示保留主要结构。后面讲PCA/SVD/随机投影, 都是在回答同一个问题: 怎么用数学结构少走路。

图谱读法: 这是一张累计总图, 不是P009的孤立小图。P009先接到“为什么要降维”和“统计/代数前置”; 后续问题会继续挂到同一张图的协方差、PCA和SVD节点上。

读完本单元应掌握: 能连接协方差矩阵、特征向量、特征值与对角化。
M02

小数据:PCA、SVD与QR

在单机条件下完成PCA示例、稳定SVD和Householder QR。

P010-P025

内容衔接: 用复习中的协方差谱解释PCA,再以稳定性推动SVD和QR。

U04 ·示例P010-P014 / 43

课堂数据上的PCA完整流程

含上下文补足

合并说明: 问题、原始散点、标准化投影、主成分坐标和三步算法是一个不可拆分的完整示例。

完整讲解

核心说明: PCA先消除量纲影响,再把相关属性旋转到主方向;保留第一主成分等价于以最小正交残差保留最大的方差。
z=Xv_1
示例的任务

教室面积、容量、黑板数和电脑数构成原始属性。目标是找出有用、无用或冗余属性,但PCA不直接按列删除,而是构造新的线性组合。

P011的散点沿对角方向拉长,说明面积和容量共享一个主要变化因素。把两列原样保留会重复编码这一趋势。

标准化后寻找最大方差方向

P012先把每列减去均值并除以标准差,使量纲和范围不再支配结果。蓝线沿点云最长方向,这就是第一主成分;黑色线段表示投影残差。

协方差矩阵的最大特征向量给出蓝线方向。沿该方向投影后,样本的一维坐标尽量分散,也就是保留最大方差。

旋转后的信息如何判断

P013把同一批点写到主成分坐标系。横向第一主成分覆盖较大范围,竖向第二主成分多靠近零。只保留横坐标时,竖线长度就是每个样本被舍弃的部分。

这不是说第二主成分恒为零,而是它在这批数据上的方差小。是否舍弃应看特征值或奇异值贡献,而不是只看某个点。

三步流程与结果

P014把图形过程整理为标准化、构造协方差矩阵、求并排序特征对。排序把最大方差方向放在前面,为后续截断建立顺序。

示例最终说明:面积与容量可以被一个主成分高效概括;黑板数、电脑数是否冗余仍需把相应列一起放入数据后计算,不能凭常识直接删。

把五页图形还原成一次计算

设标准化后的样本矩阵每行是一间教室、每列是一个属性。计算协方差矩阵后,最大特征值对应的特征向量给出P012蓝线的方向。每个红点与该向量做内积,就得到沿第一主成分的坐标。

P012的黑线不是回归误差的任意画法,而是从样本点到第一主成分子空间的正交残差。PCA选择蓝线,使所有样本残差平方和最小;等价地,它使投影坐标的方差最大。这两个表述连接了几何近似与谱优化。

P013把蓝线变成横轴、与它正交的方向变成纵轴。数据并没有消失,只是换了坐标。真正的降维发生在把第二主成分坐标置零或删除时;此时可用第一主成分坐标和方向近似重构原标准化样本。

若第二特征值与第一特征值接近,点云不会呈细长形,删除第二方向会损失明显信息。当前图的主要依据是横向跨度大、纵向残差总体较小;它支持一维近似,却不提供统一阈值。

标准化也改变了问题含义:它让每个属性先拥有单位方差,适合不希望原始量纲决定权重的情况。若原始尺度本身就是重要权重,则是否标准化需要按任务决定,不能把步骤机械套用到所有数据。

本单元在知识链中的位置

承接上一单元

U03提供协方差矩阵的特征分解。

本单元任务

把PCA从目标推进到可视化算法流程。

组内推进

P010设问,P011-P013展示坐标变化,P014总结步骤。

导向下一单元

比较不同分解方法的数值稳定性。

逐页详解P010-P014 · 5页逐句翻译 · 本页解释
P010
PCA的基本想法

原页逐句翻译: 主成分分析。PCA的基本想法:提供最能突出数据相似性和差异性的“视角”;这个新视角组合原有“特征”,以便最好地概括数据。示例:可以收集的教学教室数据包括面积、可容纳学生人数、黑板数量、台式计算机数量。哪些属性有用、无用或冗余?

本页说明: 这是本讲第一个明确标注的示例。问题不只是删除某一列,而是寻找原属性的线性组合,使主要变化集中到少数新坐标。面积与容量很可能冗余,图形页会把这种相关性画出来。

P011
原始课堂散点图

原页逐句翻译: 横轴:教室面积。纵轴:学生人数。红色散点表示各教室;横轴可见刻度约为50、100、150,纵轴可见刻度约为50、100、150。

本页说明: 点云沿左下到右上方向分布,说明面积与容量强正相关。若分别保存两个属性,会重复记录同一主要趋势;PCA希望用沿点云长轴的一个坐标吸收大部分变化。

P012
标准化与投影

原页逐句翻译: 横轴:标准化后的教室面积。纵轴:标准化后的学生人数。两轴刻度从约 -12。红点表示标准化样本,蓝色斜线表示主要方向,黑色线段把各点连接到该方向上的投影位置。

本页说明: 标准化后两个变量处于可比较尺度。蓝线沿点云最大方差方向,黑线近似垂直于蓝线,表示样本被压缩到第一主成分时舍弃的正交残差;残差越短,一维近似越好。

P013
主成分坐标

原页逐句翻译: 横轴:第一主成分。纵轴:第二主成分。红点是样本在主成分坐标系中的位置,蓝色水平线表示第二主成分为 0,黑色竖线显示各点到该线的第二主成分偏移;横轴约从 -32,纵轴约从 -11

本页说明: 旋转到主成分坐标后,第一主成分的跨度明显大于第二主成分。若只保留第一主成分,竖直偏移就是被丢弃的信息;图中多数偏移较小,因此这一课堂数据适合一维近似。

P014
PCA三步流程

原页逐句翻译: 主成分分析流程。第一,标准化变量范围:避免变量取值范围差异过大,确保所有变量“贡献相同”,计算 Z_{i,j}=\frac{X_{i,j}-\bar X_i}{\sigma_{X_i}}。第二,确定变量之间的“关系”:寻找变量间相关性,并构造所有变量的协方差矩阵。第三,识别主成分:计算协方差矩阵的特征值与特征向量,并按非递增顺序重排特征值。

本页说明: 三步分别对应P011-P013的视觉变化。标准化解决量纲问题;协方差把联合变化编码成对称矩阵;特征向量给出新轴,特征值给出各轴方差,因此排序后即可决定保留哪些方向。

本单元页间关系: P010设问,P011-P013展示坐标变化,P014总结步骤。

上下文补足:示例前置知识示例前提

上下文补足:标准PCA默认数值特征可比较,且主要结构能由线性子空间表达。标准化公式使用每列的均值和标准差;类别属性需先编码,强非线性结构则可能需要别的方法。

读完本单元应掌握: 能从散点图读出第一主方向,并完整复述PCA三步与截断含义。
U05 · 推导P015-P015 / 43

扰动如何暴露特征分解的不稳定性

合并说明: 该页是一段完整扰动推导,单独建立后续比较SVD稳定性的尺度。

完整讲解

核心说明: 数值稳定性问小输入扰动会被分解放大多少;采用非正交特征向量基的分解,其放大因子取决于特征向量基的条件性。
稳定性问的是扰动怎样传到结果

这里的输入是待分解矩阵 M,输出关注对角矩阵 D。实际计算中的舍入、测量噪声或近似存储都可写成小扰动 \delta M;稳定性要比较它引起的 \delta D 有多大。公式正确并不自动代表数值稳定,关键是从输入到输出的放大倍数。

由特征分解 M=PDP^{-1} 左乘 P^{-1}、右乘 P,得到 D=P^{-1}MP。课件在这一局部扰动模型中保持基矩阵 P 不变,只考察 M 的变化如何进入同一坐标变换。

完整重建扰动推导

把输入换成 M+\delta M,输出相应写成 D+\delta D,于是

D+\delta D=P^{-1}(M+\delta M)P=P^{-1}MP+P^{-1}\delta MP=D+P^{-1}\delta MP

两边减去 D 后得到 \delta D=P^{-1}\delta MP。对乘积使用范数的次乘性 \lVert ABC\rVert\le\lVert A\rVert\lVert B\rVert\lVert C\rVert,便有

\lVert\delta D\rVert\le\lVert P^{-1}\rVert\lVert P\rVert\lVert\delta M\rVert

这就是式 (4.1)。推导中的每一因子都有来源:中间是输入误差大小,两侧分别是换入特征坐标和换回原坐标的尺度。

课件的逐元素 p-范数

A=(a_{i,j})_{1\le i\le m,\ 1\le j\le n},课件定义

\lVert A\rVert_p=\left(\sum_{i=1}^{m}\sum_{j=1}^{n}|a_{i,j}|^p\right)^{1/p}

这里 mn 是行列数,a_{i,j} 是第 i,j 个条目,p\ge1 控制对大条目的权重。这是把全部矩阵条目当作一个向量后取 p-范数;当 p=2 时就是Frobenius范数。它不应与所有诱导算子范数混为一谈,尤其不能默认任意逐元素 p-范数都满足推导所用的矩阵乘法次乘性;式 (4.1) 的范数边界需要选取与乘法相容的矩阵范数,或另行计入常数。

条件数含义与适用边界

乘积 \kappa(P)=\lVert P^{-1}\rVert\lVert P\rVert 是基矩阵的条件因子。若特征向量彼此接近线性相关,P 接近奇异,\lVert P^{-1}\rVert 会很大,小扰动就可能被明显放大。上界只给最坏情况,不表示每次都达到该倍数;它也固定了 P,没有完整描述扰动后特征向量本身的变化、重特征值的敏感性或特征值重新排序。

这页的作用是为下一单元提供比较尺度。SVD的左右因子是正交矩阵;在二范数下其范数与逆范数均为 1,不会因换基本身额外放大误差。对PCA而言,这说明“求同一个谱结构”可以有数值性质不同的实现路线。

本单元在知识链中的位置

承接上一单元

U04说明PCA要求协方差谱。

本单元任务

说明直接特征分解可能放大数值误差。

组内推进

从相似变换逐步得到扰动范数上界。

导向下一单元

用正交因子构造稳定的SVD。

逐页详解P015-P015 · 1页逐句翻译 · 本页解释
P015
数值稳定性

原页逐句翻译: 数值稳定性。方法的稳定性定义它如何对小扰动作出“反应”。由 M=PDP^{-1}D=P^{-1}MP;对小扰动 \delta M,有 D+\delta D=P^{-1}(M+\delta M)P,因此 \delta D=P^{-1}\delta MP,转成范数即 \lVert\delta D\rVert\le\lVert P^{-1}\rVert\lVert P\rVert\lVert\delta M\rVert,式 (4.1)。对 m\times n 矩阵 A=(a_{i,j})_{1\le i\le m,\ 1\le j\le n}p 范数定义为 \lVert A\rVert_p=\left(\sum_{i=1}^{m}\sum_{j=1}^{n}|a_{i,j}|^p\right)^{1/p}。式 (4.1) 表明扰动 \lVert\delta M\rVert 可能被放大至 \lVert P^{-1}\rVert\lVert P\rVert 倍。

本页说明: 不稳定不是说公式错误,而是输入中很小的舍入误差会在输出中变大。乘积 \lVert P^{-1}\rVert\lVert P\rVert 是条件放大因子;当特征向量基接近线性相关时,它可能很大。下一单元用正交矩阵构造SVD,把这一因子压到 1

本单元页间关系: 从相似变换逐步得到扰动范数上界。

读完本单元应掌握: 能解释条件放大因子的来源和它对PCA实现的影响。
U06 · 推导P016-P019 / 43

从二维变换构造任意尺寸矩阵的SVD

合并说明: 变换图、二维推导、矩形推广和稳定性结论共同完成SVD的几何到代数链条。

完整讲解

核心说明: SVD选择正交输入和输出方向,使任意矩阵只在这些方向上独立缩放;它统一解释几何、矩形矩阵与稳定性。
A=U\Sigma V^\top
任意线性变换的分解

P016展示剪切、伸缩、旋转、反射对正交基的影响。SVD选择一组特殊输入方向,使矩阵在这些方向上只做独立缩放,再用正交方向表达输出。

右奇异向量给输入方向,奇异值给伸缩倍率,左奇异向量给输出方向。

二维推导的每一步

把任意输入展开到正交基后,线性性允许分别作用。内积系数写成转置乘法,就得到两个秩一矩阵之和。

把输入基向量、缩放量和输出基向量分别收集,形成 U\SigmaV^\top 三个因子。

推广到矩形矩阵

矩形矩阵的输入空间与输出空间维数不同,因此 U\SigmaV 的尺寸必须分别检查。秩决定正奇异值个数。

X^\top XXX^\top 共享非零谱;右奇异向量位于属性空间,正适合PCA。

稳定性为什么改善

UV 正交,逆等于转置,二范数保持不变。相比非正交特征向量矩阵 P,SVD的正交因子不会额外放大扰动。

SVD存在于任意矩阵,也不要求可逆;这使它成为数据矩阵上的通用工具。

从秩一项理解截断和稳定

二维推导中的每一项都先用右奇异向量从输入抽取一个标量系数,再乘奇异值,最后沿左奇异向量放回输出。多个秩一项相加恢复完整线性映射。更高维度把两项扩展为按秩计数的多项。

奇异值为零的项不传递任何输入能量,所以正奇异值个数等于矩阵秩。按奇异值从大到小排列后,前几项描述矩阵最强的输入到输出通道;截断就是删除较弱秩一项,而不是删除原始某几列。

由数据矩阵的右奇异向量可读取属性空间方向,由左奇异向量可读取样本得分方向。二者通过同一奇异值耦合。这个双边结构解释了为什么矩形数据矩阵也能做谱分析,而不需要它本身是方阵。

正交矩阵保持内积和二范数,因此旋转或反射不会把输入误差放大。\Sigma 的尺度是问题本身的尺度,而 UV 不引入额外条件放大。P019的稳定性比较正是把 UV 的逆替换成转置。

SVD不唯一主要来自符号、相同奇异值子空间内的基选择和排列;这些变化不会改变由前 k 个奇异方向张成的子空间。理解这一点可以避免把不同软件输出的向量符号差异误判为结果冲突。

图形上可把SVD读成先把输入旋转到右奇异方向,再沿坐标轴独立伸缩,最后旋转到左奇异方向。剪切这类看似不能靠单次旋转和轴向缩放完成的变换,也能由这三个阶段的组合表达。

本单元在知识链中的位置

承接上一单元

U05建立扰动放大标准。

本单元任务

推导SVD并解释其谱关系与稳定性。

组内推进

P016几何,P017推导,P018推广,P019比较。

导向下一单元

QR用正交变换进一步改善计算流程。

逐页详解P016-P019 · 4页逐句翻译 · 本页解释
P016
二维线性变换

原页逐句翻译: 线性变换。先用二维情形说明。矩阵 \begin{pmatrix}1&1\\0&1\end{pmatrix} 对应剪切(Shear);\begin{pmatrix}2&0\\0&1\end{pmatrix} 对应伸缩(Dilution);\begin{pmatrix}\cos\frac{\pi}{4}&\sin\frac{\pi}{4}\\-\sin\frac{\pi}{4}&\cos\frac{\pi}{4}\end{pmatrix} 对应旋转(Rotation);\begin{pmatrix}-1&0\\0&1\end{pmatrix} 对应反射(Reflection)。黄色和绿色基向量展示变换前后的方向与长度。

本页说明: 图应从上方原始正交基开始,沿每个箭头看到底部结果。剪切改变夹角,伸缩只改变一个方向长度,旋转保持长度与夹角,反射保持长度但翻转一个方向。SVD会把任意线性变换组织成正交变换、轴向缩放、正交变换。

P017
二维SVD推导

原页逐句翻译: 奇异值分解。令 \{v_1,v_2\} 为正交归一基,M 为线性变换矩阵。对单位向量 u_1,u_2,有 Mv_1=u_1\sigma_1Mv_2=u_2\sigma_2,其中 \sigma_1,\sigma_2\in\mathbb R。对 x=\langle x,v_1\rangle v_1+\langle x,v_2\rangle v_2,先有 Mx=\langle x,v_1\rangle Mv_1+\langle x,v_2\rangle Mv_2,再得到 Mx=\langle x,v_1\rangle u_1\sigma_1+\langle x,v_2\rangle u_2\sigma_2。又因 \langle x,v_1\rangle=x^\top v_1=v_1^\top x,得到 M=u_1\sigma_1v_1^\top+u_2\sigma_2v_2^\top,矩阵形式为

M=(u_1\ u_2)\begin{pmatrix}\sigma_1&0\\0&\sigma_2\end{pmatrix}\begin{pmatrix}v_1^\top\\v_2^\top\end{pmatrix}

本页说明: 推导先把输入向量分解到右奇异向量方向,再分别缩放,最后沿左奇异向量方向重组。每一项都是一个秩一映射;矩阵乘积把这些项压缩为SVD的三因子结构。

P018
任意矩阵的SVD

原页逐句翻译: 对任意 m\times n 实矩阵 M,可写成 M=U\Sigma V^\top,其中 U=(u_1\ \cdots\ u_m)V=(v_1\ \cdots\ v_n) 都是旋转矩阵,\Sigma 为对角形。尺寸为:M:m\times nU:m\times m\Sigma:m\times nV:n\times n\Sigma 对角元素称为奇异值,U 的列称左奇异向量,V^\top 的行称右奇异向量。若 U\Sigma V^\top 是秩为 rm\times n 矩阵 X 的SVD,则 \Sigma 恰有 r 个严格正元素,它们是 X^\top Xr 个特征值的平方根,并保留对应重数;V 的列是 X^\top X 的特征向量,U 的列是 XX^\top 的特征向量。

本页说明: 这页把二维推导推广到矩形矩阵。右奇异向量位于属性空间,左奇异向量位于样本空间;非零奇异值把两边配对。对数据矩阵而言,这正好连接PCA所需的协方差谱。

P019
SVD的性质与稳定性

原页逐句翻译: SVD的适用范围:SVD不唯一,并且对任何矩阵都存在,无论矩阵是否可逆;只要相应奇异向量同步重排,奇异值也可重排;若 U\Sigma V^\topX^\top 的一个SVD,则 V\Sigma^\top U^\topX 的一个SVD。因为 U,V 是旋转矩阵,所以它们正交,即 U^\top U=I_mV^\top V=I_n。稳定性方面,小扰动在特征分解中放大因子为 \lVert P^{-1}\rVert\lVert P\rVert;在SVD中为 \lVert U^{-1}\rVert\lVert(V^\top)^{-1}\rVert=\lVert U^\top\rVert\lVert V\rVert=1

本页说明: 关键不是SVD一定更快,而是正交因子不会放大二范数误差。奇异值的顺序虽然可变,但算法约定按从大到小排列,以便截断时直接保留最重要方向。

本单元页间关系: P016几何,P017推导,P018推广,P019比较。

学生追问: P019 · 为什么SVD的稳定性因子是1学生追问 / 稳定性

问题: 图里的 \lVert P^{-1}\rVert\lVert P\rVert\lVert U^{-1}\rVert\lVert (V^\top)^{-1}\rVert=1 是什么意思?

短答案: 它在比较EVD和SVD对小误差的放大能力。EVD要用特征向量矩阵 P 换基,P 可能很歪,所以误差可能被 \lVert P^{-1}\rVert\lVert P\rVert 放大;SVD用的是正交矩阵 U,V,正交矩阵不拉长向量,所以这一部分的放大因子是1。

  • EVD那行:A 可对角化,A=PDP^{-1}。计算时要先乘 P^{-1} 进特征向量基,再乘 P 回原坐标。两个变换如果很病态,误差就会被放大。
  • SVD那行:X=U\Sigma V^\top,左右两边 UV 都是正交矩阵。正交矩阵的逆就是转置,且2-范数等于1,所以它们不会额外放大误差。
  • 关键区别: EVD的特征向量可能几乎平行,导致 P 很难逆;SVD的奇异向量总能选成正交归一,所以坐标系不会被拉歪。
A=PDP^{-1}
\kappa(P)=\lVert P^{-1}\rVert_2\lVert P\rVert_2
X=U\Sigma V^\top
U^{-1}=U^\top,\qquad (V^\top)^{-1}=V
\lVert U^{-1}\rVert_2\lVert (V^\top)^{-1}\rVert_2=\lVert U^\top\rVert_2\lVert V\rVert_2=1

怎么记: EVD是“可能用一套歪坐标系算”;SVD是“只用正交坐标系旋转/反射,再做对角缩放”。因此SVD避免了非正交基条件数造成的额外误差放大。

读完本单元应掌握: 能解释 U\SigmaV^\top 的几何角色、尺寸和稳定性。
U07 ·示例P020-P023 / 43

Householder QR:从反射示例到逐列三角化

含上下文补足

合并说明: QR定义、Householder示例、第一轮消元和完整迭代必须连续阅读,才能看清反射如何变成算法。

完整讲解

核心说明: QR用正交变换逐列消去下三角元素;先做QR再对较小的R做SVD,可还原原矩阵的SVD。
A=QR
QR为什么先出现

对高而窄矩阵,直接在原矩阵上做完整SVD成本高。QR把列空间提炼为正交基 Q,把核心数值问题压到较小上三角矩阵 R

Gram-Schmidt在课件中被标为不稳定;Householder用正交反射保持范数,适合稳定消元。

反射示例的机制

w 分成沿 u 和正交于 u 的分量。Householder矩阵减去两倍的u方向投影,因此 u 分量反号,正交分量不变。

P021图中的两条绿色向量关于竖直轴对称,直接对应 -c_1u+c_2v

从一个向量到一列零

选择反射使第一列映到第一坐标轴,第一项以下全部变零。后续反射限制在右下子块,避免破坏前面已形成的上三角结构。

重复到 \min(m-1,n) 次后得到 R;所有反射乘积仍正交,转置即可给出逆。

R 上完成SVD

X=QRR=U_1\Sigma V^\top,则 X=(QU_1)\Sigma V^\topQU_1 仍正交,所以这就是 X 的SVD。

该流程把大矩阵的列空间构造与较小核心矩阵的谱分解分开,为分布式QR和随机化PCA提供模板。

消零过程中不变量与尺寸

Householder矩阵本身正交且对称,连续左乘只改变矩阵的行方向表示,不改变列之间的内积结构。每一步选择反射向量,使当前列的尾部折叠到一个坐标上,因而用一次变换同时制造多个零。

第一轮作用于整列;第二轮把变换嵌入块对角矩阵,只作用于去掉首行首列后的子空间。这样的嵌入让已经完成的第一列保持不动。重复后,所有对角线下元素归零,得到上三角 R

Q 不能按每轮反射矩阵的原顺序直接相乘。由 R 等于若干反射左乘 X,再利用每个正交因子的逆为转置,才能整理出 X=QR。推导时要沿等式方向检查乘积顺序,避免把左乘消元顺序和最终 Q 的顺序混淆。

X 高而窄,Q 保留原列空间但可能仍很高,R 只有属性数乘属性数。对 R 做SVD的主要计算因此与行数脱钩;最终 QU_1 只负责把较小问题的左奇异方向映回原样本空间。

P021的几何示例是算法正确性的局部模型:沿 u 的分量取反、正交分量保持,保证长度不变。QR将这个动作选择为把列尾部反射到坐标轴,而不是任意做一次镜像。

本单元在知识链中的位置

承接上一单元

U06给出稳定但可能昂贵的SVD。

本单元任务

用Householder正交变换构造QR并加速SVD。

组内推进

P020定义,P021示例,P022-P023迭代。

导向下一单元

把SVD结果直接接回PCA与截断。

逐页详解P020-P023 · 4页逐句翻译 · 本页解释
P020
QR与Householder

原页逐句翻译: QR分解。列线性无关的任意 X\in\mathcal M_{m,n}(\mathbb K) 可写成 X=QR,其中 Q\in\mathcal M_{m,n}(\mathbb K) 正交,R\in\mathcal M_{n,n}(\mathbb K) 上三角。若 X 可逆,则 R 也可逆。计算QR有多种方法:著名的Gram-Schmidt不稳定;另两种常见方法基于Givens旋转与Householder反射,前者可将互不依赖的旋转分配到不同处理器,但串行运算量较大。给定向量 u,Householder反射为 H_u=I-\frac{2uu^\top}{u^\top u}。在正交归一基 \{u,v\} 中,w=c_1u+c_2v,其中 c_1=\frac{\langle w,u\rangle}{\lVert u\rVert_2^2}c_2=\frac{\langle w,v\rangle}{\lVert v\rVert_2^2}

本页说明: QR把列空间的方向信息放进正交矩阵,把坐标与尺度放进较小的上三角矩阵。Householder反射可一次消去一列对角线下方的多个元素,因此适合构造数值稳定的QR。

P021
Householder反射示例

原页逐句翻译:H_u 作用于 w

H_u(w)=\left(I-\frac{2uu^\top}{u^\top u}\right)(c_1u+c_2v)=c_1u+c_2v-\frac{2uu^\top}{u^\top u}(c_1u+c_2v)=c_1u+c_2v-2c_1u-2c_2\frac{u}{u^\top u}\langle u,v\rangle=-c_1u+c_2v

这个示例可视化为关于同时与 uv 正交的平面的反射。图中横向黄色轴是 u,竖向黄色轴是 v;绿色 wH_u(w) 分居反射面的两侧,c_1u 变为 c_1H_u(u)c_2v 保持不变。

本页说明: 逐句翻译忠实保留了源句中“正交于 u”和“v”的连接关系。实际公式用 \langle u,v\rangle=0 消掉交叉项,得到关于超平面 u^\perp 的反射;在这张二维图里,u^\perp 正是由 v 张成的直线。反射只翻转 u 分量,图中绿色向量关于竖直 v 轴对称。

P022
QR的第一步

原页逐句翻译: Householder反射可用于求矩阵 X 的QR分解。Householder反射定理表明,对范数相近的向量 x,y,存在正交矩阵 Q 使 y=Qx,由此可迭代构造 R,Q。应用思路:确定正交矩阵 Q_1,使 Q_1c_1=(\gamma_1,0,\ldots,0)^\top,其中 \gamma_1c_1 范数相近。此时 R_1 的第一列在首元素 \gamma_1 以下全为 0,右下剩余块记作 X_1,首行其余元素以星号表示。

本页说明: 逐句翻译把源文两处“范数相近(similar norm)”都译为“范数相近”。标准Householder定理要求两向量范数相等,因为正交变换保持二范数;算法中应取 \lVert\gamma_1\rVert=\lVert c_1\rVert。第一个反射一次消去第一列对角线以下全部元素,剩余子矩阵留给下一轮。

P023
QR迭代与SVD加速

原页逐句翻译: 确定正交矩阵 \widetilde Q_2,使 \widetilde Q_2\widetilde c_1=(\gamma_2,0,\ldots,0)^\top;定义 Q_2=\operatorname{diag}(I_{d_1},\widetilde Q_2) 并计算课件所示 R_2=Q_1R_1,得到前两列对角线下方为零、右下剩余块为 X_2 的结构。重复 t=\min(m-1,n) 次,得到 R=Q_tQ_{t-1}\cdots Q_2Q_1X。由正交性 Q^{-1}=Q^\top,所以 X=Q_1^\top\cdots Q_t^\top R=QR。应用到 X 的SVD:先写 X=QR;再对 R=U_1\Sigma V^\top 做SVD;最终 X=QU_1\Sigma V^\top=U\Sigma V^\top

本页说明: 每轮只在尚未处理的右下子块上工作,因此已经形成的零不会被破坏。课件刚定义 Q_2,下一行却写 R_2=Q_1R_1;按迭代逻辑应为 R_2=Q_2R_1,疑似课件笔误,逐句翻译仍保留课件原式。先QR再SVD的价值是把一个高矩阵的问题压到较小的上三角矩阵;这条路线会在分布式QR和随机化PCA中再次出现。

本单元页间关系: P020定义,P021示例,P022-P023迭代。

上下文补足:源文修正图示读取

课件P023写出 R_2=Q_1R_1;按前文新构造的第二个反射,常见递推应关注第二步左乘对当前剩余块的作用。HTML的逐页翻译忠实保留课件写法,完整讲解只使用不依赖该下标细节的迭代结构。

学生追问: P020-P021 · Householder反射怎么算学生追问 / QR

问题: Householder反射这个公式是什么意思?能不能手算一个例子?

核心意思: 给一个非零向量 u,Householder矩阵

H_u=I-2\frac{uu^\top}{u^\top u}

表示“沿着 u 这个法向量做镜面反射”。更准确地说,它把向量在 u 方向上的分量翻号,把所有垂直于 u 的分量保持不变。

  • uu^\top/(u^\top u) 是把任意向量投影到 u 方向上的投影矩阵。
  • 前面的 2 表示:先减掉一次投影会落到垂直平面上,再多减一次投影就翻到另一边。
  • 如果 w=c_1u+zz\perp u,那么 H_u w=-c_1u+z

例子1: 直接算一次反射

u=\begin{pmatrix}1\\1\end{pmatrix},反射面是和 u 垂直的直线,也就是 x+y=0。要反射 w=\begin{pmatrix}3\\1\end{pmatrix}

u^\top u=1^2+1^2=2
uu^\top=\begin{pmatrix}1\\1\end{pmatrix}\begin{pmatrix}1&1\end{pmatrix}=\begin{pmatrix}1&1\\1&1\end{pmatrix}
H_u=I-2\frac{uu^\top}{u^\top u}=I-\begin{pmatrix}1&1\\1&1\end{pmatrix}=\begin{pmatrix}0&-1\\-1&0\end{pmatrix}
H_uw=\begin{pmatrix}0&-1\\-1&0\end{pmatrix}\begin{pmatrix}3\\1\end{pmatrix}=\begin{pmatrix}-1\\-3\end{pmatrix}

用分量看也一样:wu 方向的系数是 c_1=\langle w,u\rangle/\lVert u\rVert^2=4/2=2,所以平行分量是 2u=(2,2);垂直分量是 w-2u=(1,-1)。反射后平行分量翻号,得到 -2u+(1,-1)=(-1,-3)

例子2: QR里怎么用它清零

QR里想把一列向量下面的元素清成0。取第一列 x=\begin{pmatrix}4\\3\end{pmatrix},它的长度是 5。我们希望反射后变成 y=\begin{pmatrix}5\\0\end{pmatrix}。选Householder法向量

u=x-y=\begin{pmatrix}4\\3\end{pmatrix}-\begin{pmatrix}5\\0\end{pmatrix}=\begin{pmatrix}-1\\3\end{pmatrix}
u^\top u=(-1)^2+3^2=10
H=I-2\frac{uu^\top}{u^\top u}=\begin{pmatrix}0.8&0.6\\0.6&-0.8\end{pmatrix}
Hx=\begin{pmatrix}0.8&0.6\\0.6&-0.8\end{pmatrix}\begin{pmatrix}4\\3\end{pmatrix}=\begin{pmatrix}5\\0\end{pmatrix}

现在把它用在一个矩阵上:

A=\begin{pmatrix}4&1\\3&2\end{pmatrix}
HA=\begin{pmatrix}0.8&0.6\\0.6&-0.8\end{pmatrix}\begin{pmatrix}4&1\\3&2\end{pmatrix}=\begin{pmatrix}5&2\\0&-1\end{pmatrix}=R
H^\top H=I,\quad H^\top=H,\quad A=HR

所以这个例子里已经得到一个QR分解:Q=HR=\begin{pmatrix}5&2\\0&-1\end{pmatrix}。有些教材会要求 R 的对角线为正,那只要把第二列/第二行符号同步翻一下即可;清零逻辑不变。

和课件公式的关系: 课件写 w=c_1u+c_2v,就是先把 w 拆成沿 u 的分量和垂直方向的分量。若 \{u,v\} 真的是标准正交基,则分母都是1;课件保留 \lVert u\rVert_2^2\lVert v\rVert_2^2,是适用于非单位向量的投影写法。

例子3: 真正按Householder QR做两步

取一个 3\times2 矩阵:

A=\begin{pmatrix}4&4\\3&-2\\0&3\end{pmatrix}

第1步: 看第一列 x_1=(4,3,0)^\top,长度是 5,目标是把它反射成 (5,0,0)^\top。选

u_1=x_1-\begin{pmatrix}5\\0\\0\end{pmatrix}=\begin{pmatrix}-1\\3\\0\end{pmatrix}
H_1=I-2\frac{u_1u_1^\top}{u_1^\top u_1}=\begin{pmatrix}0.8&0.6&0\\0.6&-0.8&0\\0&0&1\end{pmatrix}
A_1=H_1A=\begin{pmatrix}5&2\\0&4\\0&3\end{pmatrix}

第一列下面已经清零了。接下来不能再动第一行第一列,只处理右下角剩下的子块。

第2步: 现在看第二列的下半段 x_2=(4,3)^\top,长度还是 5,目标是 (5,0)^\top。选

u_2=x_2-\begin{pmatrix}5\\0\end{pmatrix}=\begin{pmatrix}-1\\3\end{pmatrix}
\widetilde H_2=\begin{pmatrix}0.8&0.6\\0.6&-0.8\end{pmatrix}
H_2=\begin{pmatrix}1&0&0\\0&0.8&0.6\\0&0.6&-0.8\end{pmatrix}
R=H_2A_1=H_2H_1A=\begin{pmatrix}5&2\\0&5\\0&0\end{pmatrix}

所以Householder QR的结构是:

R=H_2H_1A
A=(H_2H_1)^\top R=H_1H_2R
Q=H_1H_2,\qquad A=QR

这就是课件说的“重复反射,逐列把主元下面清成0”。每个 H_i 都是正交,所以连乘出来的 Q 仍然正交。

学生追问: P020 · 上三角矩阵必须是方阵吗学生追问 / QR

问题: 上三角矩阵的定义是什么?QR里面的 R 不是方阵时,也能叫上三角吗?

短答案: 方阵上三角是最标准的定义;矩形矩阵也可以有“上三角型”结构。QR里常见的矩形 R 更准确叫 上梯形,规则还是:主对角线下面的位置全是0。

\text{upper triangular square matrix: }r_{ij}=0\quad(i>j)
\text{矩形上三角(上梯形): }r_{ij}=0\quad(i>j)

比如Householder QR例子里得到:

R=\begin{pmatrix}5&2\\0&5\\0&0\end{pmatrix}
r_{21}=0,\qquad r_{31}=0,\qquad r_{32}=0

这些正好都是主对角线下面的位置,所以这个 3\times2 矩阵是合法的矩形上三角(上梯形) R

为什么会出现矩形: 如果原矩阵 Am\times n,完整QR常写成 A=QR,其中 Qm\times mRm\times n。当 m>n 时,R 就是一个高矩形,上面是一个 n\times n 的方阵上三角块,下面多出来的行全是0。

R=\begin{pmatrix}R_{11}\\0\end{pmatrix},\qquad R_{11}\in\mathbb R^{n\times n}\text{ is upper triangular}

经济型QR: 如果用经济型/薄型QR,会把下面全0的行省掉,所以 R 变成 n\times n 方阵上三角。上面的例子就会写成:

R_{\text{thin}}=\begin{pmatrix}5&2\\0&5\end{pmatrix}
学生追问: P022-P023 · 课件符号和3×2例子怎么对应学生追问 / QR

问题: P022-P023里的Householder QR过程,是不是就是前面 3\times2 矩阵例子的计算?

答案: 是。同一个过程。课件是符号版:每一步找一个正交矩阵,把当前子块的第一列反射到坐标轴上;前面的 3\times2 例子就是把这些符号换成具体数字。

X=A=\begin{pmatrix}4&4\\3&-2\\0&3\end{pmatrix}
c_1=\begin{pmatrix}4\\3\\0\end{pmatrix},\qquad \gamma_1=\lVert c_1\rVert=5,\qquad Q_1=H_1
R_1=Q_1X=H_1A=\begin{pmatrix}5&2\\0&4\\0&3\end{pmatrix}

这对应P022:第一列下面被清成0,剩下右下角子块就是下一轮要处理的东西。

\widetilde c_1=\begin{pmatrix}4\\3\end{pmatrix},\qquad \gamma_2=5,\qquad \widetilde Q_2=\widetilde H_2
Q_2=\operatorname{diag}(I_1,\widetilde Q_2)=H_2
R=Q_2R_1=Q_2Q_1X=H_2H_1A=\begin{pmatrix}5&2\\0&5\\0&0\end{pmatrix}

这对应P023:把第二列主元下面也清成0。截图里如果看到 R_2=Q_1R_1,按迭代逻辑应理解为第二步继续左乘新的 Q_2,也就是 R_2=Q_2R_1

最后把左乘过程反过来,就是QR:

R=Q_2Q_1X
X=Q_1^\top Q_2^\top R=QR
\text{在这个例子里 }H_1^\top=H_1,\ H_2^\top=H_2,\ \text{所以 }Q=H_1H_2

结论: P022-P023是算法模板;前面那个 3\times2 矩阵就是模板的一次完整手算。

读完本单元应掌握: 能从反射公式解释消零,并写出QR后做SVD的三步。
U08 · 模型P024-P025 / 43

PCA、SVD与截断低秩近似

合并说明: 第一页证明SVD如何给出协方差谱,第二页紧接着比较实现路线并给出截断规则。

完整讲解

核心说明: 对中心化数据,SVD直接给出PCA:右奇异向量是主方向,奇异值平方按同一比例对应方差;截断较小奇异值即得低秩近似。
X^\top X=V\Sigma^2V^\top
从SVD读取PCA

X^\top X 中的 U^\top U 化为单位阵,留下 V\Sigma^2V^\top。于是 V 是主方向,奇异值平方是方差。

主成分得分XV等于 U\Sigma;它把每个样本变换到主坐标。

为什么截断能降维

把奇异值按从大到小排列,只保留前 k 项,就保留方差最大的 k 个方向。数据从 n 个属性变为 k 个坐标。

直接特征分解可能稍快但受稳定性影响;SVD对任意矩阵存在且使用正交因子,因正交因子而避免基矩阵条件数造成的额外放大。

边界与取舍

课件只给出保留最大 k 个主成分的原则,没有规定 k。实际需要用累计解释方差、存储预算或下游误差选择。

无论采用哪条计算路线,降维结果都由保留的子空间决定;算法差别在稳定性和代价。

由谱到低秩近似的完整含义

PCA输入先按列中心化。此时 X^\top X 与样本协方差矩阵只差一个整体缩放常数;这个常数改变特征值大小但不改变特征向量,所以不影响主方向。课件为突出结构省略了该常数。

X 右乘 V 等于把每个样本的属性向量换到右奇异向量基。结果 U\Sigma 的第 j 列就是第 j 个主成分得分;该列平方范数由对应奇异值控制,因此奇异值平方代表该方向贡献。

保留前 k 项后得到的不是原始属性子集,而是一个 k 维线性子空间。重构时用保留得分乘回相应方向,可得到原矩阵的秩 k 近似。被丢弃奇异值的平方和衡量Frobenius范数下的重构损失。

P025对速度的表述是定性比较。显式形成 X^\top X 会把条件数平方,可能损害小奇异值;直接对 X 做SVD因正交因子而避免基矩阵条件数造成的额外放大。具体速度仍取决于矩阵尺寸、稀疏性和所用实现。

选择 k 是准确率与资源之间的接口:较大的 k 保留更多方差,也增加存储和下游计算。课件没有规定阈值,因此本讲能保证的是排序与截断机制,不是一个适用于所有任务的固定 k

截断后若要解释某个主成分,必须查看对应右奇异向量中各原属性的系数;主成分得分本身只给样本在新轴上的位置。方向系数与样本得分承担不同角色,不能混为同一张表。

本单元在知识链中的位置

承接上一单元

U07提供稳定求SVD的QR路线。

本单元任务

证明SVD等价读取PCA并定义截断。

组内推进

P024做代数连接,P025给工程选择。

导向下一单元

切换到矩阵无法单机容纳的大数据。

逐页详解P024-P025 · 2页逐句翻译 · 本页解释
P024
PCA与SVD的等价连接

原页逐句翻译:X 是表示数据集的 m\times n 矩阵,其中 m 是样本数,n 是属性数。PCA需要确定协方差矩阵 C=X^\top X 的特征值。利用 X=U\Sigma V^\top

X^\top X=(U\Sigma V^\top)^\top(U\Sigma V^\top)=V\Sigma^\top U^\top U\Sigma V^\top=V\Sigma^2V^\top

主成分为 XV=U\Sigma V^\top V=U\Sigma,奇异值是特征值的平方根。

本页说明: 右奇异向量矩阵就是协方差矩阵的特征向量矩阵,奇异值平方就是沿这些方向的方差。因而可以直接对数据矩阵做SVD,而不必显式形成协方差矩阵。

P025
截断实现降维

原页逐句翻译: 降维。给定数据集,希望用最少空间保留最多信息。可用两种方式运行PCA:特征值分解可能稍快但不稳定,特征值对应主成分方差;SVD可能稍慢但稳定,奇异值平方对应主成分方差。通过截断矩阵,只保留最大的 k 个主成分。

本页说明: 排序后保留前 k 个方向,就是低秩近似。选择越小,存储和后续计算越省,但丢失的方差越多;课件强调的是方法关系与稳定性,并未给出自动选择阈值。

本单元页间关系: P024做代数连接,P025给工程选择。

读完本单元应掌握: 能从 X 的SVD推出主成分方向、得分和方差。
M03

大数据:高而窄矩阵计算

在矩阵不入内存时控制通信、热点与块依赖。

P026-P036

内容衔接: 保留小数据的谱目标,但把矩阵形状、存储和通信加入算法。

U09 · 系统P026-P027 / 43

从单机线性代数切换到分布式矩阵

合并说明: 章节分隔页宣布大数据,下一页马上定义矩阵形状和分区方式,两页共同改变计算模型。

完整讲解

核心说明: 进入大数据阶段,PCA的目标未变;约束改为数据怎样分区、哪些计算可本地完成,以及哪些结果必须跨节点传输。
X\in\mathbb R^{m\times n},\quad X^\top X\in\mathbb R^{n\times n}
变化的是计算条件

PCA的数学目标没有改变,但 X 已无法完整驻留内存。矩阵的高宽比、稀疏度和分区方式决定数据移动。

按行、按列、按元素和按块不是展示细节,它们决定映射任务能看到什么、QR的块更新放在哪里。

形状为何重要

高而窄矩阵有很多样本和较少属性,允许 n\times n Gram矩阵留在单机。短而宽或其他形状则可能需要随机投影等不同工具。

布局决定数据移动

同一矩阵按行分区时,每个节点可直接计算局部行外积;按列分区时,列范数可本地获得,但列对内积需要跨节点对齐;按块分区则适合矩阵乘法和分块QR。选择布局就是选择哪些操作本地、哪些操作通信。

稀疏矩阵不能只用 mn 判断成本,还要看每行非零数 L。后续MapReduce基线的发射量与 L 的平方有关;稀疏度若分布不均,某些键仍会成为热点。

高而窄矩阵的特殊性是属性数 n 足够小,使 n\times n 的核心矩阵能集中处理。若 n 也很大,Gram矩阵本身就不再是可放入单机的压缩目标,需要随机摘要或分层方法。

本单元在知识链中的位置

承接上一单元

U08完成单机上的PCA/SVD。

本单元任务

建立分布式内存、形状和布局约束。

组内推进

P026切换阶段,P027定义系统变量。

导向下一单元

利用高而窄形状压缩计算。

逐页详解P026-P027 · 2页逐句翻译 · 本页解释
P026
进入大数据

原页逐句翻译: 章节组织:中心主题是“降维”,分支为“复习”“小数据”“大数据”;本页高亮“大数据”。

本页说明: 分隔页表示数学目标不变,但实现条件改变:矩阵无法放进单机内存,矩阵形状、存储布局和通信量成为算法的一部分。

P027
分布式矩阵表示

原页逐句翻译: 分布式系统。m\times n 矩阵 X 可以是稠密、稀疏、方阵、高而窄(高而窄)或矮而宽(矮而宽)。在多个节点上表示矩阵的方式包括按行或按列、按元素、按块。说明:矩阵不再能放入内存;矩阵形状与表示方式会影响速度。

本页说明: 按行存储适合逐行生成外积,按块存储适合分块QR;稀疏度决定一行中真正需要参与配对的元素数。这里先建立系统变量,下一单元专门利用高而窄矩阵的形状。

本单元页间关系: P026切换阶段,P027定义系统变量。

读完本单元应掌握: 能说明矩阵形状与分区如何影响通信和算法选择。
U10 · 算法P028-P030 / 43

高而窄矩阵的Gram矩阵MapReduce

合并说明: 设置、把问题压成 X^\top X、以及直接MapReduce实现构成一个完整基线算法。

完整讲解

核心说明: 对高而窄矩阵,MapReduce以行内乘积和按列对聚合精确形成X^T X;瓶颈在L² 级混洗与热门键。
(X^\top X)_{jk}=\sum_{i=1}^{m}x_{ij}x_{ik}
利用 m\gg n

完整矩阵太高,但 n^2 可以留在单机。形成 X^\top X 后,海量样本维被求和消去,只剩属性对之间的内积。

谱分解随后在 n\times n 矩阵上进行,成本不再随 m 扩展;形成Gram矩阵本身仍必须扫描所有行。

Mapper和Reducer在算什么

每行对非零列做两两配对,乘积发给对应列对键。Reducer汇总同一列对跨所有行的乘积,恰好得到Gram矩阵一个条目。

按行存储让Mapper可本地生成外积,但一行 L 个非零项会产生 L^2 级消息。

基线的两个瓶颈

混洗数据量随 mL^2 增长,热门键还可能积累 m 个值。前者是网络总量,后者是单个归约任务热点,必须分开理解。

归一化到 [-1,1] 控制元素尺度,为后续基于概率的近似和误差界做准备。

正确性、通信量与数值代价

Gram矩阵第 j,k 个条目等于所有行上 x_{ij}x_{ik} 的和。Mapper按行生成这些乘积,Reducer按列对聚合,所以算法在代数上精确对应矩阵乘法;键只是把求和项路由到正确位置。

对称性意味着 j,kk,j 条目相同,工程实现可只计算一个三角部分再镜像,但课件的复杂度讨论保留所有有序列对。无论是否利用对称性,行内配对数仍由非零列数决定。

混洗数据量衡量网络中移动的总键值数量;归约键复杂度衡量最坏单键的值数。增加归约任务数量能分散不同键,却不能自动拆掉一个超热门键,因此二者需要不同优化。

形成 X^\top X 会把奇异值平方。原矩阵条件数较大时,小奇异方向的相对舍入误差会被平方后的条件数放大;P029所说“确保奇异值不被显著改变”因此不仅是采样问题,也包含数值稳定性。

把元素缩放到 [-1,1] 控制单个乘积范围,便于概率界和有限精度求和。它不会消除列范数差异,后续余弦采样正是再用列范数调节保留概率。

本单元在知识链中的位置

承接上一单元

U09给出分布式布局与高而窄形状。

本单元任务

构造精确Gram矩阵的MapReduce基线。

组内推进

P028设条件,P029压缩目标,P030实现与复杂度。

导向下一单元

用余弦采样降低通信与热点。

逐页详解P028-P030 · 3页逐句翻译 · 本页解释
P028
高而窄矩阵设置

原页逐句翻译: 设置:X 无法放入内存;X 的行数远大于列数,即 m\gg nn^2 可放入单机内存。运行PCA时:完整SVD的复杂度为 \mathcal O(mn^2);只需要最重要的 k 个奇异值与奇异向量;所需工作为 \mathcal O(mk^2)。能否利用 X 的形状加速?

本页说明: 高而窄意味着样本极多、属性相对少。关键机会是把依赖海量行的数据压缩成一个 n\times n 的小矩阵,再在单机上做谱分解。

P029
把问题压到Gram矩阵

原页逐句翻译: 由第4.22页,C=X^\top X=V\Sigma^2V^\top,式 (4.2)。C 的维度为 n\times n,且假设单机有 n^2 内存,所以它能放入内存。于是希望计算 X^\top X,避免后续计算依赖 m;随后通过课件标为“??”的引用式求 C 的特征值并恢复 V,\Sigma。主要挑战是高效计算 X^\top X,同时不显著改变 C 的奇异值。准备:矩阵按行存盘;所有元素归一化到 [-1,1],即除以最大元素。

本页说明: 这里“避免依赖 m”是指压缩后的谱分解不再扫描所有行,不是说形成 X^\top X 可以零成本。形成Gram矩阵仍需遍历数据并通信;P030给出直接MapReduce基线。

P030
直接MapReduce基线

原页逐句翻译: 计算 X^\top X 的直接MapReduce:Mapper对第 i 行的所有元素对 (x_{ij},x_{ik}),返回键值对 ((c_j,c_k),x_{ij}x_{ik}),其中 c_j,c_k 分别对应第 j,k 列。Reducer对同一键 (c_i,c_j) 的值序列 \langle v_1,\ldots,v_R\rangle,其中每个 v_kX 中元素的乘积,R 是非零乘积数,并计算 \sum_{i=1}^{R}v_i。复杂度:通信混洗数据量为 \mathcal O(mL^2)L 是一行最多非零元素数;单机热点归约键复杂度为 \mathcal O(m)

本页说明: 每个输出键对应Gram矩阵的一个列对条目。问题在于一行有 L 个非零元素时会产生平方级配对,而热门列对还会把最多 m 个值集中到一个归约任务;下一单元通过概率采样减轻这两处压力。

本单元页间关系: P028设条件,P029压缩目标,P030实现与复杂度。

学生追问: P028 · PCA/SVD复杂度为什么是这些量级学生追问 / 复杂度

问题: 从SVD做PCA不是还是要算 X^\top X 吗?为什么完整PCA是 O(mn^2),课件又写前k个工作量是 O(mk^2)?是不是必须靠迭代法?

先纠正: 你质疑得对。不能从原始稠密 X\in\mathbb R^{m\times n} 直接把 n 换成 k,然后说总复杂度就是 O(mk^2)。如果还没找到前 k 个主方向,那些方向仍然藏在原来的 n 维属性空间里。

1.完整PCA为什么是O(mn²)

完整协方差路线确实要算:

C=X^\top X
X\in\mathbb R^{m\times n},\qquad X^\top X\in\mathbb R^{n\times n}
(X^\top X)_{ab}=\sum_{i=1}^{m}x_{ia}x_{ib}
  • X^\top Xn^2 个元素。
  • 每个元素是两个长度为 m 的列向量点积,成本是 O(m)
  • 所以形成整个 X^\top X 的成本是 O(mn^2)
  • 之后对 n\times n 矩阵做EVD还要 O(n^3)
\text{full 协方差 PCA}=O(mn^2+n^3)
m\gg n\quad\Longrightarrow\quad O(mn^2+n^3)\approx O(mn^2)

所以完整PCA / 完整SVD那行 O(mn^2) 是合理的。

2.从原始m×n数据找前k个时,成本不是O(mk²)

如果只要前 k 个主方向,仅求前k个方向的算法不会完整构造 X^\top X。它会反复做矩阵乘法,例如:

Xq\quad\text{and}\quad X^\top y
X\Omega,\qquad \Omega\in\mathbb R^{n\times k}

一次稠密乘法 X\Omega 的规模是:

(m\times n)(n\times k)\quad\Longrightarrow\quad O(mnk)

所以截断SVD / Lanczos / 随机化SVD这一类前k个方法,常见成本更像:

O(mnk+(m+n)k^2)

这就是你查到“要靠迭代 / 随机化 / Krylov方法”的原因。它们避免了 n\times n 的完整EVD,但没有让原始维度 n 从总成本里完全消失。

还可用输入读取量给出下界:原始稠密矩阵有 mn 个数。任何读取原始矩阵的精确算法至少要读入这些数据,所以当 k^2\ll n 时,声称总成本只有 O(mk^2) 本身就不可能覆盖读入成本。

\text{raw dense input reading cost}=\Omega(mn)
O(mk^2)\lt O(mn)\quad\text{when }k^2\ll n

3.那O(mk²) 在什么情况下成立

O(mk^2) 成立的前提是:你已经把问题变成了一个只有 k 列的子问题。也就是说,手上已经有:

Y\in\mathbb R^{m\times k}

这时再算小协方差:

Y^\top Y\in\mathbb R^{k\times k}
(Y^\top Y)_{ab}=\sum_{i=1}^{m}y_{ia}y_{ib}
\#\text{entries}=k^2,\qquad \text{cost per entry}=O(m)
\text{cost}(Y^\top Y)=O(mk^2)
\text{EVD of }k\times k\text{ matrix costs }O(k^3)
\text{after-reduction cost}=O(mk^2+k^3)\approx O(mk^2)

但这个 Y 不是凭空来的。它可能来自随机投影、列采样、已有低秩因子、前面某个QR/摘要步骤,或者原始矩阵本来就只有 k 个有效列。生成这个 Y 的成本要另算。

4.这页幻灯片应该怎么读

所以这页里的三行更稳妥的读法是:

  • 完整SVD: 如果完整处理全部 n 个属性,成本是 O(mn^2)
  • 只需要前k个: PCA最后只需要前 k 个重要方向,所以有机会避免完整完整SVD。
  • 工作量所需O(mk²): 这不是从原始 m\times n 稠密矩阵直接求前k个的完整证明;它应理解为“进入 k 维子问题以后,后续分解/小协方差的成本”。

因此原来那段需要删改: 不能写成“不用迭代也能从原始矩阵做到 O(mk^2)”。正确说法是:如果从原始 X 求前k个,需要迭代、随机化或摘要方法,成本常见为 O(mnk+(m+n)k^2)O(mk^2) 只是已经降到 k 列后的后续成本。

学生追问: P029 · 方程 ?? 到底指什么学生追问 / 引用

问题: 幻灯片里写 “使用方程 ??”,这个方程到底是什么?

答案: 这是课件的交叉引用坏了。它应该指回前面PCA和SVD的关系,也就是:

C=X^\top X=V\Sigma^2V^\top

这条公式来自中心化后的数据矩阵的SVD:

X=U\Sigma V^\top
X^\top X=(U\Sigma V^\top)^\top(U\Sigma V^\top)
X^\top X=V\Sigma^\top U^\top U\Sigma V^\top=V\Sigma^2V^\top

它为什么有用: 如果我们能算出小矩阵 C=X^\top X,就能对 C 做EVD:

C=V\Lambda V^\top
\Lambda=\Sigma^2
\sigma_i=\sqrt{\lambda_i}

所以从 C 的特征向量可以拿到PCA/SVD里的 V;从 C 的特征值可以开根号拿到奇异值 \Sigma

这页的意思: 对高而窄矩阵,X 太大放不进内存,但 C=X^\top X 只有 n\times n,可以放进单机内存。于是先分布式算 X^\top X,再用这条断开的引用对应的公式恢复 V\Sigma

读完本单元应掌握: 能从列对键解释 X^\top X 的形成,并区分混洗与归约键复杂度。
U11 · 算法P031-P035 / 43

余弦采样:从文档相似度到无偏Gram近似

含上下文补足

合并说明: 长度偏差、余弦定义、采样算法、期望证明与参数复杂度是一条完整的动机到保证链。

完整讲解

核心说明: 余弦采样先排除文档长度的影响,再以无偏重加权减少通信;γ 决定精度与工作量的交换。
p_{jk}=\min\left(1,\frac{\gamma}{\lVert c_j\rVert\lVert c_k\rVert}\right)
为什么原始点积会误判

词频向量的点积同时受方向和长度影响。长文档会因词数大获得高得分,短摘录即使与原文同向也可能被低估。

余弦把内积除以两列范数,比较的是方向。P032图中夹角小的向量代表相似词分布。

采样概率如何分配

算法用列范数决定每个列对乘积是否发射。最小值分支保证概率不超过一,\gamma 统一调节保留率。

被采样值按概率倒数重加权,所以低概率样本虽然少,每个权重更大。

为什么估计在期望上正确

把未采样项记为零,对随机输出求期望时,采样概率与倒数权重相消,得到归一化列内积。

输出 X^{\prime} 是列间余弦矩阵;用列范数对角矩阵 D 左右缩放,恢复Gram矩阵尺度。

精度、通信与热点的交换

\gamma 越大,样本越多,谱和条目的保留概率提高,但混洗和归约任务工作都增加。不同目标给出不同的 \gamma 下界。

列范数必须预计算,带来一次全节点互传;最小非零值 h 很小时,复杂度中的逆平方项会恶化。

保证的边界

无偏只描述重复随机运行的平均,不保证单次误差为零。Latala定理提供高概率谱保持,但课件没有展开常数和完整条件。

因此该方法适合通信受限、允许概率近似的高而窄PCA。

把随机算法逐步还原

对每个列对,直接算法会发送所有非零乘积。采样算法把是否发送变成Bernoulli随机事件。概率由列范数和 \gamma 决定,Reducer再除以相应尺度,使被保留的少量项代表完整和。

P034的期望等式应按单个求和项理解:指示变量为一时保留 v_i,为零时丢弃。线性期望允许先分别求每项期望再相加,不要求不同列对的输出在一次运行中完全独立。

X^{\prime} 中的条目是归一化内积,因此对角线在理想情况下接近一。D 左右缩放分别恢复两列的范数;第 j,k 项由余弦乘两列范数,回到原始内积。

若目标是条目近似,\gamma 可随最低关注相似度调节;若目标是谱保持,需要更强的随 n 和相对误差增长的条件。两种下界对应不同质量指标,不能互换。

预计算列范数的全节点互传是固定启动成本。采样只有在后续减少的混洗和热点足以抵消这次通信时才有价值;这取决于数据稀疏度、h\gamma 和集群网络。

本单元在知识链中的位置

承接上一单元

U_10的精确列对计算通信过大。

本单元任务

用余弦归一化和随机采样近似Gram矩阵。

组内推进

P031-P032建概念,P033算法,P034证明,P035代价。

导向下一单元

另一条路线是直接把QR按块分布化。

逐页详解P031-P035 · 5页逐句翻译 · 本页解释
P031
词频相似度的缺陷

原页逐句翻译: 衡量多个文档之间的距离:统计所有词的出现次数;比较得分;若文档有很多共同词,就认为它们相似。限制:取三个文档 d_1,d_2,d_3,其中 d_1,d_2 很长,而 d_3d_1 的摘录。很可能发生什么?

本页说明: 原始内积会偏向长文档:两个长文档即便主题不同,也可能因词数大而有较大重叠;摘录与原文方向接近,却因长度短得到较小点积。余弦相似度通过向量范数归一化,把比较重点从长度移到方向。

P032
余弦相似度

原页逐句翻译: 对向量 d_i,d_j,余弦相似度定义为 \cos(d_i,d_j)=\frac{\langle d_i,d_j\rangle}{\lVert d_i\rVert\lVert d_j\rVert}。基本想法:两个文档越接近,夹角越小;夹角越小,余弦越大。图中坐标轴为word1、word2、word3,向量为 d_1,d_2,d_3,白色弧线表示夹角。更精细的策略:按意义对词分类;基于词语义考虑余弦相似度。

本页说明: 图先看方向而不是箭头长度:绿色 d_1 与黄色 d_3 夹角小,即使长度不同也相似;橙色 d_2 指向不同方向。分母把向量归一化,因此余弦只衡量方向一致性。

P033
按余弦概率采样

原页逐句翻译: 固定可在MapReduce运行时调节的参数 \gamma。用余弦相似度计算 X^\top X:Mapper对第 i 行中每对 (x_{ij},x_{ik}),以概率 \min\left(1,\frac{\gamma}{\lVert c_j\rVert\lVert c_k\rVert}\right) 返回 ((c_j,c_k),x_{ij}x_{ik})。Reducer对键 (c_i,c_j) 的值 \langle v_1,\ldots,v_R\rangle:若 \frac{\gamma}{\lVert c_j\rVert\lVert c_k\rVert}>1,返回 \frac{1}{\lVert c_j\rVert\lVert c_k\rVert}\sum_{i=1}^{R}v_i;否则返回 \frac{1}{\gamma}\sum_{i=1}^{R}v_i

本页说明: 列范数大的列对被较低概率采样,但归约任务用采样概率的倒数重加权。\gamma 越大,保留项越多、误差越小、通信越大;分支 \min(1,\cdot) 防止概率超过 1

P034
无偏性与恢复Gram矩阵

原页逐句翻译: Reducer实际返回的不是 X^\top X,而是含 X 各列余弦相似度的矩阵 X^{\prime}。令 \bar v_i=v_i 当对应键值对被返回,否则 \bar v_i=0,则输出期望为

\mathbb E\left(\frac{1}{\gamma}\sum_{i=1}^{R}\bar v_i\right)=\frac{1}{\gamma}\Pr(\bar v_i=v_i)\sum_{i=1}^{R}v_i=\frac{1}{\lVert v_j\rVert\lVert v_k\rVert}\sum_{i=1}^{R}v_i

要从 X^{\prime} 恢复 X^\top X,定义对角矩阵 D,其 d_{ii}=\lVert c_i\rVert,再计算 X^\top X\approx DX^{\prime}D。Latala定理可证明,用余弦相似度采样列时,奇异值以“足够高”的概率被保留。

本页说明: P033的列范数一直记为 c_j,c_k,P034期望式分母却突然写成 \lVert v_j\rVert\lVert v_k\rVert,这是符号切换或疑似课件笔误;按列向量记号应与前页保持一致。期望式说明重加权消除了采样偏差,但单次运行仍有随机误差。余弦矩阵去掉列尺度,左右乘 D 把尺度放回。

P035
采样参数与复杂度

原页逐句翻译: 说明:Mapper使用 \lVert c_i\rVert,所以必须预先计算所有列范数,这需要一次全节点互传通信。参数 \gamma 可按目标调整:保留 X^\top X 中相似条目时,\gamma=\Omega(\frac{\log n}{s}),其中 s 是最低余弦相似度;保留 X^\top X 的奇异值时,\gamma=\Omega(\frac{n}{\varepsilon^2}),其中 \varepsilon 是相对误差。令 h 为归一化后最小非零值,混洗数据量为 \mathcal O(\frac{nL\gamma}{h^2}),归约键复杂度为 \mathcal O(\frac{\gamma}{h^2})

本页说明: 这页给出真实代价:采样前要付列范数的全局通信;之后 \gamma 控制精度与流量。若 h 很小,复杂度中的 1/h^2 会放大,说明极小非零元素会削弱采样收益。

本单元页间关系: P031-P032建概念,P033算法,P034证明,P035代价。

上下文补足: 采样期望推导入口

上下文补足:若随机变量以概率 p 取值 v/p、否则取 0,则其期望为 p(v/p)=v。P034的重加权使用同一原则,只是目标值是归一化列内积。

学生追问: P031-P035 · 余弦相似度采样这几页到底在干什么学生追问 / 采样

问题: 这几页从文档相似度跳到MapReduce采样,再跳到恢复协方差乘积,中间到底怎么连起来?

总线索: 目标仍然是计算高而窄矩阵的 X^\top X。朴素做法要对每一行产生很多列对乘积,混洗太大。余弦采样的想法是:不要无差别发送所有列对,只更积极地保留“重要/相似”的列对,然后用无偏缩放把结果拉回正确尺度。

1. P031-P032: 为什么先讲文档余弦相似度

  • 把一个文档看成词频向量:每个坐标是一类词出现的次数。
  • 直接比较常见词计数会偏向长文档。长文档天然有更多词,和很多文档都会有交集。
  • 余弦相似度改成看夹角:长度影响被除掉,更关注两个向量的方向是否相似。
\cos(d_i,d_j)=\frac{\langle d_i,d_j\rangle}{\lVert d_i\rVert\lVert d_j\rVert}

如果夹角小,余弦接近1,表示方向接近;如果夹角接近90度,余弦接近0,表示共同结构弱。课件用文档做入口,是因为后面要把“文档向量相似”换成“矩阵列向量相似”。

2.真正目标: 算 X^\top X 的列对内积

X 的第 j 列是 c_j。那么协方差-例如乘积的第 (j,k) 个元素是:

(X^\top X)_{jk}=c_j^\top c_k=\sum_i x_{ij}x_{ik}
  • 朴素MapReduce:每一行 i 对所有非零列对 (j,k) 发出 x_{ij}x_{ik}
  • Reducer对同一个键 (c_j,c_k) 的值求和,就得到 c_j^\top c_k
  • 问题:如果每行有 L 个非零元素,这一行会产生大约 L^2 个列对,混洗会爆。

3. P033: Mapper为什么按这个概率采样

课件把列对 (c_j,c_k) 的发送概率设成:

p_{jk}=\min\left(1,\frac{\gamma}{\lVert c_j\rVert\lVert c_k\rVert}\right)
  • \gamma 是调节采样强度的参数。越大,发送越多,估计越稳,但通信越贵。
  • 分母是两列的范数乘积。后面归约任务要估计余弦相似度,所以这个范数乘积必须进入缩放。
  • 如果 \gamma/(\lVert c_j\rVert\lVert c_k\rVert)\ge1,概率截断为1,表示这个列对全部保留。
  • 如果概率小于1,就只抽样一部分行里的乘积,再用 1/\gamma 做缩放。

所以映射任务不是直接估计 X^\top X,而是在准备估计列之间的余弦相似度。

4. P034: Reducer返回的是余弦矩阵,不是 X^\top X

令一行贡献为:

v_i=x_{ij}x_{ik}

如果这个对被采样,就令 \bar v_i=v_i;如果没被采样,就令 \bar v_i=0。当 p_{jk}=\gamma/(\lVert c_j\rVert\lVert c_k\rVert)<1 时:

\mathbb E(\bar v_i)=p_{jk}v_i
\mathbb E\left(\frac{1}{\gamma}\sum_i\bar v_i\right)=\frac{1}{\gamma}p_{jk}\sum_i v_i
=\frac{1}{\lVert c_j\rVert\lVert c_k\rVert}\sum_i x_{ij}x_{ik}
=\frac{c_j^\top c_k}{\lVert c_j\rVert\lVert c_k\rVert}=\cos(c_j,c_k)

这说明归约任务的期望输出是列 c_j 和列 c_k 的余弦相似度。若采样概率被截断为1,归约任务直接返回 (1/(\lVert c_j\rVert\lVert c_k\rVert))\sum_i v_i,也是同一个余弦值。

5.为什么用 DX^{\prime}D 能恢复 X^\top X

X^{\prime} 是归约任务得到的余弦相似度矩阵:

X^{\prime}_{jk}\approx\frac{c_j^\top c_k}{\lVert c_j\rVert\lVert c_k\rVert}

再定义对角矩阵:

D=\operatorname{diag}(\lVert c_1\rVert,\lVert c_2\rVert,\ldots,\lVert c_n\rVert)

那么:

(DX^{\prime}D)_{jk}=\lVert c_j\rVert X^{\prime}_{jk}\lVert c_k\rVert
\approx \lVert c_j\rVert\frac{c_j^\top c_k}{\lVert c_j\rVert\lVert c_k\rVert}\lVert c_k\rVert=c_j^\top c_k
DX^{\prime}D\approx X^\top X

这就是P034的核心:先估计余弦矩阵,再把列范数乘回去,恢复协方差乘积的尺度。

P034最后提到Latala's定理,作用不是让你在这里证明定理,而是说明:在合适的采样强度下,用余弦相似度采样得到的近似矩阵,可以以足够高概率保留原来 X^\top X 的奇异值。也就是说,这个近似不是只在单个条目上看起来合理,还能在谱性质上保持可用。

一个2列小例子

取两列:

c_1=\begin{pmatrix}3\\4\end{pmatrix},\qquad c_2=\begin{pmatrix}4\\0\end{pmatrix}
c_1^\top c_2=12,\qquad \lVert c_1\rVert=5,\qquad \lVert c_2\rVert=4
\cos(c_1,c_2)=\frac{12}{5\cdot4}=0.6
D=\operatorname{diag}(5,4),\qquad X^{\prime}_{12}=0.6
(DX^{\prime}D)_{12}=5\cdot0.6\cdot4=12=(X^\top X)_{12}

6. P035: γ、预计算和复杂度怎么读

  • 列范数要预先算: 映射任务的采样概率用到 \lVert c_j\rVert,所以所有列范数必须先被计算并分发。这就是课件说的全节点互传通信。
  • \gamma 控制精度和通信: \gamma 越大,采样概率越高,混洗越大,但保留相似项和奇异值的概率也更高。
  • 保留相似条目: 课件写 \gamma=\Omega(\log n/s),其中 s 是最低余弦相似度阈值。
  • 保留奇异值: 课件写 \gamma=\Omega(n/\varepsilon^2),其中 \varepsilon 是相对误差。
  • 复杂度: 若每行最多有 L 个非零元素,且归一化后最小非零值是 h,课件给出混洗数据量和归约键复杂度:
\mathrm{shuffle}=O(nL\gamma/h^2)
\mathrm{reduce\ key\ complexity}=O(\gamma/h^2)

这两个式子要按“采样后实际发送和聚合的列对数量”理解。h 越小,说明归一化后有很小的非零项;为了不漏掉这些贡献,需要更高采样强度,复杂度会变差。

结论: P031-P035不是在换一个相似度公式而已。它把 X^\top X 的列对求和问题,改写成“抽样估计列余弦矩阵,再用列范数缩放回来”的MapReduce近似计算方案。

学生追问: P030-P035 · 全量 X^\top X 与余弦采样复杂度分别是多少学生追问 / 复杂度

统一符号: X\in\mathbb R^{m\times n}m 是行数,n 是列数;每行最多有 L 个非零元素,所以 \operatorname{nnz}(X)\le mLh 是归一化后最小非零值,\gamma 控制采样强度。

1.全量、精确构造 X^\top X

(j,k) 个条目是两个长度为 m 的列向量做点积:

(X^\top X)_{jk}=\sum_{i=1}^m x_{ij}x_{ik}
\text{dense arithmetic}=\Theta(mn^2)

如果利用行稀疏度,映射任务对每行的非零元素两两配对。每行最多产生 L^2 个乘积:

\text{mapper pair work}=O(mL^2)
\text{full shuffle}=O(mL^2)
\text{full reduce-key complexity}=O(m)
\text{dense result memory}=\Theta(n^2)
  • 为什么归约键是 O(m): 固定一个列对 (j,k),最多每一行都贡献一个 x_{ij}x_{ik}
  • 稠密是稀疏的特例:L=n 时,O(mL^2)=O(mn^2)
  • 结果本身: 如果最终显式保存完整稠密Gram矩阵,就绕不开 \Theta(n^2) 个输出条目。

2.余弦采样方法的成本

这个方法先算列范数,再对行内的列对以概率

p_{jk}=\min\left(1,\frac{\gamma}{\lVert c_j\rVert\lVert c_k\rVert}\right)

决定是否发给归约任务。课件给出的通信和单键聚合上界是:

\text{sampled shuffle}=O\left(\frac{nL\gamma}{h^2}\right)
\text{sampled reduce-key complexity}=O\left(\frac{\gamma}{h^2}\right)

还要把课件公式没有写进同一行的成本补上:

  • 列范数预计算: 扫一遍非零元素,算术为 O(\operatorname{nnz}(X))=O(mL);随后要聚合并向工作节点分发 n 个范数。
  • 映射任务本地对检查: 按课件伪代码逐个检查行内所有对,最直接实现仍要 O(mL^2) 次本地检查。采样首先减少的是发出去的记录和归约任务载入,不自动消除对枚举。
  • 恢复尺度: 归约任务得到 X' 后计算 DX'D。若只保存采样得到的非零项,缩放成本与 \operatorname{nnz}(X') 成正比;若强制物化稠密结果,仍需 \Theta(n^2) 空间。

3.两种方法直接对照

项目全量 X^\top X余弦采样
结果精确Gram矩阵无偏但有随机误差的近似
映射任务对工作量O(mL^2)朴素实现仍为 O(mL^2)
混洗O(mL^2)O(nL\gamma/h^2)
单个归约键O(m)O(\gamma/h^2)
额外预计算无采样范数O(mL) 算范数,再做全节点互传 / 广播
稠密输出内存\Theta(n^2)若稠密物化,仍是 \Theta(n^2)

4.什么时候采样才真的省

比较混洗上界:

\frac{\text{sampled shuffle}}{\text{full shuffle}}=\frac{nL\gamma/h^2}{mL^2}=\frac{n\gamma}{mLh^2}
\text{shuffle 有明显收益时:}\quad \frac{\gamma}{h^2}\ll\frac{mL}{n}
\text{单 key 负载有明显收益时:}\quad \frac{\gamma}{h^2}\ll m

稠密情况 L=n 下:

\text{full shuffle}=O(mn^2)
\text{sampled shuffle}=O(n^2\gamma/h^2)

此时收益条件简化为 \gamma/h^2\ll m。如果 h 很小,或为了高精度把 \gamma 设得很大,采样的通信优势会缩小甚至消失。

5.把精度要求代入复杂度

课件给出两种常见的 \gamma 选择:

\gamma=\Omega\left(\frac{\log n}{s}\right)\quad\Longrightarrow\quad \text{shuffle}=O\left(\frac{nL\log n}{s h^2}\right)
\gamma=\Omega\left(\frac{n}{\varepsilon^2}\right)\quad\Longrightarrow\quad \text{shuffle}=O\left(\frac{n^2L}{\varepsilon^2h^2}\right)
  • s 是希望保留的最低余弦相似度;阈值越低,采样越贵。
  • \varepsilon 是奇异值相对误差;误差要求越小,采样越贵。

结论: 余弦采样的核心收益是把课件中的混洗从 O(mL^2) 降到 O(nL\gamma/h^2),并把单键归约任务载入从 O(m) 降到 O(\gamma/h^2)。它是近似通信优化,不是“免费把所有本地算术也降掉”。

读完本单元应掌握: 能写出余弦相似度,解释采样重加权、DX^{\prime}D 恢复和 \gamma 取舍。
U12 · 算法P036-P036 / 43

分块QR的分布式更新顺序

合并说明: 该页独立给出分块QR的完整阶段和依赖关系。

完整讲解

核心说明: 分块QR将“处理一列、更新尾部”提升为“处理一个对角块、更新对应块”,在依赖顺序中暴露可并行的块操作。
X=QR
把Householder搬到块上

单机QR逐列消零;分块QR把列和尾部更新提升为矩阵块操作。每个分块可驻留一个节点,局部QR产生的变换再传播。

对角块先处理,同一块行与块列随后调整,右下尾部最后更新。该顺序保证所有依赖已就绪。

并行性与顺序性

同一阶段中互不依赖的块更新可以并行,但下一个对角块要等待前一阶段完成。算法速度取决于块大小、节点布局与通信。

得到较小 R 后,仍可沿U07的路线在 R 上做SVD。

本单元在知识链中的位置

承接上一单元

U_11通过采样近似Gram矩阵。

本单元任务

给出不显式形成Gram的分布式QR路线。

组内推进

按对角块逐阶段传播Householder更新。

导向下一单元

比较最优PCA与更通用的随机投影。

逐页详解P036-P036 · 1页逐句翻译 · 本页解释
P036
分布式QR

原页逐句翻译: 分布式QR。第4.21页说明,先把 X 分解为 X=QR 可加速 X 的SVD。Householder反射定理可扩展成分块QR分解,适用于 X 无法放入内存的情形;分块是可存储并在不同节点处理的矩阵块。把 X 表示成高而窄的块后:求对角块 X_{k,k} 的QR;调整其右侧所有块 X_{k,j};调整其下方所有块 X_{i,k} 及这些块右侧的 X_{i,j};对所有对角块重复。

本页说明: 更新顺序体现数据依赖:对角块产生的正交变换必须先传播到同一块行和块列,再更新右下尾部。块可分布存储并并行处理,但每个对角阶段之间仍有顺序依赖。

本单元页间关系: 按对角块逐阶段传播Householder更新。

学生追问: P036-P037 · 分布式QR与PCA整体图景详细讲解学生追问 / 分布式QR

问题: P036只列了四条分块QR步骤,没有写块到底怎样更新;P037又突然回到PCA总结。两页的连接是:先解决“大矩阵如何稳定分解”,再说明这个分解如何服务PCA。

1. P036为什么要分块QR

X\in\mathbb R^{m\times n} 太大,不能整体放进一台机器内存。把它切成能独立存储的分块:

X=\begin{pmatrix}X_{11}&X_{12}&\cdots\\X_{21}&X_{22}&\cdots\\\vdots&\vdots&\ddots\end{pmatrix}
  • 每个 X_{ij} 是一个矩阵块,可以放在不同节点或磁盘分区上。
  • 目标仍是 X=QR,其中 Q^\top Q=IR 是上部三角。
  • 算法不能只修改当前对角分块;同一个正交变换必须同步作用于右侧分块,才能保持整个矩阵等价。

2.第 k 轮:先处理对角分块

先对当前对角块做局部QR:

X_{kk}=Q_{kk}R_{kk}
X_{kj}\leftarrow Q_{kk}^\top X_{kj},\qquad j>k

第一式把对角分块变成三角块。第二式把同一个 Q_{kk}^\top 应用到该块行的右侧;如果不更新右侧,局部等式成立,但整体 X=QR 会被破坏。

3.再消去对角分块下方的块

对每个 i>k,把当前三角块和下面的 X_{ik} 竖直堆起来,再做一次QR:

\begin{pmatrix}R_{kk}\\X_{ik}\end{pmatrix}=Q_{ik}\begin{pmatrix}R_{kk}^{\mathrm{new}}\\0\end{pmatrix}

这一步把 X_{ik} 消成0。对右边每一列分块,必须应用同一个变换:

\begin{pmatrix}X_{kj}\\X_{ij}\end{pmatrix}\leftarrow Q_{ik}^\top\begin{pmatrix}X_{kj}\\X_{ij}\end{pmatrix},\qquad j>k

因此P036的 “调整块下方以及块右侧” 不是模糊描述,而是一次块消元加一次尾部更新。

4.重复后怎样得到全局 QR

把每次分块QR产生的正交左侧变换按执行顺序记成 Q_1,Q_2,\ldots,Q_t。它们逐步把 X 变成 R

R=Q_tQ_{t-1}\cdots Q_2Q_1X
X=Q_1^\top Q_2^\top\cdots Q_t^\top R=QR,\qquad Q=Q_1^\top Q_2^\top\cdots Q_t^\top

实现中不显式形成完整的稠密 Q。保存Householder向量或分块反射因子;需要计算 QzQ^\top z 时再按顺序应用。

5.分块QR、TSQR和后续SVD的关系

  • 分块QR: 通用块QR,沿对角面板推进并更新尾部矩阵。
  • TSQR: 高而窄的特殊优化。各节点先对自己的行块做QR,再把多个小 R_i 堆叠并用归约树继续QR。
\;X_i=Q_iR_i
\begin{pmatrix}R_1\\R_2\\\vdots\end{pmatrix}=Q_RR

得到小矩阵 R\in\mathbb R^{n\times n} 后,再做:

\;R=\widetilde U\Sigma V^\top
\;X=(Q\widetilde U)\Sigma V^\top

这与置顶的 QR → SVD手算块 是同一个代数关系,只是P036把QR的产生过程分布到多个分块 / 节点。

6.复杂度和分布式的真正收益

  • 稠密高矩阵的QR算术仍是 O(mn^2);分块/分布式QR不会把必需的浮点运算量凭空消掉。
  • 收益是分块能放入内存、局部更新可并行、通信能按面板或归约树组织。
  • 后续核心SVD只处理 n\times nR,成本约 O(n^3)
  • QR/Householder是后向稳定;如果为了省事重新形成 R^\top R 再做EVD,仍会平方条件数。

7. P037为什么紧接着问 “最优PCA比随机好多少”

P037把前面所有工具收回PCA流程:

  1. 中心化或标准化数据。
  2. 用SVD/QR得到奇异值和主方向。
  3. 按解释方差选前 k 个突出维度。
  4. 在低维得分上继续聚类、回归或可视化。

PCA给出最佳秩-k 近似,但求这个最优解可能很贵。P037最后一问不是否定PCA,而是在引出M7:如果随机投影更便宜,它和最优PCA的差距是否可接受?

结论: P036解决“矩阵放不进内存时,怎样稳定地产生QR”;P037说明产生QR/SVD的目的仍是找PCA子空间,并把下一步自然导向随机近似。

读完本单元应掌握: 能按依赖顺序描述分块QR,并指出可并行部分与阶段屏障。
M04

随机投影与随机化PCA

用概率保距和随机候选子空间扩展降维方法。

P037-P043

内容衔接: 从确定性最优PCA转向带误差与概率条件的快速近似。

U13 · 模型P037-P041 / 43

随机投影与随机化PCA

含上下文补足

合并说明: PCA总结提出随机替代问题,随后定义保距目标、解释随机子空间、列出边界,并组合成随机化PCA。

完整讲解

核心说明: 随机投影不寻找数据最优方向,而近似保留欧氏几何;随机化PCA再在随机找到的候选子空间内用QR和SVD排序。
X^{\prime}=\frac1{\sqrt d}XR
为什么考虑随机方法

PCA给出按方差意义最优的低维子空间,但求解谱可能昂贵。P037问随机解与最优解差多少,把目标从精确最优转成可证明近似。

随机投影不先寻找数据最优方向,而是用随机矩阵把坐标混合并降到 d 维。

JL保证保留什么

Johnson–Lindenstrauss结论关注欧氏范数和两两欧氏距离,允许 1\pm\varepsilon 的乘性扭曲。目标维数远小于原维数。

一除以根号 d 的缩放控制投影后能量;保证带有高概率或期望限定,不应解读为每次都精确保距。

随机混合为何优于随机挑坐标

直接挑坐标可能漏掉只出现在少数坐标上的差异。随机子空间先把差异扩散到多个输出坐标,降低整体遗漏概率。

矩阵条目独立、零均值、对称和单位方差等条件控制偏差与尾界。

术语和适用边界

随机映射不要求满足 R^2=R,也不要求特征值只有零和一;它是算法意义的随机映射。课件明确限制在二范数。

乘法复杂度仍含 mnd,但稀疏 R 可减少实际乘法。能近似保范数的矩阵称摘要矩阵。

随机化PCA的完整链

先随机得到候选子空间,再用QR正交化为 QB=Q^\top X 把原矩阵投到该子空间,在较小的 B 上做SVD。

QU_1 把左奇异向量抬回原空间,得到 QQ^\top X 的低秩近似。若随机子空间覆盖主导奇异方向,近似接近PCA;否则质量下降。

把保证、直觉和算法对齐

JL的对象是有限点集的两两距离。若所有点的距离都近似保持,许多依赖欧氏几何的下游任务仍可在低维空间运行;但坐标本身没有可解释的主成分顺序,也不保证最大化方差。

随机挑原坐标失败的反例来自稀疏差异:若关键差异恰好在未选坐标上,距离会归零。随机线性组合让每个输出坐标都混合多个输入坐标,使单个关键坐标的信息分散到多个观测。

目标维数 d 越大,随机误差尾部越小,但矩阵乘法和存储随 d 增长。稀疏随机矩阵减少乘法次数,是速度与集中性质之间的另一层取舍。

随机化PCA并不把随机投影结果直接当作最终主成分。它先用随机映射寻找近似列空间,再在该空间内运行确定性的QR和SVD;随机性负责缩小搜索范围,SVD负责在范围内排序。

最终近似 QQ^\top XXQ 张成子空间上的正交投影。若 Q 遗漏重要左奇异方向,对应信息无法由后续小矩阵SVD恢复,所以随机阶段的覆盖质量决定整体上限。

本单元在知识链中的位置

承接上一单元

U12已能对高而窄矩阵分布式求QR。

本单元任务

建立概率保距映射并组合随机化PCA。

组内推进

P037设问,P038-P040建模型,P041合成算法。

导向下一单元

用五个关键问题收束全章。

逐页详解P037-P041 · 5页逐句翻译 · 本页解释
P037
从最优到随机

原页逐句翻译: 全局回顾。简要总结:数据有很多变量;用SVD计算PCA;依据PCA结果忽略低贡献,只保留最“突出”的维度;基于PCA“近似”继续执行任务。关于PCA:它在小数据和高而窄大数据上都有效;它寻找“最佳”解。最佳解比随机解好多少?

本页说明: 这一页把确定性方法收束为低秩近似,并提出新问题。PCA追求按方差意义最优的子空间,但求最优可能昂贵;随机投影改为用概率保证换取更低成本。

P038
Johnson–Lindenstrauss保距

原页逐句翻译: 随机投影:构造保持点对距离的映射。设置与目标:把 \mathbb R^n 中的 m 个点 (u_i)_{1\le i\le n} 映射为 \mathbb R^d 中的 m 个点,且 d\ll n;对所有 i,j,确保 \lVert v_i\rVert_2\approx\lVert u_i\rVert_2\lVert v_i-v_j\rVert_2\approx\lVert u_i-u_j\rVert_2,式 (4.3)。Johnson–Lindenstrauss引理表明,随机投影后任意两点距离以高概率最多被 1\pm\varepsilon 因子扭曲。若 X^{\prime}=\frac{1}{\sqrt d}XR,其中 R\in\mathbb R^{n\times d} 的条目独立同分布且均值为零,则 X^{\prime} 更小,并在期望意义保留所有两两距离。

本页说明: 课件同一句写“m 点”,却把点列下标上界写成 n,存在符号不一致;逐句翻译保留两者以便核对。随机矩阵把高维坐标混合到较低维空间,缩放因子控制投影后的平均能量。保证针对欧氏距离,并带有概率与误差参数;它不是PCA的最优方差方向,而是一次无需求协方差谱的保距嵌入。

P039
随机子空间的直觉

原页逐句翻译: 随机投影的直觉。把随机向量投到固定子空间:考虑 \mathbb R^nm 个点,均匀随机固定 k 个坐标;若两向量只在少数坐标不同,投影后距离可能彻底改变。把固定向量投到随机子空间:考虑 \mathbb R^nm 个点并投到 k 维子空间;只在少数坐标不同的向量会把差异“铺开”到所有坐标,避免遗漏“重要”坐标。生成 R=(r_{i,j}) 时,不同条目分布影响方差和误差尾界;r_{i,j} 独立同分布、均值为零,可选关于零对称且方差为一的分布。

本页说明: 核心区别是“抽若干原坐标”与“先随机混合再降维”。混合让局部差异扩散,降低恰好漏掉关键信息的概率;条目分布决定集中速度,因此均值和方差条件不是装饰。

P040
随机投影的边界

原页逐句翻译: 说明:随机投影不是代数意义上的幂等投影,常有 R^2\ne RR 的特征值也不一定属于 \{0,1\},它只是与投影相差 \varepsilon。式 (4.3) 的要求不能推广到其他范数。投影向量的范数期望为 \sqrt{d/n},误差随 d 指数减小。时间复杂度为 \mathcal O(mnd)。投影矩阵可以做得非常稀疏,以很少精度损失换取明显加速。若矩阵 M 使 Mx 在小误差内保持 x 的范数,则称 M 为摘要矩阵。

本页说明: P038的 R\in\mathbb R^{n\times d} 是矩形矩阵,此时 R^2 与特征值都没有定义。P040所列 R^2=R 和特征值属于 \{0,1\} 是方阵投影算子的代数判据,不能直接套到该矩形随机映射矩阵。这里的“投影”是算法名称;课件其余结论限定在二范数,稀疏随机矩阵可减少乘法次数,但精度仍由目标维数与分布控制。

P041
随机化PCA

原页逐句翻译: 大数据降维要保留数据的重要结构性质:高而窄情形可用SVD;其他情形可用随机投影;PCA能保证好结果,随机投影则未必。随机化PCA:随机投影 XX^{\prime};对 X^{\prime}=QR 做QR;计算 B=Q^\top X;对 B=U_1\Sigma V^\top 做SVD;用 QQ^\top X=Q(U_1\Sigma V^\top)=U\Sigma V^\top 近似 X 的SVD;再按前述截断规则完成PCA。

本页说明: 随机投影先找到一个较小的候选列空间,QR把它正交化;随后只需在压缩矩阵上做SVD。最后左乘 Q 把结果抬回原空间。误差来自候选子空间未完全覆盖 X 的主导奇异方向。

本单元页间关系: P037设问,P038-P040建模型,P041合成算法。

上下文补足: 保证适用范围模型边界

上下文补足:课件只给出JL引理的定性版本。具体所需维数 d 与点数、误差和失败概率有关;此处不添加课件未给出的常数或完整界,只保留“高概率、二范数、乘性误差”三项适用条件。

学生追问: P038-P041 · 随机投影到随机化PCA详细讲解学生追问 / 随机化PCA

问题: 这四页先说保距,再讨论随机矩阵是否算投影,最后突然出现QR和SVD。内容顺序是:随机投影先提供便宜的摘要;随机化PCA再用摘要找到候选子空间,并在其中恢复近似SVD。

0.先把随机投影讲成一句普通话

随机投影是:随机生成一组新的低维坐标轴,然后让所有数据点都在这同一组坐标轴上计算新坐标。它不是把每个点随机扔到一个位置,也不是为每个点重新抽一次矩阵。

把随机矩阵按列写开:

R=\begin{pmatrix}r_1&r_2&\cdots&r_d\end{pmatrix}\in\mathbb R^{n\times d}
x'=\frac1{\sqrt d}xR=\frac1{\sqrt d}\begin{pmatrix}\langle x,r_1\rangle&\langle x,r_2\rangle&\cdots&\langle x,r_d\rangle\end{pmatrix}
  • 原来的点 x\in\mathbb R^nn 个坐标。
  • R 的第 jr_j\in\mathbb R^n 是随机产生的第 j 个新方向。
  • 新坐标 x'_j=\langle x,r_j\rangle/\sqrt dx 与这个方向的点积。
  • 随机性只发生在最开始抽取 R。一旦 R 固定,x\mapsto xR/\sqrt d 就是普通的确定性线性变换。

手算:把两个三维点映到二维

取两个三维点,并从Rademacher分布中抽到一个条目只有 \pm1 的矩阵:

x_1=\begin{pmatrix}1&0&0\end{pmatrix},\qquad x_2=\begin{pmatrix}0&1&0\end{pmatrix},\qquad R=\begin{pmatrix}1&1\\1&-1\\-1&1\end{pmatrix}
x'_1=\frac1{\sqrt2}x_1R=\frac1{\sqrt2}\begin{pmatrix}1&1\end{pmatrix}
x'_2=\frac1{\sqrt2}x_2R=\frac1{\sqrt2}\begin{pmatrix}1&-1\end{pmatrix}

三维空间里的距离是:

\lVert x_1-x_2\rVert_2=\left\lVert\begin{pmatrix}1&-1&0\end{pmatrix}\right\rVert_2=\sqrt2
\lVert x'_1-x'_2\rVert_2=\left\lVert\frac1{\sqrt2}\begin{pmatrix}0&2\end{pmatrix}\right\rVert_2=\sqrt2

这次随机抽取恰好把这两个点的距离完整保留下来。单次随机抽取不能保证每个距离都完全相等;随机投影要求的是:当 d 足够大时,所有关注的距离以高概率只发生小比例误差。

方法低维方向从哪里来是否读取数据后再选方向
直接删坐标原坐标轴中的若干条不需要
随机投影随机矩阵 R 的列不需要;先抽 R,再统一映射
PCA数据协方差/SVD得到的主方向需要;方向由数据决定

需要区分:随机投影的输出 XR 可以直接作为低维数据;随机化PCA中的 X\Omega 只是用来探测主导子空间的中间结果,后面还要经过QR和小矩阵SVD。

1. P038的维度和目标

统一写成:有 m 个点 u_1,\ldots,u_m\in\mathbb R^n,希望映射到 v_i\in\mathbb R^d,其中 d\ll n

X\in\mathbb R^{m\times n},\qquad R\in\mathbb R^{n\times d},\qquad X'=\frac1{\sqrt d}XR\in\mathbb R^{m\times d}
\lVert v_i\rVert_2\approx\lVert u_i\rVert_2,\qquad \lVert v_i-v_j\rVert_2\approx\lVert u_i-u_j\rVert_2

因为两两距离也是差向量的范数,只要同一个随机映射对所有关注的向量近似保范数,就能同时近似保两两距离。

2.为什么 1/\sqrt d 能校准范数

假设 R_{jk} 独立同分布、均值0、方差1。对固定行向量 x

\mathbb E\left[\left\lVert\frac1{\sqrt d}xR\right\rVert_2^2\right]=\frac1d\sum_{\ell=1}^d\mathbb E\left[\left(\sum_{j=1}^n x_jR_{j\ell}\right)^2\right]=\lVert x\rVert_2^2

交叉项在期望中消失,方差-1项留下 \sum_jx_j^2。Johnson–Lindenstrauss引理进一步给出集中不等式:对有限的 m 个点,常见量级是 d=O(\varepsilon^{-2}\log m),使所有两两距离以高概率落在 1\pm\varepsilon 范围内。

3. P039:固定坐标为何会漏信息

  • 如果只随机保留若干原始坐标,两点的差异刚好集中在被丢掉的坐标上,距离会突然变成0。
  • 随机子空间会先把原坐标混合;一个集中在少数坐标的差异会扩散到多个投影坐标,降低被整体漏掉的概率。
  • 所有点必须复用同一个 R。每个点使用不同随机矩阵,两两距离就失去共同坐标系。

常见条目可以选高斯,或Rademacher:

R_{jk}\sim N(0,1)
P(R_{jk}=1)=P(R_{jk}=-1)=\frac12

二者都满足零均值和单位方差;不同分布会改变常数、尾界和乘法成本。

4. P040:为什么随机投影往往不是代数意义的投影

严格的正交投影矩阵 P 满足:

P^2=P,\qquad P^\top=P,\qquad \operatorname{特征值}(P)\subseteq\{0,1\}

这里的 R\in\mathbb R^{n\times d}d<n 时是矩形,R^2 甚至没有定义;它只是一个随机嵌入。课件说“不是代数投影”,指的是它不要求幂等,而只要求近似保留欧氏几何。

缩放约定也要分开:

  • 课件公式使用独立同分布、方差为1的条目和 1/\sqrt d 缩放,此时平方范数的期望等于原范数。
  • 如果取未重新缩放的随机正交 d-维子空间,投影后的范数的典型比例会写成 \sqrt{d/n}。两种说法来自不同归一化约定,不冲突。

保距结论主要针对 ℓ2。不能直接把同一证明搬到 ℓ1ℓ∞

5. P040的复杂度和稀疏摘要

稠密矩阵乘法的课件复杂度是:

X_{m\times n}R_{n\times d}:\qquad O(mnd)

如果 R 很稀疏,乘法只处理非零条目,成本随 \operatorname{nnz}(R) 降低。能近似保范数的随机线性映射常称为摘要矩阵。这里的“摘要”强调压缩后仍保留任务需要的结构,不表示每个条目都接近原值。

6. P041:随机化PCA的矩阵尺寸逐步变化

设目标秩为 k,取过采样宽度 ℓ=k+p

步骤矩阵尺寸作用
随机范围寻找器Y=X\Omegam×ℓ捕获主导列空间
薄型QRY=QR_YQ:m×ℓ得到标准正交基
压缩B=Q^\top Xℓ×n把大矩阵压进候选子空间
小矩阵SVDB=U_B\Sigma V^\topU_B:ℓ×ℓ在小矩阵上找方向
映回原空间U=QU_Bm×ℓ映回原行空间
QQ^\top X=Q(Q^\top X)=QB=Q(U_B\Sigma V^\top)=(QU_B)\Sigma V^\top=U\Sigma V^\top

QQ^\top XX 在采样得到的列空间上的投影。若 Q 已捕获主导值域,它就接近最佳低秩近似。

7.随机投影和随机化PCA不要混成一件事

随机投影随机化PCA
随机矩阵用途直接生成低维表示 XR只用来寻找候选子空间
后续QR/SVD不需要需要QR和小矩阵SVD
最优性近似保距,不追求最佳方差近似PCA主导子空间
最终方向随机方向小矩阵SVD得到的 V_k

配套数值过程见置顶的 随机投影 / 随机化PCA手算块

8.随机化PCA的成本、误差和幂迭代

ℓ≪n 时,常见稠密成本可概括为:

O(mn\ell)+O(m\ell^2)+O(n\ell^2)
  • O(mnℓ) 来自与 X 的大矩阵乘法,在m、n远大于 ℓ 时是主导项。
  • p 个过采样列降低漏掉主导方向的风险。
  • 奇异值衰减慢时,可使用 Y=(XX^\top)^qX\Omega 做幂迭代;它放大谱间距,但每增加一次 q 都增加对数据的数据扫描轮数和矩阵乘法。
  • PCA方向是 V_k;得分是 XV_k\approx U_k\Sigma_k

结论: P038-P040说明随机摘要为什么能近似保留欧氏几何;P041把这个摘要当作范围寻找器,再用QR和小矩阵SVD把随机子空间修正成近似PCA子空间。

学生追问: P038-P040 · 随机投影后范数与距离到底是什么关系学生追问 / JL保距

问题: 降维以后 \ell_2 范数还是原来一样吗?两个点之间的距离到底是相等、期望相等,还是近似相等?

1.先给准确答案:不保证严格相等

定义随机映射:

f(x)=\frac1{\sqrt d}xR,\qquad R\in\mathbb R^{n\times d}
命题是否成立真正含义
\lVert f(x)\rVert_2=\lVert x\rVert_2不保证严格成立某一次随机抽到的 R 会产生误差
\mathbb E_R\lVert f(x)\rVert_2^2=\lVert x\rVert_2^2成立对随机矩阵的所有可能抽取取平均,平方范数无偏
\lVert f(x)\rVert_2\approx\lVert x\rVert_2以高概率成立d 足够大时,单次抽取也大概率接近期望

所以“期望完全相等”和“这一次计算完全相等”是两句话。课件中的 1/\sqrt d 正是用来校准期望;若去掉它,在条目方差为1时会有:

\mathbb E_R\lVert xR\rVert_2^2=d\lVert x\rVert_2^2

2. JL引理给出的“近似相等”怎样写

对一个固定向量 x,希望单次随机映射满足:

(1-\varepsilon)\lVert x\rVert_2^2\leq\lVert f(x)\rVert_2^2\leq(1+\varepsilon)\lVert x\rVert_2^2

若直接比较范数而不是平方范数,则是:

\sqrt{1-\varepsilon}\,\lVert x\rVert_2\leq\lVert f(x)\rVert_2\leq\sqrt{1+\varepsilon}\,\lVert x\rVert_2

\varepsilon 是允许的相对失真。它越小,要求的投影后的维度 d 越大。

3.为什么保范数会推出保两两距离

距离本身就是差向量的范数。因为 f 是线性映射:

f(x_i)-f(x_j)=f(x_i-x_j)
(1-\varepsilon)\lVert x_i-x_j\rVert_2^2\leq\lVert f(x_i)-f(x_j)\rVert_2^2\leq(1+\varepsilon)\lVert x_i-x_j\rVert_2^2

因此要保留 m 个点的所有两两距离,本质上要让同一个 R 同时近似保留所有差向量 x_i-x_j 的范数。

4.为什么不可能对整个 \mathbb R^n 的所有向量都保距

d<n 时,映射 x\mapsto xR 一定有非平凡零空间:

\dim\ker(R)\geq n-d>0
\exists z\neq0:\quad zR=0\quad\Longrightarrow\quad\lVert f(z)\rVert_2=0\neq\lVert z\rVert_2

这里把行向量映射的核简写成 \ker(R)。结论是:随机投影只能对预先给定的有限数据集高概率保距,不能同时保住空间中的每一个向量。

5.同一个 3\to2 例子也能出现距离误差

继续使用前一个块中的随机矩阵:

R=\begin{pmatrix}1&1\\1&-1\\-1&1\end{pmatrix},\qquad x_2=\begin{pmatrix}0&1&0\end{pmatrix},\qquad x_3=\begin{pmatrix}0&0&1\end{pmatrix}
f(x_2)=\frac1{\sqrt2}\begin{pmatrix}1&-1\end{pmatrix},\qquad f(x_3)=\frac1{\sqrt2}\begin{pmatrix}-1&1\end{pmatrix}
\lVert x_2-x_3\rVert_2=\sqrt2
\lVert f(x_2)-f(x_3)\rVert_2=2

这次距离被放大了 2/\sqrt2=\sqrt2 倍。原因不是公式失效,而是这个玩具例子只有 d=2,没有足够维度给出小误差保证。前一个点对恰好完全保距,也不代表所有点对都会完全保距。

6. d 要多大

m 个固定数据点,若允许相对失真 \varepsilon,并把失败概率控制在 \delta 附近,典型JL量级是:

d=O\!\left(\frac{\log(m/\delta)}{\varepsilon^2}\right)
  • m 增大时,d 只按对数增长。
  • 允许误差减半时,d 大约要增大到原来的四倍。
  • 这是高概率界,不是说每次随机抽取都必然成功。

结论: 随机投影后的范数和距离不保证严格相等;经过 1/\sqrt d 校准后,它们在期望上无偏,并在 d 足够大时对有限数据集以高概率近似保持。

学生追问: P039 · 固定坐标是什么意思学生追问 / 坐标选择

问题: “只随机保留若干固定坐标”中的固定坐标是什么?它和随机子空间有什么区别?

1.坐标就是原始属性所在的坐标轴

设一个数据点有四个原始属性:

x=\begin{pmatrix}x_1&x_2&x_3&x_4\end{pmatrix}=x_1e_1+x_2e_2+x_3e_3+x_4e_4
e_1=\begin{pmatrix}1\\0\\0\\0\end{pmatrix},\quad e_2=\begin{pmatrix}0\\1\\0\\0\end{pmatrix},\quad e_3=\begin{pmatrix}0\\0\\1\\0\end{pmatrix},\quad e_4=\begin{pmatrix}0\\0\\0\\1\end{pmatrix}

e_1,\ldots,e_4 就是原始坐标轴。例如四列分别表示身高、体重、年龄、收入,那么“保留坐标1和2”就是只保留身高、体重两列。

这里的 固定表示方向仍固定在原始坐标轴上,没有旋转,也没有把多个属性混合起来。可以随机决定保留哪几列,但选中的方向仍只能来自 e_1,\ldots,e_n

2.坐标选择在矩阵上是什么

如果只保留第1、2个坐标,可以写成选择矩阵:

P_S=\begin{pmatrix}e_1&e_2\end{pmatrix}=\begin{pmatrix}1&0\\0&1\\0&0\\0&0\end{pmatrix}
xP_S=\begin{pmatrix}x_1&x_2\end{pmatrix}

这个操作只是删掉 x_3,x_4。被删坐标中的信息不会转移到保留下来的坐标。

3.为什么差异可能直接消失

设两个点只在第3个坐标上不同:

x=\begin{pmatrix}0&0&10&0\end{pmatrix},\qquad y=\begin{pmatrix}0&0&0&0\end{pmatrix}
\lVert x-y\rVert_2=10
xP_S=yP_S=\begin{pmatrix}0&0\end{pmatrix}\quad\Longrightarrow\quad\lVert xP_S-yP_S\rVert_2=0

因为坐标3被完整删除,原来大小为10的差异没有任何出口,距离直接从10变成0。

4.随机子空间怎样把差异混到多个新坐标

随机投影不要求新方向等于某个 e_i。它的每个新方向混合多个原始坐标。用一个 4\to2 示意矩阵:

R=\begin{pmatrix}1&0\\0&1\\1&1\\1&-1\end{pmatrix},\qquad f(z)=\frac1{\sqrt2}zR
f(x)-f(y)=\frac1{\sqrt2}\begin{pmatrix}10&10\end{pmatrix}
\lVert f(x)-f(y)\rVert_2=10

原本只在坐标3上的差异,同时进入了两个投影坐标。这里恰好保距只是为了展示混合;随机投影只保证近似保距。

坐标选择随机子空间 / 随机投影
新方向从原轴 e_i 中挑选多个原轴的随机线性组合
一个输出坐标等于某一个 x_i等于 \langle x,r_j\rangle
稀疏差异对应原轴被删时会完全消失分散进入多个输出坐标

5.为什么所有点必须复用同一个坐标系

当所有点使用同一个 R 时,两个投影点的差可以写成:

f(x_i)-f(x_j)=\frac1{\sqrt d}(x_i-x_j)R

于是投影后的距离仍对应原来的差向量 x_i-x_j。如果两个点分别使用 R_iR_j

\frac1{\sqrt d}x_iR_i-\frac1{\sqrt d}x_jR_j\neq\frac1{\sqrt d}(x_i-x_j)R

两组数字分别以不同随机方向为坐标轴,直接相减没有统一几何意义。坐标选择也一样:所有点必须保留同一组列。

结论: 固定坐标是原始属性对应的坐标轴;随机保留坐标只是随机删列,而随机投影会先用随机线性组合形成一套新的共享坐标轴。

读完本单元应掌握: 能区分PCA最优子空间与随机保距,并复述随机化PCA的QR-SVD流程。
U14 · 总结P042-P043 / 43

五个关键问题与课程结束

合并说明: 关键点页给出完整回顾入口,结束页只关闭课程;合并后保持结尾连续。

完整讲解

核心说明: 选择方法时先确定要保留的结构,再看数据形状与资源约束:PCA求最大方差子空间,余弦采样控制通信,随机投影以概率近似保距。
X=U\Sigma V^\top
五个问题如何对应本讲内容

降维通过排序并截断主成分完成;SVD的右奇异向量给PCA方向,奇异值平方给方差。

余弦相似度去除向量长度影响;高而窄可用Gram MapReduce、余弦采样或分布式QR;随机投影用概率保证换取快速近似。

回顾顺序

先确认数学对象和保证,再比较实现代价:精确或近似、单机或分布式、通信或计算、最优子空间或保距随机映射。P043没有新增内容。

本单元在知识链中的位置

承接上一单元

U_13完成随机化路线。

本单元任务

把全讲压缩成五个可检查的问题。

组内推进

P042回顾,P043结束。

导向下一单元

回到导航按问题定位对应单元。

逐页详解P042-P043 · 2页逐句翻译 · 本页解释
P042
关键问题回顾

原页逐句翻译: 关键点:如何执行降维?SVD与PCA有什么关系?什么是余弦相似度?如何处理高而窄大数据?什么是随机投影s?

本页说明: 五个问题依次对应本讲的完整知识链:截断主成分、数据矩阵与协方差谱、归一化方向相似度、分布式Gram/QR、概率保距与随机化PCA。

P043
课程结束

原页逐句翻译: 谢谢!

本页说明: 结束页没有新增技术内容。回看时可从P042的五个问题进入对应单元,并用原图和逐页翻译核对符号。

本单元页间关系: P042回顾,P043结束。

读完本单元应掌握: 能独立回答P042的五个问题并指出各自来源单元。