1 介绍

        多视图学习也称作多视角学习(Multi-view learning)是陶大成提出的一个研究方向。在实际应用问题中,对于同一事物可以从多种不同的途径或不同的角度进行描述,这些不同的描述构成了事物的多个视图。事物的多视图数据在真实世界中广泛存在并且影响着人们生活的方方面面。例如:在与人们生活息息相关的互联网中,网页数据既可以用网页本身包含信息的特征集描述,也可以用超链接包含的信息描述。此外,同一事物由于数据采集方式不同,也可以有不同的表达方法。例如:使用不同传感器采集一个人的指纹就形成了多种不同的印痕,构成了指纹数据的多个视图。


图1 多视图数据的不同表达方式
(a) 一张网页由超链接或网页内容描述;(b) 一个指纹由光学指纹仪或电容式指纹仪采集;
(c) 一个人由多种不同的视觉角度描述;(d) 一张图片由音频或视频描述

        Multi-view learning: introduces one function to model a particular view and jointly optimizes all the functions to exploit the redundant views of the same input data and improve the learning performance.
        多视图学习:引入了一个函数去模型化一个特定的视角,并且利用相同输入的冗余视角去联合优化所有函数,最终提高学习效果。


2 多视图学习算法

        多视图学习是这样一类问题:它对由多个不同特征集表示的数据进行机器学习。

        Principles(准则): (1) consensus principle (共识准则) (2)complementary principle (互补准则)

  • 互补准则:该准则规定,为了更全面、更准确地描述数据对象,应该使用多个视图。在多视图数据的上下文,每个视图都足以完成特定的知识发现任务。然而,不同的视图通常包含相互补充的信息。例如,在图像处理领域,每幅图像都由不同类型的特征来描述,如lbp、sift和hog,其中lbp是一种强大的纹理特征,sift对图像的光照、噪声和旋转具有鲁棒性,而hog对边缘信息敏感。因此,有必要利用这些相互补充的信息来描述这些数据对象,并对内部集群提供更深入的见解。
  • 共识准则:这一旨在最大限度地保持多个不同观点的一致性。

        陶大成把现有的可用于多视角学习算法分为三类:(1)Co-training 协同训练 (2)Multiple Kernel Learning 多核学习 (3)Subspace Learning 子空间学习。

2.1 Co-training(协同训练)

        Co-training: trains alternately(轮流地) to maximize the mutual agreement on two distinct views of the unlabeled data.
        协同训练:在未标记数据的两个不同视角下,轮流的训练。使相互一致性最大化。

        Co-training是基于分歧的方法,其假设每个数据可以从不同的角度(view)进行分类,不同角度可以训练出不同的分类器,然后用这些由于这些分类器从不同角度训练出来的,可以形成一种互补,而提高分类精度;就如同从不同角度可以更好地理解事物一样。

        注意,协同训练的成功主要取决于三个假设:

  • 充分性:每个视图本身就足以完成学习任务;
  • 兼容性:目标函数导出对两个视图中同时出现的高概率特征的相同预测;
  • 条件独立性:所有视图都提供学习标签:有条件独立。

        然而,在实践中,通常很难满足条件独立性假设。


图2 协同训练的一般过程

Co-training Variants(变种):

  • Expectation-Maximization (EM): assigning changeable probabilistic labels to unlabeled data; (聚类算法-OpenCV有相关函数)
  • Semi-Supervised Learning Algorithm: Muslea et al;
  • Bayesian undirected graphical model & Gaussian process classifiers: Yu et al;
  • Combinative label propagation (结合的标签传播): Wang & Zhou;
  • A data-dependent “co-regularization(协同正则化)”norm: Sindhwani;
  • Data clustering and designed effective algorithms: Bickel & Scheffer and Kumar et al;
2.2 Multiple kernel learning(多核学习 )

        exploits kernels that naturally correspond to different views and combine kernels either linearly or non-linearly to improve learning performance.
        为了提高线性核、多项式核和高斯核等可能的核函数的搜索空间容量,最初开发了多核学习,以实现良好的泛化。由于多核学习的内核自然对应不同的视图,因此多核学习在处理多视图数据方面得到了广泛的应用。多核学习方法的一般过程如图3所示,其中不同的预定义内核用于处理不同的视图。然后将这些核线性地或非线性地组合在一起,得到一个统一的核。在MVC环境下,基于多核学习的MVC为了提高聚类性能,打算对一组预先定义的内核进行优化组合。在这种方法中,一个重要的问题是找到一种选择合适的内核函数的方法,并将这些内核进行优化组合。


