NIPS-2002《Learning from Labeled and Unlabeled Data with Label Propagation》
核心思想分析
这篇论文提出了一种半监督学习方法,称为标签传播(Label Propagation),旨在利用少量标记数据(labeled data)和大量未标记数据(unlabeled data)进行分类任务。其核心思想是基于数据的局部结构假设:靠近的数据点倾向于具有相似的类标签。通过构建一个全连接图,论文利用未标记数据定义的高密度区域,将标记数据的标签传播到未标记数据,从而实现分类。
具体来说:
- 图模型:论文将所有数据点(标记和未标记)表示为一个全连接图,节点之间的边权重基于欧几里得距离,权重越大表示节点越接近。
- 标签传播机制:标记数据的标签作为固定的“源”,通过图的边传播到未标记数据,传播强度由边权重决定。传播过程在高密度区域内进行,最终在低密度区域(类边界)稳定。
- 参数学习:通过最小生成树(MST)启发式方法或熵最小化准则来学习传播参数(如权重函数中的 σ \sigma σ),以优化分类性能。
- 类比例调整:提出类质量归一化(Class Mass Normalization)和标签竞标(Label Bidding)两种后处理方法,控制分类结果的类比例,提升性能。
这种方法充分利用未标记数据的分布结构,弥补标记数据不足的问题,特别适用于标记数据稀少但未标记数据丰富的场景。
目标函数分析
论文的目标函数并非显式定义为一个单一的损失函数,而是通过标签传播过程隐式定义。其目标是通过迭代传播使得未标记数据的标签概率分布 Y U Y_U YU收敛到一个固定点,同时保持标记数据的标签不变。具体目标函数的数学形式体现在以下几个方面:
-
标签传播过程:
标签传播基于一个概率转移矩阵 T T T,定义为:
T i j = P ( j → i ) = w i j ∑ k = 1 l + u w k j , T_{ij} = P(j \rightarrow i) = \frac{w_{ij}}{\sum_{k=1}^{l+u} w_{kj}}, Tij=P(j→i)=∑k=1l+uwkjwij,
其中 w i j w_{ij} wij是节点 i i i和 j j j之间的权重,计算公式为:
w i j = exp ( − d i j 2 σ 2 ) = exp ( − ∑ d = 1 D ( x i d − x j d ) 2 σ 2 ) , w_{ij} = \exp\left(-\frac{d_{ij}^2}{\sigma^2}\right) = \exp\left(-\frac{\sum_{d=1}^D (x_i^d - x_j^d)^2}{\sigma^2}\right), wij=exp(−σ2dij2)=exp(−σ2∑d=1D(xid−xjd)2),
d i j d_{ij} dij是节点间的欧几里得距离, σ \sigma σ是控制传播距离的参数。 -
固定点解:
算法的迭代更新为:
Y ← T ˉ Y , Y \leftarrow \bar{T} Y, Y←TˉY,
其中 T ˉ \bar{T} Tˉ是行归一化的转移矩阵, T ˉ i j = T i j / ∑ k T i k \bar{T}_{ij} = T_{ij} / \sum_k T_{ik} Tˉij=Tij/∑kTik。未标记数据的标签矩阵 Y U Y_U YU更新公式为:
Y U ← T ˉ u u Y U + T ˉ u l Y L , Y_U \leftarrow \bar{T}_{uu} Y_U + \bar{T}_{ul} Y_L, YU←TˉuuYU+TˉulYL,
其中 Y L Y_L YL是标记数据的标签矩阵(固定不变), T ˉ u u \bar{T}_{uu} Tˉuu和 T ˉ u l \bar{T}_{ul} Tˉul是 T ˉ \bar{T} Tˉ的子矩阵。最终收敛到固定点:
Y U = ( I − T ˉ u u ) − 1 T ˉ u l Y L . Y_U = (I - \bar{T}_{uu})^{-1} \bar{T}_{ul} Y_L. YU=(I−Tˉuu)−1TˉulYL. -
熵最小化(参数学习):
为优化参数 σ \sigma σ,论文提出最小化未标记数据标签分布的熵:
H = − ∑ i , j Y i j log Y i j , H = -\sum_{i,j} Y_{ij} \log Y_{ij}, H=−i,j∑YijlogYij,
其中 Y i j Y_{ij} Yij表示节点 i i i对类别 j j j的概率。低熵表示标签分配更确定,反映了分类的置信度。
因此,目标函数可以看作是标签传播过程的固定点解(公式4)和熵最小化准则(公式5)的组合,旨在通过传播和参数优化实现准确的未标记数据分类。
目标函数的优化过程
优化过程分为两部分:标签传播的收敛和参数 σ \sigma σ的学习。
-
标签传播的优化:
- 算法步骤:
- 传播一步: Y ← T Y Y \leftarrow T Y Y←TY。
- 行归一化 Y Y Y,保持类概率解释。
- 固定标记数据的标签( Y L Y_L YL不变)。
- 重复直到 Y U Y_U YU收敛。
- 收敛性证明:
迭代更新公式为 Y U ← T ˉ u u Y U + T ˉ u l Y L Y_U \leftarrow \bar{T}_{uu} Y_U + \bar{T}_{ul} Y_L YU←TˉuuYU+TˉulYL。由于 T ˉ u u \bar{T}_{uu} Tˉuu的行和小于1(存在 γ < 1 \gamma < 1 γ<1,使得 ∑ j = 1 l T ˉ u u i j ≤ γ \sum_{j=1}^l \bar{T}_{uu_{ij}} \leq \gamma ∑j=1lTˉuuij≤γ), T ˉ u u n Y 0 → 0 \bar{T}_{uu}^n Y^0 \to 0 TˉuunY0→0,初始值 Y 0 Y^0 Y0的影响消失,最终收敛到:
Y U = ( I − T ˉ u u ) − 1 T ˉ u l Y L . Y_U = (I - \bar{T}_{uu})^{-1} \bar{T}_{ul} Y_L. YU=(I−Tˉuu)−1TˉulYL.
这一固定点是唯一的,由矩阵 ( I − T ˉ u u ) (I - \bar{T}_{uu}) (I−Tˉuu)的可逆性保证。
- 算法步骤:
-
参数 σ \sigma σ的优化:
- 最小生成树(MST)启发式:
使用Kruskal算法构建所有数据点的最小生成树,找到第一个连接不同类标签的边,其长度 d 0 d^0 d0作为类间最小距离的估计,设置 σ = d 0 / 3 \sigma = d^0 / 3 σ=d0/3,使类间边的权重接近0,促进类内传播。 - 熵最小化:
通过最小化熵 H = − ∑ i , j Y i j log Y i j H = -\sum_{i,j} Y_{ij} \log Y_{ij} H=−∑i,jYijlogYij优化 σ \sigma σ。当使用多维 σ d \sigma_d σd(每个维度一个 σ \sigma σ)时,采用梯度下降法计算 ∂ H / ∂ σ d \partial H / \partial \sigma_d ∂H/∂σd,寻找使熵最小的参数组合。 - 平滑处理:
为避免 σ → 0 \sigma \to 0 σ→0时的不良最小值(退化为p1NN),引入平滑矩阵:
T ˉ = ϵ U + ( 1 − ϵ ) T , \bar{T} = \epsilon \mathcal{U} + (1 - \epsilon) T, Tˉ=ϵU+(1−ϵ)T,
其中 U i j = 1 / ( l + u ) \mathcal{U}_{ij} = 1/(l+u) Uij=1/(l+u), ϵ = 0.0005 \epsilon=0.0005 ϵ=0.0005。平滑后,熵函数在 σ → 0 \sigma \to 0 σ→0时不再取最小值,优化更稳定。
- 最小生成树(MST)启发式:
主要贡献点
-
提出标签传播算法:
- 提出了一种简单而有效的半监督学习算法,通过图上的标签传播利用未标记数据的结构信息。
- 算法具有明确的数学形式,证明了其收敛性并给出了闭合解。
-
参数学习方法:
- 提出了基于最小生成树的启发式方法和熵最小化准则来学习传播参数 σ \sigma σ,增强了算法的适应性。
- 支持多维 σ d \sigma_d σd,实现特征选择,自动识别与分类无关的维度。
-
类比例调整:
- 提出类质量归一化和标签竞标两种后处理方法,控制分类结果的类比例,显著提升性能,尤其在标记数据稀少时。
-
与现有方法的联系:
- 分析了标签传播与Markov随机游走、均值场近似和图最小割算法的联系,提供了理论支持。
-
实验验证:
- 在合成数据集和手写数字数据集上验证了算法的有效性,显示其优于kNN和p1NN,尤其在结合类比例调整时。
实验结果分析
-
合成数据集:
- 3-Bands数据集:3类,3个标记点,178个未标记点, σ = 0.22 \sigma=0.22 σ=0.22(MST启发式)。标签传播成功捕捉数据结构,优于kNN。
- Springs数据集:2类,2个标记点,184个未标记点, σ = 0.43 \sigma=0.43 σ=0.43。结果显示算法能有效传播标签,适应复杂数据分布。
- Bridge数据集:展示 σ → 0 \sigma \to 0 σ→0时的退化问题,通过平滑( ϵ = 0.0005 \epsilon=0.0005 ϵ=0.0005)解决,优化 σ = 0.72 \sigma=0.72 σ=0.72。
- Ball数据集:4维数据,400点,算法识别出维度3和4与分类无关( σ 3 = 14.8 , σ 4 = 13.3 \sigma_3=14.8, \sigma_4=13.3 σ3=14.8,σ4=13.3),分类基于维度1和2的间隙。
-
手写数字数据集:
- 数据:Cedar Buffalo数据库的数字“1”、“2”、“3”,每类1100张16x16图像,256维向量。
- 设置:标记数据量 l l l从3到100,20次随机试验, σ ≈ 340 \sigma \approx 340 σ≈340(MST启发式),仅考虑每个点的150个最近邻。
- 评估方法:
- ML:最大似然标签。
- CNe:类质量归一化,使用标记数据估计的类比例。
- LBe:标签竞标,使用估计的类比例。
- CNo:类质量归一化,使用真实类比例(1/3)。
- LBo:标签竞标,使用真实类比例。
- 基线:1NN(k=1)和p1NN(逐点传播1NN)。
- 结果:
- 当 l ≥ 40 l \geq 40 l≥40时,ML优于1NN;当 l l l较小时,CNe和LBo显著提升性能。
- LBo在已知真实类比例时表现最佳(错误率低至0.5%)。
- CNe在估计类比例时表现稳定,优于LBe。
- p1NN与1NN性能相近,未展现明显优势。
- 表1显示错误率(如 l = 3 l=3 l=3时,LBo错误率2.3%,CNe为6.9%,ML为49.6%),差异在 α = 0.05 \alpha=0.05 α=0.05水平上显著。
-
参数学习:
- 熵最小化学习的 σ \sigma σ(如3-Bands的0.26,Springs的0.43)与MST启发式接近,分类结果一致。
- 在Ball数据集上,熵最小化识别出无关维度,验证了特征选择能力。
算法实现过程详细解释
以下是标签传播算法的详细实现步骤,包括数学推导和代码逻辑:
-
数据准备:
- 输入:标记数据 { ( x i , y i ) } i = 1 l \{(x_i, y_i)\}_{i=1}^l {(xi,yi)}i=1l, y i ∈ { 1 , … , C } y_i \in \{1, \ldots, C\} yi∈{1,…,C};未标记数据 { x i } i = l + 1 l + u \{x_i\}_{i=l+1}^{l+u} {xi}i=l+1l+u;总数据 X = { x 1 , … , x l + u } ∈ R D X = \{x_1, \ldots, x_{l+u}\} \in \mathbb{R}^D X={x1,…,xl+u}∈RD。
- 初始化标签矩阵 Y ∈ R ( l + u ) × C Y \in \mathbb{R}^{(l+u) \times C} Y∈R(l+u)×C:
- 标记数据: Y i , c = δ ( y i , c ) Y_{i,c} = \delta(y_i, c) Yi,c=δ(yi,c)(独热编码)。
- 未标记数据:随机初始化或均匀分布(如 Y i , c = 1 / C Y_{i,c} = 1/C Yi,c=1/C)。
-
构建权重矩阵:
- 计算节点间欧几里得距离 d i j = ∑ d = 1 D ( x i d − x j d ) 2 d_{ij} = \sqrt{\sum_{d=1}^D (x_i^d - x_j^d)^2} dij=∑d=1D(xid−xjd)2。
- 计算权重:
w i j = exp ( − d i j 2 σ 2 ) . w_{ij} = \exp\left(-\frac{d_{ij}^2}{\sigma^2}\right). wij=exp(−σ2dij2). - 为加速计算,可仅保留每个节点的 k k k个最近邻,设置其他 w i j = 0 w_{ij} = 0 wij=0(如实验中的150邻居)。
-
构造转移矩阵:
- 计算概率转移矩阵:
T i j = w i j ∑ k = 1 l + u w k j . T_{ij} = \frac{w_{ij}}{\sum_{k=1}^{l+u} w_{kj}}. Tij=∑k=1l+uwkjwij. - 行归一化得到 T ˉ \bar{T} Tˉ:
T ˉ i j = T i j ∑ k T i k . \bar{T}_{ij} = \frac{T_{ij}}{\sum_k T_{ik}}. Tˉij=∑kTikTij. - 分割 T ˉ \bar{T} Tˉ为子矩阵:
T ˉ = [ T ˉ l l T ˉ l u T ˉ u l T ˉ u u ] . \bar{T} = \begin{bmatrix} \bar{T}_{ll} & \bar{T}_{lu} \\ \bar{T}_{ul} & \bar{T}_{uu} \end{bmatrix}. Tˉ=[TˉllTˉulTˉluTˉuu].
- 计算概率转移矩阵:
-
标签传播迭代:
- 更新未标记数据的标签:
Y U ← T ˉ u u Y U + T ˉ u l Y L . Y_U \leftarrow \bar{T}_{uu} Y_U + \bar{T}_{ul} Y_L. YU←TˉuuYU+TˉulYL. - 保持 Y L Y_L YL固定(重新设置为初始独热编码)。
- 重复直到 Y U Y_U YU收敛(或达到最大迭代次数)。
- 收敛后, Y U = ( I − T ˉ u u ) − 1 T ˉ u l Y L Y_U = (I - \bar{T}_{uu})^{-1} \bar{T}_{ul} Y_L YU=(I−Tˉuu)−1TˉulYL。
- 更新未标记数据的标签:
-
参数学习:
- MST启发式:
- 使用Kruskal算法构建最小生成树。
- 找到连接不同类标签的第一个边,长度为 d 0 d^0 d0,设置 σ = d 0 / 3 \sigma = d^0 / 3 σ=d0/3。
- 熵最小化:
- 计算熵 H = − ∑ i , j Y i j log Y i j H = -\sum_{i,j} Y_{ij} \log Y_{ij} H=−∑i,jYijlogYij。
- 使用梯度下降优化 σ d \sigma_d σd,计算 ∂ H / ∂ σ d \partial H / \partial \sigma_d ∂H/∂σd(参考文献[7])。
- 可选平滑: T ˉ = ϵ U + ( 1 − ϵ ) T \bar{T} = \epsilon \mathcal{U} + (1 - \epsilon) T Tˉ=ϵU+(1−ϵ)T, ϵ = 0.0005 \epsilon=0.0005 ϵ=0.0005。
- MST启发式:
-
后处理:
- 最大似然(ML):对每个未标记点 i i i,选择 arg max c Y U i , c \arg\max_c Y_{U_{i,c}} argmaxcYUi,c。
- 类质量归一化:
- 估计或使用已知类比例 P 1 , … , P C P_1, \ldots, P_C P1,…,PC。
- 找到系数 λ c \lambda_c λc,使得 λ 1 ∑ Y U , 1 : ⋯ : λ C ∑ Y U , C = P 1 : ⋯ : P C \lambda_1 \sum Y_{U,1} : \cdots : \lambda_C \sum Y_{U,C} = P_1 : \cdots : P_C λ1∑YU,1:⋯:λC∑YU,C=P1:⋯:PC。
- 调整 Y U Y_U YU的列,重新分配标签。
- 标签竞标:
- 为每个类 c c c分配 u P c u P_c uPc个标签。
- 按 Y U i , c Y_{U_{i,c}} YUi,c从高到低处理,若类 c c c仍有标签,则分配给点 i i i,否则忽略。
-
输出:
- 未标记数据的预测标签 Y U Y_U YU,可用于分类或进一步分析。
总结
这篇论文提出了一种创新的标签传播算法,充分利用未标记数据的结构信息,通过图模型和概率传播实现半监督分类。其目标函数结合了传播固定点和熵最小化,优化过程通过迭代和参数学习实现。实验结果展示了算法在合成和现实数据集上的优越性,尤其在类比例调整和特征选择方面的贡献。算法实现简单但理论严谨,与其他方法(如Markov随机游走、均值场近似)的联系进一步增强了其学术价值。
感谢您提供的问题和图片内容。这段文字摘自论文《Learning from Labeled and Unlabeled Data with Label Propagation》,具体是标签传播算法收敛性证明和固定点解的部分。以下我将根据您的要求,用中文详细解释这段内容的数学意义,并通过一个简单的例子帮助您理解。
证明了标签传播算法的收敛性
核心思想是:
- 算法通过迭代传播标签,最终收敛到一个唯一的固定点。
- 初始未标记数据的标签分布 Y U 0 Y_U^0 YU0 对最终结果无影响,因为其影响会随迭代次数 n n n 增加而消失。
- 最终解依赖于标记数据的标签 Y L Y_L YL 和转移矩阵 T ˉ \bar{T} Tˉ 的子矩阵。
数学上,算法的更新规则是 Y U ← T ˉ u u Y U + T ˉ u l Y L Y_U \leftarrow \bar{T}_{uu} Y_U + \bar{T}_{ul} Y_L YU←TˉuuYU+TˉulYL,其中 T ˉ \bar{T} Tˉ 是行归一化的概率转移矩阵。论文通过分析 T ˉ u u n \bar{T}_{uu}^n Tˉuun 的行为,证明了 Y U Y_U YU 收敛到固定点:
Y U = ( I − T ˉ u u ) − 1 T ˉ u l Y L . Y_U = (I - \bar{T}_{uu})^{-1} \bar{T}_{ul} Y_L. YU=(I−Tˉuu)−1TˉulYL.
数学推导与解释
让我们逐步分解这段文字的数学内容:
-
算法更新过程:
- 初始时,未标记数据的标签矩阵为 Y U 0 Y_U^0 YU0(可能是随机值或均匀分布)。
- 迭代更新为 Y U ( n ) = T ˉ u u Y U ( n − 1 ) + T ˉ u l Y L Y_U^{(n)} = \bar{T}_{uu} Y_U^{(n-1)} + \bar{T}_{ul} Y_L YU(n)=TˉuuYU(n−1)+TˉulYL,其中 Y L Y_L YL 是固定的标记数据标签。
- 展开 n n n 次迭代:
Y U ( n ) = T ˉ u u n Y U 0 + ∑ i = 1 n T ˉ u u i − 1 T ˉ u l Y L . Y_U^{(n)} = \bar{T}_{uu}^n Y_U^0 + \sum_{i=1}^n \bar{T}_{uu}^{i-1} \bar{T}_{ul} Y_L. YU(n)=TˉuunYU0+i=1∑nTˉuui−1TˉulYL.
-
T ˉ u u n Y U 0 → 0 \bar{T}_{uu}^n Y_U^0 \to 0 TˉuunYU0→0 的证明:
- T ˉ \bar{T} Tˉ 是行归一化的转移矩阵,所有元素 T ˉ i j > 0 \bar{T}_{ij} > 0 Tˉij>0,且 ∑ j T ˉ i j = 1 \sum_j \bar{T}_{ij} = 1 ∑jTˉij=1。
- T ˉ u u \bar{T}_{uu} Tˉuu 是 T ˉ \bar{T} Tˉ 的子矩阵(对应未标记数据之间的转移),其行和 ∑ j T ˉ u u i j ≤ 1 \sum_j \bar{T}_{uu_{ij}} \leq 1 ∑jTˉuuij≤1。
- 存在一个 γ < 1 \gamma < 1 γ<1,使得 ∑ j T ˉ u u i j ( n − 1 ) ≤ γ \sum_j \bar{T}_{uu_{ij}}^{(n-1)} \leq \gamma ∑jTˉuuij(n−1)≤γ(因为部分概率流向标记数据)。
- 因此, ∑ j T ˉ u u i j ( n ) ≤ γ ∑ j T ˉ u u i j ( n − 1 ) ≤ γ n \sum_j \bar{T}_{uu_{ij}}^{(n)} \leq \gamma \sum_j \bar{T}_{uu_{ij}}^{(n-1)} \leq \gamma^n ∑jTˉuuij(n)≤γ∑jTˉuuij(n−1)≤γn,当 n → ∞ n \to \infty n→∞ 时, γ n → 0 \gamma^n \to 0 γn→0。
- 行和趋于零意味着 T ˉ u u n Y U 0 → 0 \bar{T}_{uu}^n Y_U^0 \to 0 TˉuunYU0→0,初始值 Y U 0 Y_U^0 YU0 的影响消失。
-
固定点解:
- 当 n → ∞ n \to \infty n→∞, Y U ( n ) Y_U^{(n)} YU(n) 收敛到固定点 Y U ∗ Y_U^* YU∗,满足:
Y U ∗ = T ˉ u u Y U ∗ + T ˉ u l Y L . Y_U^* = \bar{T}_{uu} Y_U^* + \bar{T}_{ul} Y_L. YU∗=TˉuuYU∗+TˉulYL. - 移项得到:
( I − T ˉ u u ) Y U ∗ = T ˉ u l Y L , (I - \bar{T}_{uu}) Y_U^* = \bar{T}_{ul} Y_L, (I−Tˉuu)YU∗=TˉulYL,
因此:
Y U ∗ = ( I − T ˉ u u ) − 1 T ˉ u l Y L , Y_U^* = (I - \bar{T}_{uu})^{-1} \bar{T}_{ul} Y_L, YU∗=(I−Tˉuu)−1TˉulYL,
其中 ( I − T ˉ u u ) (I - \bar{T}_{uu}) (I−Tˉuu) 是可逆的,因为 T ˉ u u \bar{T}_{uu} Tˉuu 的特征值模小于1。
- 当 n → ∞ n \to \infty n→∞, Y U ( n ) Y_U^{(n)} YU(n) 收敛到固定点 Y U ∗ Y_U^* YU∗,满足:
-
唯一性:
- 由于 T ˉ u u n Y U 0 → 0 \bar{T}_{uu}^n Y_U^0 \to 0 TˉuunYU0→0,初始值不影响最终结果。
- 固定点解是唯一的,因为 ( I − T ˉ u u ) − 1 (I - \bar{T}_{uu})^{-1} (I−Tˉuu)−1 唯一确定。
举例说明
为了帮助您直观理解,我们构造一个简单例子。假设:
- 总共有 4 个数据点,2 个标记(索引 0, 1),2 个未标记(索引 2, 3)。
- 类别数 C = 2 C = 2 C=2,标记数据标签 Y L = [ 1 0 0 1 ] Y_L = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} YL=[1001](第0点为类别1,第1点为类别2)。
- 转移矩阵 T ˉ \bar{T} Tˉ 为:
T ˉ = [ 0.5 0.2 0.2 0.1 0.2 0.5 0.1 0.2 0.3 0.1 0.4 0.2 0.1 0.3 0.2 0.4 ] , \bar{T} = \begin{bmatrix} 0.5 & 0.2 & 0.2 & 0.1 \\ 0.2 & 0.5 & 0.1 & 0.2 \\ 0.3 & 0.1 & 0.4 & 0.2 \\ 0.1 & 0.3 & 0.2 & 0.4 \end{bmatrix}, Tˉ= 0.50.20.30.10.20.50.10.30.20.10.40.20.10.20.20.4 ,
其中 T ˉ l l \bar{T}_{ll} Tˉll(0-1行,0-1列)、 T ˉ l u \bar{T}_{lu} Tˉlu(0-1行,2-3列)、 T ˉ u l \bar{T}_{ul} Tˉul(2-3行,0-1列)、 T ˉ u u \bar{T}_{uu} Tˉuu(2-3行,2-3列)分别是子矩阵。
步骤:
-
初始化:
- 未标记数据标签 Y U 0 = [ 0.5 0.5 0.5 0.5 ] Y_U^0 = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} YU0=[0.50.50.50.5](均匀分布)。
- 初始标签矩阵 Y = [ Y L Y U 0 ] Y = \begin{bmatrix} Y_L \\ Y_U^0 \end{bmatrix} Y=[YLYU0]。
-
迭代更新:
- 第一步: Y U ( 1 ) = T ˉ u u Y U 0 + T ˉ u l Y L Y_U^{(1)} = \bar{T}_{uu} Y_U^0 + \bar{T}_{ul} Y_L YU(1)=TˉuuYU0+TˉulYL。
- T ˉ u u = [ 0.4 0.2 0.2 0.4 ] \bar{T}_{uu} = \begin{bmatrix} 0.4 & 0.2 \\ 0.2 & 0.4 \end{bmatrix} Tˉuu=[0.40.20.20.4], T ˉ u l = [ 0.3 0.1 0.1 0.3 ] \bar{T}_{ul} = \begin{bmatrix} 0.3 & 0.1 \\ 0.1 & 0.3 \end{bmatrix} Tˉul=[0.30.10.10.3]。
- 计算:
T ˉ u u Y U 0 = [ 0.4 0.2 0.2 0.4 ] [ 0.5 0.5 0.5 0.5 ] = [ 0.3 0.3 0.3 0.3 ] , \bar{T}_{uu} Y_U^0 = \begin{bmatrix} 0.4 & 0.2 \\ 0.2 & 0.4 \end{bmatrix} \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} = \begin{bmatrix} 0.3 & 0.3 \\ 0.3 & 0.3 \end{bmatrix}, TˉuuYU0=[0.40.20.20.4][0.50.50.50.5]=[0.30.30.30.3],
T ˉ u l Y L = [ 0.3 0.1 0.1 0.3 ] [ 1 0 0 1 ] = [ 0.3 0.1 0.1 0.3 ] , \bar{T}_{ul} Y_L = \begin{bmatrix} 0.3 & 0.1 \\ 0.1 & 0.3 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 0.3 & 0.1 \\ 0.1 & 0.3 \end{bmatrix}, TˉulYL=[0.30.10.10.3][1001]=[0.30.10.10.3],
Y U ( 1 ) = [ 0.6 0.4 0.4 0.6 ] . Y_U^{(1)} = \begin{bmatrix} 0.6 & 0.4 \\ 0.4 & 0.6 \end{bmatrix}. YU(1)=[0.60.40.40.6].
-
收敛性:
- 重复迭代, Y U ( n ) = T ˉ u u n Y U 0 + ∑ i = 1 n T ˉ u u i − 1 T ˉ u l Y L Y_U^{(n)} = \bar{T}_{uu}^n Y_U^0 + \sum_{i=1}^n \bar{T}_{uu}^{i-1} \bar{T}_{ul} Y_L YU(n)=TˉuunYU0+∑i=1nTˉuui−1TˉulYL。
- 由于 T ˉ u u \bar{T}_{uu} Tˉuu 的最大特征值 < 1(例如,计算特征值约为0.6), T ˉ u u n → 0 \bar{T}_{uu}^n \to 0 Tˉuun→0。
- 最终 Y U ∗ = ( I − T ˉ u u ) − 1 T ˉ u l Y L Y_U^* = (I - \bar{T}_{uu})^{-1} \bar{T}_{ul} Y_L YU∗=(I−Tˉuu)−1TˉulYL。
-
计算固定点:
- I − T ˉ u u = [ 0.6 − 0.2 − 0.2 0.6 ] I - \bar{T}_{uu} = \begin{bmatrix} 0.6 & -0.2 \\ -0.2 & 0.6 \end{bmatrix} I−Tˉuu=[0.6−0.2−0.20.6]。
- 逆矩阵 ( I − T ˉ u u ) − 1 ≈ [ 1.875 0.625 0.625 1.875 ] (I - \bar{T}_{uu})^{-1} \approx \begin{bmatrix} 1.875 & 0.625 \\ 0.625 & 1.875 \end{bmatrix} (I−Tˉuu)−1≈[1.8750.6250.6251.875](近似值)。
- Y U ∗ = ( I − T ˉ u u ) − 1 T ˉ u l Y L ≈ [ 0.625 0.375 0.375 0.625 ] Y_U^* = (I - \bar{T}_{uu})^{-1} \bar{T}_{ul} Y_L \approx \begin{bmatrix} 0.625 & 0.375 \\ 0.375 & 0.625 \end{bmatrix} YU∗=(I−Tˉuu)−1TˉulYL≈[0.6250.3750.3750.625]。
- 取最大概率,点2分类为类别1,点3分类为类别2。
-
初始值影响:
- 若 Y U 0 = [ 0 1 1 0 ] Y_U^0 = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} YU0=[0110],迭代后仍收敛到相同 Y U ∗ Y_U^* YU∗,证明初始值无关紧要。
直观理解:
- 标记数据(点0,1)像“灯塔”,通过 T ˉ u l \bar{T}_{ul} Tˉul 向未标记数据(点2,3)传播标签。
- T ˉ u u \bar{T}_{uu} Tˉuu 控制未标记数据之间的相互影响,但其长期效应消失。
- 最终分类反映了标记数据的影响和数据点之间的邻近性。
总结与启发
这段文字证明了标签传播算法的鲁棒性:无论初始未标记数据标签如何,算法总会收敛到依赖于标记数据的唯一解。这一特性在半监督学习中非常重要,因为未标记数据的初始标签通常不可靠。通过例子,我们看到算法如何从少量标记数据推断未标记数据的标签,依赖于图结构的传播机制。您可以尝试用更大数据集(如论文中的手写数字数据集)验证这一过程,观察不同 T ˉ \bar{T} Tˉ 和 Y L Y_L YL 组合下的结果。