Dynamic Label Propagation for Semi-supervised Multi-class Multi-label Classification

ICCV 2013

  在基于Graph的半监督学习方法中,分类的精度高度依赖于可用的有标签数据 和 相似性度量的精度。此处,本文提出一种半监督的 multi-class and multi-label 分类机制,Dynamic Label Propagation(DLP),是在一个动态的过程中传递,执行 transductive learning。现有的半监督方法一般都很难处理多标签/多分类问题,因为缺乏考虑标签的关系;本文所提出的方法重点强调动态度量和标签信息的融合。

  


  监督的度量学习方法经常学习马氏距离(Mahalanobis distance),努力缩小相同标签之间的距离,与此同时,尽可能保持或者拉大不同标签图像的距离。基于Graph的监督学习框架利用少量的有标签信息去挖掘大量的无标签数据的信息。Label Propagation 具体的认为在一个Graph中通过信息传递,有较大相似性的由边链接的点趋于拥有相同的标签。另外一种类型的办监督学习方法, 协同训练(Co-training),利用多视角特征来相互帮助,拉进无标签数据来重新训练并且增强分类器(by pulling out unlabeled data to re-train and enhance the classifiers)。

  上述方法一般都是用来处理二分类问题,对于多分类/多标签问题,标签传递算法就有问题了,需要一些额外的操作。一种通用的处理多分类和多标签学习的方法是利用 one vs all 的策略。但是,不足之处是,不同类别之间的关系无法完全处理。有了类别之间的关系,分类的效果会明显提升。

  本文中,我们提出了一种新的,DLP 来同时处理多标签/多分类问题。将标签关系 和 示例相似性 (label correlations and instance similarities)结合成一种新的执行标签传递的方式。The intuition in DLP 是通过融合多标签/多分类信息从而动态的更新相似性度量,可以在一个概率框架中进行理解。KNN矩阵 用来存贮输入数据的内在结构。


  Review: Label Propagation

  给定一个有限的加权图 G = (V, E, W), 该图的顶点为每一个样本,构成结合 X = {xi, i = 1...n},边E的集合为:V*V,非负的对称权重函数 W:E->[0, 1]。若样本 xi xj 之间有边相连,则认为 W(i,j)>0。我们将权重函数W(i, j)作为样本xi xj的相似性度量。如果定义在图上的度量矩阵为:

其中,h(x) = exp(-x),分母中的两个参数为超参数,/delta is learned by the mean distance to K-nearest neighborhoods(到K近邻的平均距离???此处不太理解)。

  一个很自然的关于顶点V的转移矩阵可以定义为归一化权重矩阵:  

所以 Σj∈V P(i, j)=1。Note: P在归一化之后变为对称。

  将数据集表为 X = {Xl U Xu}, Xl 表示有标签数据 Xu表示无标签数据。在标签传递的过程中,很重要的一环是:clamping,即:每次迭代后,都要将有标签数据的label重置,这是要排除干扰,因为这些有标签的数据并不需要propagation,所以只要有变动,就要重置回来。对于二分类的LP,作者建议读相关参考文献,对于多分类问题,1-of-C,所以标签矩阵是:Y = [Y(l), Y(u)];n 是数据点的个数,C是类别数。Y(l)是有标签数据的标签矩阵,Y(u)是无标签数据的标签矩阵。设置 Y(l)(i, k) = 1, 如果xi被标注为类别k,否则就是0.在迭代的过程中,迭代的执行两列两个步骤:

  1. Labels are propagated Yt = P * Yt-1.

  2. Labels of labeled data Xl are reset.

