基于图的半监督学习:标签传播算法(Label Propagation Algorithm)的原理与迭代过程
一、 题目描述
标签传播算法(Label Propagation Algorithm, LPA)是一种简洁有效的基于图的半监督学习算法。它在一个由带标签数据(已知类别)和无标签数据(未知类别)共同构建的图上,通过相邻节点之间的信息传递(即“传播”)来为无标签节点预测标签。
核心问题:给定少量有标签数据和大量无标签数据,如何利用数据点之间的相似性(图结构)来预测所有无标签数据的标签?
应用场景:文本分类、社交网络社区发现、图像分割等,特别适用于有标签数据稀缺的情况。
二、 解题过程详解
标签传播的核心思想是 “物以类聚” 。我们将数据点视为图中的节点,相似的数据点之间有边相连。标签信息会沿着边从有标签的节点“流”向无标签的节点。最终,相似的节点倾向于拥有相同的标签。
第1步:构建相似图
我们需要将所有数据点(有标签的 + 无标签的)组织成一个图 G = (V, E)。
- 节点(V):每个数据点(样本)是一个节点。假设共有
n个节点,其中前l个(1到l)是有标签的,后u个(l+1到n)是无标签的。n = l + u。 - 边(E)与权重:我们需要定义节点
i和节点j之间的连接关系及亲疏程度。常用方法有:- ε-邻域法:如果两点间的欧氏距离小于阈值 ε,则连边,权重为1,否则为0。(简单但对参数敏感)
- k-最近邻法:每个节点只与其k个最相似的邻居节点连边。
- 全连接法:所有节点两两相连,边的权重由相似度函数(如高斯核/RBF核)决定:
W_ij = exp( -||x_i - x_j||^2 / (2σ^2) ),其中σ是带宽参数,控制相似度衰减速度。权重W_ij越大,表示两点越相似。
这样,我们就得到了一个 n × n 的对称权重矩阵 W,它描述了图中所有节点对的亲疏关系。
第2步:计算转移概率矩阵
标签传播是一个概率扩散过程。我们需要定义一个节点将标签传播给另一个节点的概率。
- 计算度矩阵 D:这是一个对角矩阵,其对角线元素
D_ii = Σ_j W_ij,表示节点i与所有其他节点的连接强度(即“度”)。 - 计算转移概率矩阵 P:
P = D^{-1} W。即P_ij = W_ij / D_ii。- 意义:
P_ij表示从节点i随机游走到其邻居节点j的概率。所有从节点i出发的转移概率之和为1(Σ_j P_ij = 1)。这意味着矩阵P的每一行之和为1,它是一个行随机矩阵。
- 意义:
第3步:初始化标签矩阵
我们需要一个矩阵来记录每个节点在所有类别上的“标签分布”(或置信度)。
假设总共有 C 个类别(比如分类任务中有3类:猫、狗、鸟)。
- 构造一个
n × C的标签矩阵Y。 - 对有标签节点 (1 ≤ i ≤ l):
- 如果节点
i的真实标签是类别k,则Y_ik = 1,其他分量为0。这称为 “one-hot”编码。
- 如果节点
- 对无标签节点 (l+1 ≤ i ≤ n):
- 初始时完全未知,所以将其所有类别的概率初始化为
0,即Y_ik = 0。
- 初始时完全未知,所以将其所有类别的概率初始化为
示例:假设有2个有标签节点(节点1是“猫”,节点2是“狗”)和1个无标签节点(节点3),共3类。初始 Y 为:
节点1(猫): [1, 0, 0]
节点2(狗): [0, 1, 0]
节点3(无): [0, 0, 0]
第4步:迭代传播过程(算法的核心)
这是标签传播的迭代更新公式:Y(t+1) = P * Y(t)
如何理解?
P * Y(t)是一次矩阵乘法。- 对于任意一个节点
i,其更新后的标签分布Y_i(t+1)等于其所有邻居节点j在上一时刻的标签分布Y_j(t)的加权平均,权重正是转移概率P_ij。 - 直观解释:每个节点都收集来自其邻居的“意见”(标签信息),然后根据邻居的“亲疏关系”(转移概率)来综合形成自己新的“意见”。有标签的节点就像“信息源”,它们的意见是固定不变的。无标签节点的意见在一次次的迭代中被周围的信息源“同化”。
但这里有一个关键:有标签节点是“源头”,它们的标签不应该被邻居改变。因此,我们需要在每次迭代后,将有标签节点 i 的标签强行重置为其真实值(即保持初始的 one-hot 向量不变)。这个过程称为 “钳制(Clamping)”。
所以,完整的迭代步骤如下,直到收敛:
- 传播:计算
Y_new = P * Y_old。 - 钳制:将
Y_new中前l行(对应有标签节点)的内容,替换回初始的Y(即真实标签的 one-hot 编码)。 - 更新:令
Y_old = Y_new。 - 判断收敛:当连续两次迭代中,所有节点的标签分布变化小于一个预设的极小阈值时,或达到最大迭代次数,算法停止。
数学上,可以将迭代过程写为对 Y 的分块矩阵操作,但钳制操作在概念上更清晰。
第5步:收敛与预测
- 收敛性:可以证明,在上述迭代规则下,算法最终会收敛到一个唯一的、稳定的解。这个解实际上等价于在图上求解一个关于能量的最小化问题,即寻找一个最平滑的函数(标签分布),使得在有标签节点处与真实标签一致。
- 为无标签节点分配标签:迭代结束后,我们得到最终的标签矩阵
Y_final。对于任意一个无标签节点i(i > l):- 查看其标签分布
Y_final[i, :],这是一个1×C的概率向量。 - 预测的标签就是概率值最大的那个类别索引:
predicted_label_i = argmax_k (Y_final[i, k])。
- 查看其标签分布
三、 算法总结与特点
- 优点:
- 简单直观:概念清晰,实现容易。
- 无需复杂模型:本质是基于图结构的近邻信息聚合。
- 仅需相似度矩阵:对数据的内在形式没有要求,只要能计算出相似度即可。
- 缺点:
- 受图结构影响大:初始图(尤其是权重矩阵
W)的构建质量直接影响最终结果。 - 迭代计算成本:虽然单次迭代是矩阵乘法,但对于大规模图,存储和计算
n×n的矩阵P开销很大。有更高效的近似实现。 - 没有明确的优化目标:不像一些模型有显式的损失函数。
- 受图结构影响大:初始图(尤其是权重矩阵
本质:标签传播算法可以看作是在图上定义的马尔可夫随机游走过程。收敛后的标签分布,是随机游走者从该节点出发,最终“吸收”到各个有标签类别的概率。它强制了图上的平滑性假设:在稠密连接区域(相似点群)中,标签应该保持一致。