序言
线性因子模型,作为数据降维与特征提取的重要工具,在机器学习和统计分析领域发挥着关键作用。其中,主成分分析( PCA \text{PCA} PCA)作为线性因子模型的一种经典形式,其流形解释为我们深入理解数据结构和特征变换提供了独特的视角。 PCA \text{PCA} PCA不仅能够有效降低数据的维度,还能在保留数据主要信息的同时,去除冗余和噪声,从而优化后续的数据处理和分析过程。
PCA的流形解释
-
线性因子模型,包括 PCA \text{PCA} PCA和因子分析,可以理解为学习一个流形。
- 我们可以将概率 PCA \text{PCA} PCA定义为高概率的薄饼状区域,即一个高斯分布,沿着某些轴非常窄,就像薄饼沿着其垂直轴非常平坦,但沿着其他轴是细长的,正如薄饼在其水平轴方向是很宽的一样。
图例1
解释了这种现象。- PCA \text{PCA} PCA可以理解为将该薄饼与更高维空间中的线性流形对准。
- 这种解释不仅适用于传统 PCA \text{PCA} PCA,而且适用于学习矩阵 W \boldsymbol{W} W 和 V \boldsymbol{V} V 的任何线性自编码器,其目的是使重构的 x \boldsymbol{x} x 尽可能接近于原始的 x \boldsymbol{x} x。
-
编码器表示为: h = f ( x ) = W ⊤ ( x − μ ) \boldsymbol{h}=f(\boldsymbol{x})=\boldsymbol{W}^\top(\boldsymbol{x}-\boldsymbol{\mu}) h=f(x)=W⊤(x−μ) — 公式1 \quad\textbf{---\footnotesize{公式1}} —公式1
-
编码器计算 h \boldsymbol{h} h 的低维表示。从自编码器的角度来看, 解码器负责计算重构:
x ^ = g ( h ) = b + V h \hat{\boldsymbol{x}}=g(\boldsymbol{h})=\boldsymbol{b}+\boldsymbol{Vh} x^=g(h)=b+Vh — 公式2 \quad\textbf{---\footnotesize{公式2}} —公式2 -
能够最小化重构误差: E [ ∥ x − x ^ ∥ 2 ] \mathbb{E}[\Vert\boldsymbol{x}-\hat{\boldsymbol{x}}\Vert^2] E[∥x−x^∥2] — 公式3 \quad\textbf{---\footnotesize{公式3}} —公式3
的线性编码器和解码器的选择对应着 V = W , μ = b = E [ x ] \boldsymbol{V}=\boldsymbol{W},\boldsymbol{\mu}=\boldsymbol{b}=\mathbb{E}[\boldsymbol{x}] V=W,μ=b=E[x], W \boldsymbol{W} W的列形成一组正交基,这组基生成的子空间相同于协方差矩阵 C \boldsymbol{C} C:
C = E [ ( x − μ ) ( x − μ ) ⊤ ] \boldsymbol{C}=\mathbb{E}[(\boldsymbol{x}-\boldsymbol{\mu})(\boldsymbol{x}-\boldsymbol{\mu})^\top] C=E[(x−μ)(x−μ)⊤] — 公式4 \quad\textbf{---\footnotesize{公式4}} —公式4
的主特征向量所生成的空间。 -
在 PCA \text{PCA} PCA中, W \boldsymbol{W} W 的列是按照对应特征值(其全部是实数和非负数)幅度大小排序所对应的特征向量。
-
我们还可以发现 C \boldsymbol{C} C 的特征值 λ i \lambda_i λi 对应了 x \boldsymbol{x} x 在特征向量 v ( i ) \boldsymbol{v}^{(i)} v(i) 方向上的方差。
- 如果 x ∈ R D \boldsymbol{x}\in\mathbb{R}^D x∈RD, h ∈ R d \boldsymbol{h}\in\mathbb{R}^d h∈Rd 并且满足 d < D d \lt D d<D,则(给定上述的 W , V , μ , b \boldsymbol{W},\boldsymbol{V},\boldsymbol{\mu},\boldsymbol{b} W,V,μ,b 的情况下)最佳的重构误差是: min E [ ∥ x − x ^ ∥ 2 ] = ∑ i = d + 1 D λ i \min\mathbb{E}[\Vert\boldsymbol{x}-\hat{\boldsymbol{x}}\Vert^2]=\sum\limits_{i=d+1}^D \lambda_i minE[∥x−x^∥2]=i=d+1∑Dλi — 公式5 \quad\textbf{---\footnotesize{公式5}} —公式5
- 因此,如果协方差矩阵的秩为 d d d,则特征值 λ d + 1 \lambda_{d+1} λd+1 到 λ D \lambda_D λD 都为 0 0 0,并且重构误差为 0 0 0。
-
此外,还可以证明上述解可以通过在给定正交矩阵 W \boldsymbol{W} W 的情况下最大化 h \boldsymbol{h} h 元素的方差而不是最小化重构误差来获得。
-
某种程度上说,线性因子模型是最简单的生成模型和学习数据表示的最简单模型。
-
许多模型比如线性分类器和线性回归模型可以扩展到深度前馈网络,这些线性因子模型可以扩展到执行的是相同任务但具有更强大和更灵活的模型族,比如自编码器网络和深概率模型。
- 图例1:平坦的高斯能够描述一个低维流形附近的概率密度。
-
平坦的高斯能够描述一个低维流形附近的概率密度。
-
说明:
- 此图表示了 “流形平面’’ 上 ‘‘馅饼’’的上半部分,并且这个平面穿过了馅饼的中心。
- 正交于流形方向(指向平面外的箭头方向)的方差非常小,可以被视作是 ‘‘噪音’’,其他方向(平面内的箭头)的方差则很大,对应了 ‘‘信号’’ 以及低维数据的坐标系统。
-
总结
-
PCA \text{PCA} PCA的流形解释可以理解为将高维数据空间中的样本点映射到一个低维的线性流形上。这种映射过程通过最大化样本点在低维空间中的方差来实现,即尽可能保留数据的主要变化方向。具体来说, PCA \text{PCA} PCA通过计算数据的相关矩阵或协方差矩阵,找到数据的主要成分(主成分),这些主成分实际上是数据在高维空间中最大方差的投影方向。随后,通过将这些主成分作为新的坐标轴,原始数据被转换到一个新的低维空间中,实现了数据的降维和特征的提取。
-
PCA \text{PCA} PCA的流形解释不仅揭示了数据在低维空间中的内在结构,还为后续的数据分析和处理提供了便利。通过 PCA \text{PCA} PCA,我们可以更容易地发现数据中的隐藏模式和规律,进而在数据挖掘、机器学习、信号处理等领域发挥重要作用。
-
总之, PCA \text{PCA} PCA的流形解释为我们提供了一个全新的视角来审视和理解数据,是线性因子模型中不可或缺的一部分。
往期内容回顾
应用数学与机器学习基础 - 无监督学习算法篇 - 主成分分析