算法主要流程如下:


  Dynamic Label Propagation

  1. Local Similarity

    给定 数据集 X 及其对应的Graph G = (V, E, W),我们构建 KNN graph g = (V,e,w):顶点V与G中一样,加权边只是近邻的一些。换句话说,非相邻点的相似性置为0. 我们假设:局部相似性 比远处的更可靠;对应的,局部相似性可以传递给非局部点 through a diffusion process(扩散处理) on the graph。这个假设被广泛的应用于其他的流型学习的算法。

  用KNN来衡量局部密切关系(local affinity),我们构建和相似矩阵相联系的g:

  注意到,P 携带着全部的pair-wise 相似性信息,与此同时,p' 仅仅编码了与近邻数据的相似性。但是 p' 结合了输入数据空间鲁棒的结构信息。我们称呼 P 为状态矩阵,p' 为对应的KNN矩阵。


  2. Label Fusion on Diffusion Space

  Label propagation的一个不足在于:因为没能考虑不同标签之间的相互作用,未能在多类和多标签分类问题。为了改善多类/多标签分类的效果,本文中提出了一种动态的标签传递方法(dynamic version of label propagation)。主要的idea 来自于通过融合每次迭代中的数据特征和数据标签的信息来改善transition matrix。

  给定Kernel $P_t$,此处 $t$代表迭代的数目,第$t$次迭代的diffusion distance(扩散距离):

  $D_t(i, j) = ||P_t(i, :) - P_t(j, :)||.$

  扩散的过程将data映射到n维的空间,每一个数据点根据其转移概率转到其他的数据点之上。可以做出一个合理的假设,即:每一个数据点$x_t$,我们有:$p(x_t) = \mathcal{N}(x_t|\mu_t, P_t)$, 其中,$\mu_t$ 是未知的。注意到,标签矩阵$Y_t$ 包含类别标签的信息,标签之间的关系 $K_Y = Y_tY_t^T$ 可以看做是标签空间中的数据点之间的相似性,标签空间中的数据点有概率 $p(y_t) = \mathcal{N}(y_t|0, K_t)$。

  我们的方法可以分成两个步骤:

  1. Kernel Fusion。

  2. Kernel Diffusion。

  


  1. Kernel Fusion。

  Dynamic label propagation 的第一部分是状态矩阵 $P_t$ 和 标签核(the label kernel) $K_Y = Y_tY_t^T$的融合。一个权重 $\alpha$ 赋给label kernel $K_Y$,融合后的kernel是:

  $F_t = (P_t + $\alpha$ Y_tY_t^T).$

  该操作对应于diffusion spaces的一个加法算子:

  $p(z_t) = \mathcal{N}(z_t|\mu_t, P_t + $\alpha$ Y_tY_t^T) = \mathcal{N}(z_t|\mu_t, F_t).$

  

  这个简单的融合技术考虑了示例标签向量的关系。潜在的假设是:拥有高相关标签向量的instance,趋于在输入数据空间高度的相似性。标签向量之间的关系可以表示instance之间的标签依赖,特别对于多标签和多类问题。融合转移kernel和标签相关性的优势有如下两点:

  一方面,拥有高度相关的标签向量的两个示例,在输入数据空间有更高的相似性,融合的过程从而就使得kernel matrix 更加适合输入流型。

  另一方面,得到的kernel matrix 通过下一个回合的标签传递,可以得到更好的标签信息。

  用这种方法,我们可以在特征空间标签空间之间,建立起动态的相互联系的过程。然而,由于标签信息是随着传递过程动态更新的,经过初始的几个回合之后的结果标签信息就不在改善转移矩阵了,有时候甚至使之变坏了。为了解决这个问题,我们设计了一个新颖的基于局部近邻的融合操作。

  

  2. Kernel Diffusion。

  假设 $P_0$ 是利用公式(1)(2)得到的输入数据的初始状态矩阵,由公式(3)(4)得到 $\mathcal{P} = KNN(P_0)$;我们利用线性操作符$\mathcal{P}$ 来进行映射:

   $x_{t+1} = \mathcal{P} z_t + \lambda_t \varepsilon$

  其中,$\varepsilon$ 是白噪声(white noise),i.e. $p(\varepsilon) = \mathcal{N}(\varepsilon|0, 1)$。注意到,$\mathcal{P}$ 是 $P_0$ 的稀疏版本(sparse version),在$\matchcal{P}$中,仅仅包含空间中的局部近邻信息:

  

  有此线性操作,我们可以得到:

  $x_{t+1}$ 的边缘分布是:

  以上公式表明,dynamic label propagation 的精髓或者说是本质是:在扩散空间迭代的进行线性操作(do linear operations on diffusion space iteratively)。注意到,$x_{t+1}$ 是 diffusion space 中的一个点,我们将其映射到 diffusion space, 而不是原始的数据空间。该转换有两个优点:

  1. 避免了输入空间计算代价昂贵的采样过程;

  2. 得到的 variance matrix 是一个很好的 diffusion kernel,更好的进行 label propagation。

  这种映射背后的直觉是:公式(6)中标签关系的简单融合,当学习到的无标签数据的标签信息精确度不足以区分输入空间的相似性的时候,就会导致第一个回合的性能降低。所以,我们需要通过 KNN matrix 再次强调输入数据之间的内部结果。通过这种方式,我们可以调整融合的 kernel matrix 来保留初始结构的部分信息。

  

  在每次迭代,该映射的直接反应到 diffusion space 的是:我们构建下一次迭代的 transition matrix:

  其中,内积 $<X_1, X_2>$ 代表两个向量的内积,并且 当 $i = j$ 时,$\delta_{ij} = 1$,否则就为0。从公式(13)可以看出,仅仅主要的近邻才传播信息给下一个迭代的转移矩阵。一个很重要的现象是:当 data i, j 在各自的相似性矩阵中 拥有相同的 dominant neighbors,那么他们有很大的可能性是属于同一类的。

  下面给出了 dynamic label propagation 的主要算法流程:


  

 

