Graph transduction via alternating minimization

发布时间 2023-09-12 15:21:05作者: 馒头and花卷

Wang J., Jebara T. and Chang S. Graph transduction via alternating minimization. ICML, 2008.

一种对类别不均更鲁棒的半监督算法.

符号说明

  • \(\mathcal{X}_l = \{\mathbf{x}_1, \cdots, \mathbf{x}_l\}\), labeled inputs;
  • \(\mathcal{X}_u = \{\mathbf{x}_{l+1}, \cdots, \mathbf{x}_{l+u}\}\), unlabeled inputs;
  • \(\mathcal{X} = (\mathcal{X}_l, \mathcal{X}_u)\);
  • \(\mathcal{L} = \{1, 2, \ldots, c\}\), 类别;
  • \(\mathcal{G} = \{\mathcal{X}, \mathcal{E}\}\), 图;
  • \(\mathbf{W} = \{w_{ij}\}\), weight matrix, \(w_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)\);
  • \(\mathbf{D} = \text{diag}([d_1, \cdots, d_n])\), degree matrix, \(d_i = \sum_{j=1}^n w_{ij}\);
  • \(\mathbf{Y} \in \mathcal{B}^{n \times c}\), \(\mathbf{x}_i\) 若有 label \(y_i = j\), 则 \(Y_{ij} = 1\) 否则为 0;
  • \(Y_{i\cdot}, Y_{\cdot j}\) 分别表示第 \(i\) 行和第 \(j\) 列;
  • graph Laplacian:

    \[\mathbf{\Delta} = \mathbf{D - W}; \]

  • normalized graph Laplacian:

    \[\mathbf{L} = \mathbf{D}^{-1/2}\mathbf{\Delta} \mathbf{D}^{-1/2}. \]

GTAM

  • 现在的状况是, 我们仅有 \(\mathcal{X}_l\) 上的标签且很有可能是带有噪声的, 且不同类别的观测量也可能是不平衡的, 我们希望借此和图的结构 \(\mathbf{W}\) 来预测 \(\mathcal{X}_u\) 上的标签.

  • 以往的方法往往采用最小化如下问题

    \[\tag{1} \mathcal{Q}(\mathbf{F}) = \frac{1}{2}\Big( \underbrace{\sum_{i, j=1}^n w_{ij} \|\frac{\mathbf{F}_{i\cdot}}{\sqrt{\mathbf{D}_{ii}}} - \frac{\mathbf{F}_{j\cdot}}{\sqrt{\mathbf{D}_{jj}}}\|^2}_{Q_{smooth}} + \mu \underbrace{\sum_{i=1}^n \|\mathbf{F}_{i\cdot} - \mathbf{Y}_{i\cdot}\|^2}_{Q_{fit}}, \Big) \]

    得到 \(\mathbf{F}^*\), 然后每个结点的标签可以通过如下方式预测:

    \[\hat{y}_i := \arg \max_j F_{ij}^*. \]

  • 细心的同学可以发现, 上面的方式可以独立拆分为:

    \[\mathcal{Q}(\mathbf{F}) = \mathcal{Q}(\mathbf{F}_{\cdot 1}) +\mathcal{Q}(\mathbf{F}_{\cdot 2}) + \cdots +\mathcal{Q}(\mathbf{F}_{\cdot c}). \]

  • 既然对每个 label 这么独立的计算, 观测到更多数量的类别在最后的预测中往往会占据更强大的位置. 换言之, 最后的结果往往会偏向这些主要的类别.

  • GTAM 除了连续的分类矩阵 \(\mathbf{F} \in \mathcal{R}^{n \times c}\), 额外维护一个二元的标签矩阵 \(\mathbf{Y} \in \mathcal{B}^{n \times c}\), 然后优化问题转为:

    \[\tag{2} \begin{array}{rl} \min_{\mathbf{F}, \mathbf{Y}} & \mathcal{Q}(\mathbf{F}, \mathbf{Y}) = \frac{1}{2}\text{tr}(\mathbf{F}^T \mathbf{LF} + \mu (\mathbf{F} - \mathbf{VY})^T (\mathbf{F} - \mathbf{VF})) \\ \text{s.t.} & \sum_{j} Y_{ij} = 1. \end{array} \]

    注: \(\mathbf{Y}\) 初始化为观测到的标签, 而且 GTAM 的算法中, \(\mathbf{Y}\) 的为 \(1\) 的元素是不会改变的, 所以可以认为已经观测到的元素是不需要训练的.

  • 容易发现, 当 \(\mathbf{V} = \mathbf{I}\)\(\mathbf{Y}\) 不可训练的时候, (2) 就退化成了 (1).

  • GTAM 令 \(\mathbf{V}\) 为一个对角矩阵 \(\mathbf{V} = \text{diag}(\mathbf{v})\), 其中

    \[\mathbf{v} = \sum_{j=1}^c \frac{\mathbf{Y}_{\cdot j} \odot \mathbf{D} \mathbf{1}}{\mathbf{Y}_{\cdot j}^T \mathbf{D} \mathbf{1}}. \]

    容易发现, 此时每个类别的总权重都为 \(1\), 然后匀到各个样本点中去 (换言之, 对于数目众多的类别, 每个样本点分配的权重就会少一点). 若令

    \[\mathbf{Z} := \mathbf{VY}, \]

    可以证明

    \[\sum_{i} \mathbf{Z}_{ij} = 1. \]

  • 当然了, 我们也可以假定不同类别的总权重是不一致的, 这取决于我们的先验.