图3 多核学习的一般过程
2.3 Subspace learning(子空间学习 )

        obtains a latent subspace shared by multiple views by assuming that the input views are generated from this latent subspace.
        每个样本可以看做是高维空间上分布的一个点,每个视角所有的样本的分布构成一个样本空间,子空间学习(Subspace Learning)认为这些样本空间存在一个潜藏的公共子空间,各视角的各样本在这个公共子空间中都有一个投影,或者叫做表示。子空间学习的目标就是寻找到这个公共子空间,并让各样本在其中的表示具有更好的某些性质,或者保持原始分布的某些性质。如果子空间的维度低于原始样本空间的维度,就产生了降维的问题,因此子空间学习与多视角降维几乎是同一个问题。子空间学习要面对的主要问题是,不同的视角的数据维度可能是不相同的,这使得跨视角的度量变得困难。


图4 子空间学习的一般过程

3 小结

        在多视图机器学习综述一文中,将多视图学习的理论分为四类——典型相关分析(Canonical correlation analysis,CCA)、协同训练的有效性、协同训练的泛化误差分析、其他多视图学习方法的泛化误差分析。其他多视图学习方法:多视图降维、多视图半监督学习、多视图监督学习、多视图主动学习、多视图集成学习、多视图迁移学习、多视图聚类、高层次分类(high-level taxonomy),了解更多,请阅读:多视图机器学习综述

问题一: 多视图学习,多视图(Mult-View)数据所包含的特征具有一致性和互补性,这里一致性和互补性指什么?
        多视图数据的一致性。由于多视图数据不同视图之间存在天然的对应关系(Pairwise Information),且对于一组多视图Sample来说,多个视图描述的是同一个Object,因此多视图数据中存在一致性。这个一致性可以从分类器和信息两个角度去理解。从分类器的角度来说,由于多个视图描述的是同一个Object,一个Object只能够属于一个类别,因此如果从多个视图学习到多个分类器,那么对于同一条多视图样本来说,不同分类器给出的分类结果应该是一致的。从特征、表示、信息的角度来说,从不同视图中学习到的特征或者信息有一部分是“语义”共享的、相同的,或者说是语义关联的。
        多视图数据的互补性。互补性也可以从分类器和特征(信息)的角度来解释。从分类器的角度来看,假如现在有100个多视图样本,从第一个视图中学习到的分类器可以对前80个样本正确分类,后20个样本错误分类;从第二个视图中学习到的分类器可以对后80个样本正确分类,前20个样本错误分类。那么这两个分类器能够同时分对的中间的60个样本是Shared样本,第一个分类器的前20个样本和第二个分类器的后20个样本体现了视图之间的互补性。从信息的角度来看,每个视图中除了一些和其他视图共享的信息之外,还存在一些信息是这个视图所独有的、其他视图没有的信息(也正是这些信息使得从这个视图学习到的分类器可以分对一些从其他视图所学到的分类器无法分对的样本)。互补性的存在也是多视图比单视图好的原因。

问题二: 多核学习、多视图学习、多任务学习和集成学习的区别和联系
        多核学习既可以用在多任务学习,也可以用在多视图学习,也有研究同时对多任务和多视图同时采用多核的,目前已经有通用多任务多核学习方法。如果将多核用在多任务学习,相当于不同任务共享子空间的同时,还有各自特有的一个空间,这个特有空间通过采用不同的核来表示。多任务中采用多核,由此强调任务个性。如果将多核用在多视图学习,不同视图的数据采用不同的核,相当于多源数据融合的一种方法,这些也早有研究。而无论是多任务,多视图还是多核,都是希望充分利用不同来源的数据,去提高模型的整体效果,知识在不同任务和视图之间互通有无,实现不同任务不同视图的知识迁移。

        而集成学习对数据的利用则更弱一些。某种程度上说,多任务和多视图,乃至多核,都是在模型设计阶段就考虑了数据融合的问题,而集成学习仅仅是在训练好分类器之后才做集成。集成学习用到的基学习器模型之间并没有知识的互通。所以多任务和多视图学习,更能有效利用不同来源的数据提高学习效果。若集成学习的基学习器本身能力不足,即使集成也不容易得到更好的效果。目前也有一些同时采用多任务和集成学习的方法。


参考

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