流形正则化的半监督学习(Manifold Regularization for Semi-Supervised Learning)
1. 题目描述
在机器学习中,我们通常需要大量带标签的数据来训练模型,但获取标签往往是昂贵和耗时的。相反,无标签数据则相对容易获得。半监督学习的目标是利用大量无标签数据和少量有标签数据来构建一个比仅使用有标签数据更好的模型。
“流形正则化”是半监督学习的一种经典框架,其核心假设是“流形假设”:高维数据通常分布在一个嵌入在高维空间中的低维流形上。在此假设下,如果两个样本点在高维空间中相近(在流形上相邻),那么它们对应的输出(标签)也应该相似。基于此,流形正则化在标准的有监督损失函数基础上,增加了一个正则化项,用来惩罚模型在数据流形几何结构上的不光滑性,从而迫使模型利用无标签数据所揭示的数据分布结构,学习到一个更合理的决策函数。
本题目的目标是解释流形正则化的目标函数如何构建,其背后的几何直觉是什么,以及如何通过求解一个正则化最小化问题来得到最终的学习模型。
2. 解题过程与原理讲解
步骤1:问题形式化与核心直觉
假设我们有一个包含 \(l\) 个有标签样本的数据集 \(\{ (\mathbf{x}_i, y_i) \}_{i=1}^{l}\) 和一个包含 \(u\) 个无标签样本的数据集 \(\{ \mathbf{x}_i \}_{i=l+1}^{l+u}\)。总样本数为 \(n = l + u\)。其中,\(\mathbf{x}_i \in \mathbb{R}^d\) 是 d 维特征向量,\(y_i\) 是对应的标签。
- 直觉1(有监督学习):我们希望学到一个函数 \(f: \mathbb{R}^d \to \mathbb{R}\),使得在有标签数据上预测准确,即最小化经验损失:\(\frac{1}{l} \sum_{i=1}^{l} V(f(\mathbf{x}_i), y_i)\),其中 \(V\) 是损失函数(如平方损失、铰链损失)。
- 直觉2(流形假设):数据的概率分布 \(p(\mathbf{x})\) 支持在一个低维流形 \(M\) 上。如果两个点 \(\mathbf{x}_i\) 和 \(\mathbf{x}_j\) 在这个流形上是“近邻”,那么 \(f(\mathbf{x}_i)\) 和 \(f(\mathbf{x}_j)\) 的值应该相近。我们希望模型函数 \(f\) 在这个流形上是“光滑”的。
步骤2:构造正则化项——捕获流形结构
如何度量函数 \(f\) 在流形 \(M\) 上的光滑程度?在黎曼流形上,函数的光滑性可以用其梯度的范数来衡量。对于一个函数 \(f\) 在点 \(x\) 处的梯度 \(\nabla f(x)\),其沿流形切方向的范数大小反映了 \(f\) 在该点的变化率。对全流形积分,可以得到“索伯列夫范数”(Sobolev norm)的一种近似,它惩罚了函数在流形上的剧烈变化。
在实际计算中,我们不知道流形 \(M\) 的具体形式,但可以通过数据点来近似。一个标准方法是构建一个“邻接图” \(G\),其中每个数据点(包括有标签和无标签)是图的一个节点。如果两个点 \(\mathbf{x}_i\) 和 \(\mathbf{x}_j\) 是“近邻”(例如通过k近邻或ε-球邻域确定),则在它们之间连一条边,边的权重为 \(W_{ij}\),通常用热核函数(也称RBF核)计算:
\[W_{ij} = \exp\left( -\frac{\|\mathbf{x}_i - \mathbf{x}_j\|^2}{2\sigma^2} \right) \quad \text{(如果 } i, j \text{ 是邻居)}, \quad 否则 \quad W_{ij} = 0 \]
这个权重反映了两个样本在流形上邻近程度的度量。
现在,函数 \(f\) 在流形 \(M\) 上的光滑性可以通过其在图 \(G\) 上的“变化”来近似度量。一个经典且直观的度量是图的拉普拉斯正则化项:
\[\sum_{i, j=1}^{n} W_{ij} (f(\mathbf{x}_i) - f(\mathbf{x}_j))^2 \]
这个求和遍历所有点对。如果 \(W_{ij}\) 很大(两点在流形上很接近),那么 \((f(\mathbf{x}_i) - f(\mathbf{x}_j))^2\) 项就会被放大。最小化这个正则化项,就意味着迫使在图上相邻(权重高)的节点,其函数输出值也尽可能接近,从而使函数 \(f\) 在图(近似流形)上变得平滑。
可以将其写成更紧凑的矩阵形式。定义:
- \(n \times 1\) 向量 \(\mathbf{f} = [f(\mathbf{x}_1), f(\mathbf{x}_2), \dots, f(\mathbf{x}_n)]^T\)
- \(n \times n\) 的对称权重矩阵 \(W\)
- \(n \times n\) 的对角度矩阵 \(D\),其中 \(D_{ii} = \sum_{j=1}^n W_{ij}\)
- \(n \times n\) 的(非归一化)图拉普拉斯矩阵 \(L = D - W\)
则拉普拉斯正则化项可重写为:
\[\frac{1}{2} \sum_{i, j=1}^{n} W_{ij} (f(\mathbf{x}_i) - f(\mathbf{x}_j))^2 = \mathbf{f}^T L \mathbf{f} \]
这里 \(\mathbf{f}^T L \mathbf{f}\) 被称为图的狄利克雷能量,它确实是流形上梯度平方积分的一个离散逼近。
步骤3:构建完整的优化目标
将标准的有监督经验风险与流形正则化项结合起来,就得到了流形正则化的目标函数:
\[\min_{f \in \mathcal{H}_K} \ \frac{1}{l} \sum_{i=1}^{l} V(f(\mathbf{x}_i), y_i) + \gamma_A \|f\|_K^2 + \gamma_I \mathbf{f}^T L \mathbf{f} \]
让我们分解这个目标函数:
- 经验损失项:\(\frac{1}{l} \sum_{i=1}^{l} V(f(\mathbf{x}_i), y_i)\)。确保模型在有标签数据上表现良好。
- 经典正则化项:\(\gamma_A \|f\|_K^2\)。这是基于再生核希尔伯特空间(RKHS)\(\mathcal{H}_K\) 的标准正则化项(如岭回归中的权重衰减)。它控制函数 \(f\) 的复杂度,防止过拟合。\(\|f\|_K\) 是函数 \(f\) 在 RKHS 中的范数,与核函数 \(K\) 相关。\(\gamma_A > 0\) 是其正则化参数。
- 流形正则化项:\(\gamma_I \mathbf{f}^T L \mathbf{f}\)。这是本方法的核心。它惩罚函数 \(f\) 在由所有数据(有标签+无标签)构建的图流形上的不光滑性。\(\gamma_I > 0\) 控制此惩罚的强度。当 \(\gamma_I = 0\) 时,模型退化为标准的有监督核方法。
步骤4:求解优化问题(以最小二乘损失为例)
为了得到具体的解,我们假设使用平方损失函数 \(V(f(\mathbf{x}_i), y_i) = (y_i - f(\mathbf{x}_i))^2\),并假设函数 \(f\) 属于由核 \(K\) 生成的 RKHS。根据表示定理,这个优化问题的最优解 \(f^*\) 具有以下形式:
\[f^*(\mathbf{x}) = \sum_{i=1}^{n} \alpha_i K(\mathbf{x}, \mathbf{x}_i) \]
即,解可以表示为所有 \(n\) 个样本(有标签+无标签)的核函数的线性组合。
将解的形式代入目标函数,问题转化为求解系数向量 \(\alpha = [\alpha_1, \dots, \alpha_n]^T\)。
定义:
- \(n \times n\) 的核矩阵 \(K\),其中 \(K_{ij} = K(\mathbf{x}_i, \mathbf{x}_j)\)
- \(l \times n\) 的选择矩阵 \(J\),用于从全样本集中选出有标签样本对应的行。具体地,\(J\) 的第 \(i\) 行对应于第 \(i\) 个有标签样本,其在全样本索引的位置为1,其余为0。于是,有标签样本对应的函数值 \(\mathbf{f}_l = J\mathbf{f} = JK\alpha\)。
- \(l \times 1\) 的标签向量 \(\mathbf{y}_l = [y_1, \dots, y_l]^T\)
则目标函数(未缩放)可写为:
\[\min_{\alpha \in \mathbb{R}^n} \ (\mathbf{y}_l - JK\alpha)^T (\mathbf{y}_l - JK\alpha) + \gamma_A \alpha^T K \alpha + \gamma_I \alpha^T K L K \alpha \]
其中,\(\|f\|_K^2 = \alpha^T K \alpha\),\(\mathbf{f} = K\alpha\),所以 \(\mathbf{f}^T L \mathbf{f} = \alpha^T K L K \alpha\)。
步骤5:求解系数
这是一个关于 \(\alpha\) 的凸二次优化问题。对 \(\alpha\) 求导并令其为零:
\[\frac{\partial}{\partial \alpha} [(\mathbf{y}_l - JK\alpha)^T (\mathbf{y}_l - JK\alpha) + \gamma_A \alpha^T K \alpha + \gamma_I \alpha^T K L K \alpha] = 0 \]
化简后得到正规方程:
\[(JK)^T (\mathbf{y}_l - JK\alpha) - \gamma_A K \alpha - \gamma_I K L K \alpha = 0 \]
由于 \(K\) 是正定的(对于典型核),可化简求解 \(\alpha\):
\[[J^T JK + \gamma_A I_n + \gamma_I L K] \alpha = J^T \mathbf{y}_l \]
这里 \(J^T J\) 是一个 \(n \times n\) 的对角矩阵,其中前 \(l\) 个对角元为1(对应有标签样本),其余为0。\(I_n\) 是 \(n \times n\) 的单位矩阵。
求解这个线性方程组,得到系数向量 \(\alpha\):
\[\alpha = (J^T JK + \gamma_A I_n + \gamma_I L K)^{-1} J^T \mathbf{y}_l \]
最终,对于新的测试点 \(\mathbf{x}\),其预测值为:
\[f^*(\mathbf{x}) = \sum_{i=1}^{n} \alpha_i K(\mathbf{x}, \mathbf{x}_i) = \mathbf{k}(\mathbf{x})^T \alpha \]
其中 \(\mathbf{k}(\mathbf{x}) = [K(\mathbf{x}, \mathbf{x}_1), \dots, K(\mathbf{x}, \mathbf{x}_n)]^T\)。
总结
流形正则化的核心思想是通过构建一个包含所有数据的图来近似数据的潜在流形结构,并在模型优化目标中增加一个惩罚项(图的拉普拉斯正则化项),强制模型在该结构上保持平滑。这使得无标签数据所蕴含的分布信息得以被利用,从而在有标签数据有限时,帮助学习到一个泛化能力更强的函数。其求解过程最终归结为一个带特定结构正则化项的最小二乘问题,可以通过求解线性方程组得到闭式解(对于平方损失),或通过优化算法求解(对于其他损失,如铰链损失)。