论文笔记之:Dynamic Label Propagation for Semi-supervised Multi-class Multi-label Classification ICCV 2013的更多相关文章

  1. 论文笔记:Dynamic Multimodal Instance Segmentation Guided by Natural Language Queries

    Dynamic Multimodal Instance Segmentation Guided by Natural Language Queries 2018-09-18 09:58:50 Pape ...

  2. 【论文笔记】Dynamic Routing Between Capsules

    Dynamic Routing Between Capsules 2018-09-16 20:18:30 Paper:https://arxiv.org/pdf/1710.09829.pdf%20 P ...

  3. 论文笔记之:Heterogeneous Image Features Integration via Multi-Modal Semi-Supervised Learning Model

    Heterogeneous Image Features Integration via Multi-Modal Semi-Supervised Learning Model ICCV 2013 本文 ...

  4. A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问

    这是我最近看到的一篇论文,思路还是很清晰的,就是改进的LPA算法.改进的地方在两个方面: (1)结合K-shell算法计算量了节点重重要度NI(node importance),标签更新顺序则按照NI ...

  5. SLAP(Speaker-Listener Label Propagation Algorithm)社区发现算法

    其中部分转载的社区发现SLPA算法文章 一.概念 社区(community)定义:同一社区内的节点与节点之间关系紧密,而社区与社区之间的关系稀疏. 设图G=G(V,E),所谓社区发现是指在图G中确定n ...

  6. 论文笔记:CNN经典结构1(AlexNet,ZFNet,OverFeat,VGG,GoogleNet,ResNet)

    前言 本文主要介绍2012-2015年的一些经典CNN结构,从AlexNet,ZFNet,OverFeat到VGG,GoogleNetv1-v4,ResNetv1-v2. 在论文笔记:CNN经典结构2 ...

  7. 论文笔记之:Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation

    Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation Google  2016.10.06 官方 ...

  8. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  9. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

随机推荐

  1. Failed to load project at 'xxx.xcodeproj', incompatible project version。

    Failed to load project at 'xxx.xcodeproj', incompatible project version. 更新最新的xcode,xcode高版本可以打开低版本的 ...

  2. iOS连续上传多张图片

    参考地址:http://www.cocoachina.com/ios/20180730/24366.html 需求是怎样的:for 循环里面.多个网络请求上传图片,每次上传一张,至于为什么每次只上传一 ...

  3. 9 jmeter之检查点

    jmeter有类似loadrunner检查点的功能,就是断言中的响应断言. 1.响应断言(对返回文字结果进行相应的匹配)右击请求-->添加-->断言-->响应断言-->添加“要 ...

  4. CMSPRESS-PHP无限级分类

    原博文地址:http://blog.sina.com.cn/s/blog_75ad10100101mrv0.html 当你学习php无限极分类的时候,大家都觉得一个字“难”我也觉得很难,所以,现在都还 ...

  5. jquery closest & parent比较

    .closest() .parents() 从当前元素开始 从父元素开始 沿 DOM 树向上遍历,直到找到已应用选择器的一个匹配为止. 沿 DOM 树向上遍历,直到文档的根元素为止,将每个祖先元素添加 ...

  6. [LeetCode] 674. Longest Continuous Increasing Subsequence_Easy Dynamic Programming

    Given an unsorted array of integers, find the length of longest continuous increasing subsequence (s ...

  7. 全文搜索引擎Xapian

    安装过程 安装xapian-core wget http://oligarchy.co.uk/xapian/1.0.13/xapian-core-1.0.13.tar.gztar zxvf xapia ...

  8. Python - matplotlib 数据可视化

    在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进 ...

  9. 《Enhanced LSTM for Natural Language Inference》(自然语言推理)

    解决的问题 自然语言推理,判断a是否可以推理出b.简单讲就是判断2个句子ab是否有相同的含义. 方法 我们的自然语言推理网络由以下部分组成:输入编码(Input Encoding ),局部推理模型(L ...

  10. Linux命令: 替换字符串

    敲命令按以下顺序 ①vim filename ②e ③i ④ESC 1    :s/str1/str2    把当前行的第一个str1替换成str2 2    :s/str1/str2/g    把当 ...