基于核的局部线性嵌入(Kernel-based Locally Linear Embedding, K-LLE)算法的原理与流形学习过程
题目描述
局部线性嵌入(Locally Linear Embedding, LLE)是一种经典的非线性降维与流形学习算法,其核心思想是假设高维数据在局部邻域内具有线性结构,并试图在低维空间中保持这种局部线性重构关系。然而,标准的LLE对噪声敏感,且其局部线性假设在某些复杂流形上可能不成立。基于核的局部线性嵌入(Kernel-based LLE, K-LLE) 算法通过引入核技巧,将原始数据映射到高维特征空间,在该特征空间中执行LLE算法,从而增强对非线性结构的建模能力,并提升鲁棒性。本题目要求详细解释K-LLE的数学原理、算法步骤及其背后的流形学习思想。
解题过程
步骤1:理解标准LLE算法的基本思想
首先回顾标准LLE的核心步骤,这是理解K-LLE的基础:
- 给定高维数据集 \(\mathbf{X} = \{ \mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_n \} \in \mathbb{R}^{D}\)。
- 第一步:寻找每个样本的最近邻。为每个样本 \(\mathbf{x}_i\) 找到其 \(k\) 个最近邻(通常使用欧氏距离)。
- 第二步:计算局部重构权值。假设每个样本可由其近邻线性重构,即:
\[ \mathbf{x}_i \approx \sum_{j \in N(i)} w_{ij} \mathbf{x}_j \]
其中 \(N(i)\) 是 \(\mathbf{x}_i\) 的邻域索引集。通过最小化重构误差求解权值 \(w_{ij}\):
\[ \min_{w_{ij}} \sum_{i=1}^n \left\| \mathbf{x}_i - \sum_{j \in N(i)} w_{ij} \mathbf{x}_j \right\|^2, \quad \text{s.t.} \sum_{j \in N(i)} w_{ij} = 1 \]
这是一个带约束的最小二乘问题,可用拉格朗日乘子法求解。
- 第三步:保持权值映射到低维。在低维空间(维度 \(d \ll D\))中寻找嵌入向量 \(\mathbf{Y} = \{ \mathbf{y}_1, \dots, \mathbf{y}_n \} \in \mathbb{R}^d\),使得同样的重构权值能够最小化低维重构误差:
\[ \min_{\mathbf{Y}} \sum_{i=1}^n \left\| \mathbf{y}_i - \sum_{j \in N(i)} w_{ij} \mathbf{y}_j \right\|^2 \]
该问题可转化为求解稀疏矩阵 \((\mathbf{I} - \mathbf{W})^\top (\mathbf{I} - \mathbf{W})\) 的最小 \(d\) 个非零特征值对应的特征向量。
问题:当原始数据位于复杂非线性流形时,局部线性假设在原始空间可能不准确。核方法通过隐式映射到高维特征空间,可以更好地捕捉数据的非线性结构。
步骤2:引入核技巧与特征空间映射
K-LLE的核心改进在于在特征空间中执行LLE。定义非线性映射 \(\phi: \mathbb{R}^D \to \mathcal{H}\),其中 \(\mathcal{H}\) 是再生核希尔伯特空间(RKHS)。我们不知道 \(\phi\) 的具体形式,但可通过核函数 \(K(\mathbf{x}_i, \mathbf{x}_j) = \langle \phi(\mathbf{x}_i), \phi(\mathbf{x}_j) \rangle_{\mathcal{H}}\) 计算内积。常用核函数包括高斯核 \(K(\mathbf{x}_i, \mathbf{x}_j) = \exp(-\|\mathbf{x}_i - \mathbf{x}_j\|^2 / (2\sigma^2))\)。
在特征空间中,数据表示为 \(\phi(\mathbf{X}) = \{ \phi(\mathbf{x}_1), \dots, \phi(\mathbf{x}_n) \}\)。此时,LLE的三步需在特征空间中重新推导。
步骤3:特征空间中的邻域选择
在特征空间中,样本间的距离可通过核函数计算:
\[\|\phi(\mathbf{x}_i) - \phi(\mathbf{x}_j)\|^2 = K(\mathbf{x}_i, \mathbf{x}_i) + K(\mathbf{x}_j, \mathbf{x}_j) - 2K(\mathbf{x}_i, \mathbf{x}_j) \]
利用该距离度量,为每个 \(\phi(\mathbf{x}_i)\) 寻找 \(k\) 个最近邻。注意:由于特征空间可能非常高维,直接计算距离效率较低,但核矩阵 \(\mathbf{K}_{ij} = K(\mathbf{x}_i, \mathbf{x}_j)\) 可预先计算并复用。
步骤4:特征空间中的局部重构权值计算
在特征空间中,重构误差为:
\[\epsilon_i = \left\| \phi(\mathbf{x}_i) - \sum_{j \in N(i)} w_{ij} \phi(\mathbf{x}_j) \right\|^2 \]
展开并利用核函数表示内积:
\[\epsilon_i = K(\mathbf{x}_i, \mathbf{x}_i) - 2 \sum_{j \in N(i)} w_{ij} K(\mathbf{x}_i, \mathbf{x}_j) + \sum_{j, l \in N(i)} w_{ij} w_{il} K(\mathbf{x}_j, \mathbf{x}_l) \]
定义局部核矩阵 \(\mathbf{K}^{(i)} \in \mathbb{R}^{k \times k}\),其中元素 \(K^{(i)}_{jl} = K(\mathbf{x}_j, \mathbf{x}_l)\)(\(j,l \in N(i)\))。同时,定义向量 \(\mathbf{k}^{(i)} \in \mathbb{R}^k\),其中元素 \(k^{(i)}_j = K(\mathbf{x}_i, \mathbf{x}_j)\)。记 \(\mathbf{w}_i = [w_{i1}, \dots, w_{ik}]^\top\) 为权值向量(对应于邻域样本),则:
\[\epsilon_i = K(\mathbf{x}_i, \mathbf{x}_i) - 2 \mathbf{w}_i^\top \mathbf{k}^{(i)} + \mathbf{w}_i^\top \mathbf{K}^{(i)} \mathbf{w}_i \]
在约束 \(\sum_{j} w_{ij} = 1\)(即 \(\mathbf{1}^\top \mathbf{w}_i = 1\))下,通过拉格朗日乘子法求解:
\[\mathcal{L}(\mathbf{w}_i, \lambda) = \mathbf{w}_i^\top \mathbf{K}^{(i)} \mathbf{w}_i - 2 \mathbf{w}_i^\top \mathbf{k}^{(i)} + \lambda (\mathbf{1}^\top \mathbf{w}_i - 1) \]
对 \(\mathbf{w}_i\) 求导并令为零:
\[2\mathbf{K}^{(i)} \mathbf{w}_i - 2\mathbf{k}^{(i)} + \lambda \mathbf{1} = 0 \quad \Rightarrow \quad \mathbf{w}_i = (\mathbf{K}^{(i)})^{-1} \left( \mathbf{k}^{(i)} - \frac{\lambda}{2} \mathbf{1} \right) \]
代入约束 \(\mathbf{1}^\top \mathbf{w}_i = 1\),解得:
\[\lambda = 2 \cdot \frac{ \mathbf{1}^\top (\mathbf{K}^{(i)})^{-1} \mathbf{k}^{(i)} - 1 }{ \mathbf{1}^\top (\mathbf{K}^{(i)})^{-1} \mathbf{1} }, \quad \mathbf{w}_i = \frac{ (\mathbf{K}^{(i)})^{-1} ( \mathbf{1} - \mathbf{k}^{(i)} ) }{ \mathbf{1}^\top (\mathbf{K}^{(i)})^{-1} \mathbf{1} } + (\mathbf{K}^{(i)})^{-1} \mathbf{k}^{(i)} \]
注意:实际计算中通常对 \(\mathbf{K}^{(i)}\) 添加小的正则项 \(\eta \mathbf{I}\) 保证可逆。
步骤5:特征空间中的低维嵌入求解
在低维空间 \(\mathbb{R}^d\) 中寻找嵌入 \(\mathbf{Y}\),保持相同的权值 \(w_{ij}\)。目标函数为:
\[\min_{\mathbf{Y}} \Phi(\mathbf{Y}) = \sum_{i=1}^n \left\| \mathbf{y}_i - \sum_{j \in N(i)} w_{ij} \mathbf{y}_j \right\|^2 \]
与标准LLE相同,该优化可转化为特征值问题。定义 \(\mathbf{M} = (\mathbf{I} - \mathbf{W})^\top (\mathbf{I} - \mathbf{W})\),其中 \(\mathbf{W}\) 是由 \(w_{ij}\) 构成的稀疏矩阵。则目标函数等价于:
\[\min_{\mathbf{Y}} \operatorname{tr}(\mathbf{Y} \mathbf{M} \mathbf{Y}^\top), \quad \text{s.t.} \ \mathbf{Y} \mathbf{Y}^\top = \mathbf{I}_d, \ \mathbf{Y} \mathbf{1} = \mathbf{0} \]
约束用于消除平移和缩放自由度。解为 \(\mathbf{M}\) 的 \(d\) 个最小非零特征值对应的特征向量(按行排列)。
关键点:K-LLE与标准LLE的最终嵌入求解形式相同,但权值 \(\mathbf{W}\) 是在特征空间中通过核函数计算得到的,因此能够捕捉更复杂的局部几何。
步骤6:算法步骤总结
- 输入:高维数据 \(\mathbf{X} \in \mathbb{R}^{n \times D}\),目标维度 \(d\),邻域大小 \(k\),核函数 \(K(\cdot, \cdot)\),正则化参数 \(\eta\)。
- 计算核矩阵:\(\mathbf{K} \in \mathbb{R}^{n \times n}\),其中 \(K_{ij} = K(\mathbf{x}_i, \mathbf{x}_j)\)。
- 特征空间邻域选择:对每个 \(i\),计算距离 \(\|\phi(\mathbf{x}_i) - \phi(\mathbf{x}_j)\|^2 = K_{ii} + K_{jj} - 2K_{ij}\),确定 \(k\) 个最近邻索引 \(N(i)\)。
- 计算局部重构权值:
- 对每个 \(i\),构造 \(\mathbf{K}^{(i)}\)(从 \(\mathbf{K}\) 中提取子矩阵),\(\mathbf{k}^{(i)}\)(从 \(\mathbf{K}\) 中提取对应行)。
- 计算 \(\mathbf{w}_i = (\mathbf{K}^{(i)} + \eta \mathbf{I})^{-1} (\mathbf{k}^{(i)} + \frac{1 - \mathbf{1}^\top (\mathbf{K}^{(i)} + \eta \mathbf{I})^{-1} \mathbf{k}^{(i)}}{\mathbf{1}^\top (\mathbf{K}^{(i)} + \eta \mathbf{I})^{-1} \mathbf{1}} \mathbf{1})\)。
- 填充权值矩阵 \(\mathbf{W}\)。
- 构建嵌入矩阵:构造 \(\mathbf{M} = (\mathbf{I} - \mathbf{W})^\top (\mathbf{I} - \mathbf{W})\),求 \(\mathbf{M}\) 的 \(d+1\) 个最小特征值对应的特征向量,丢弃最小特征值(接近零)对应的特征向量,取接下来的 \(d\) 个特征向量按行排列得到 \(\mathbf{Y} \in \mathbb{R}^{d \times n}\)。
- 输出:低维嵌入 \(\mathbf{Y}^\top \in \mathbb{R}^{n \times d}\)。
步骤7:算法优势与局限性
- 优势:
- 通过核技巧处理非线性流形,能学习更复杂的局部结构。
- 对噪声和异常值具有更好的鲁棒性(因特征空间中数据更易线性分离)。
- 局限性:
- 核函数与参数需谨慎选择(如高斯核的带宽 \(\sigma\))。
- 计算复杂度较高,需存储和求逆多个 \(k \times k\) 矩阵。
- 依然依赖局部线性假设,在高度弯曲的流形上可能失效。
总结
K-LLE通过将原始数据映射到高维特征空间,并在该空间中保持局部线性重构关系,增强了非线性流形学习的能力。其核心在于利用核矩阵间接表达特征空间中的距离与内积,从而计算更精确的局部重构权值。最终的低维嵌入通过求解稀疏特征值问题获得,保留了数据的局部几何结构。