交替优化求解

  • Minimization for \(\mathbf{F}\): 当我们固定 \(\mathbf{Y}\) 的时候, 关于 \(\mathbf{F}\) 是一个凸函数, 可以直接得到它的显式解:

    \[\mathbf{F}^* = \underbrace{(\mathbf{L} / \mu + \mathbf{I})^{-1}}_{=:\mathbf{P}} \mathbf{VY}. \]

  • Greedy minimization of \(\mathbf{Y}\):, 将上面的解带入 (2) 可得:

  • 受限于 \(\mathbf{Y}\) 的二元约束, GTAM 采用贪心的方式逐步将 \(\mathbf{Y}\) 中非零的元素转换为 1.

  • 主要思想是, 计算 \(\nabla \mathcal{Q}(\mathbf{Y})\) 的 largest negative gradient 是一个较为可靠的点.

  • 注意到, 当我们用 \(\mathbf{Z}\) 替换, 可以得到更加简单的方式:

    \[\mathcal{Q}(\mathbf{Z}) = \frac{1}{2} \text{tr}(\mathbf{Z}^T \mathbf{A} \mathbf{Z}), \]

    其中

    \[\mathbf{A} = \mathbf{P}^T \mathbf{L} \mathbf{P} + (\mathbf{P}^T - \mathbf{I})(\mathbf{P} - \mathbf{I}). \]

  • 于是, 我们估计下一个标签为:

    \[(i^*, j^*) = \text{argmin}_{\mathbf{x}_i \in \mathcal{X}_u, 1 \le j \le c} \nabla_{\mathbf{Z}_{ij}} \mathcal{Q}. \]

    并令

    \[\mathbf{Y}_{i^*, j^*} = 1, \]

    其余元素不变. 重复上述的过程直到所有的结点都被打标.

  • 注: 文中提到:

    \[\arg\min_{i, j} \frac{\partial \mathcal{Q}}{\partial Y_{ij}} = \arg \min_{i,j} \frac{\partial \mathcal{Q}}{\partial Z_{ij}}, \]

    其实应该不是这么一回事. 因为

    \[\nabla_Y \mathcal{Q} = \mathbf{V}^{-1} \nabla_Z \mathcal{Q}, \]

    所以对于每一个结点 \(\mathbf{x}_i\), 其中所应该被打标的点是不变的, 但是 \(\mathbf{x}_i, \mathbf{x}_j\) 的相对顺序是存在变化的.

  • 最后, 总的流程为:

  • 注意到, 实际上我们不需要显式计算 \(\mathbf{F}\), 上面的过程只是 \(\mathbf{Y}\) 不断更新而已.