本文主要借鉴自《Canonical Correlation Analysis (CCA) Based Multi-View Learning: An Overview》,转载自伍冬睿科学网博客,链接地址:https://blog.sciencenet.cn/blog-3418535-1195519.html

1 多视图学习与典型相关性分析

多视图学习是将两个或两个以上的视图数据加以融合的机器学习策略。在实际生活中,很多数据都可以从多个“视角”进行描述,例如同一个物体从不同角度拍摄的图片,同一个语义的不同语言的表达,或者是同一个网页上包含的文字和链接等。这些来自不同视角的表示数据都可以当作是不同的视图。除了同时利用多个视图特征带来的信息量的增加以外,多视图学习在本质上更注重挖掘数据之间的差异性和互补性,在已有数据的基础上,从算法层面优化学习的效果。

多视图学习方法主要分为以下三类:

  1. 协同训练(Co-training): 首先对已经标注的数据按一定的规则进行划分,从划分后的数据中训练两个不同的分类器,并分别对未标注的数据进行预测;然后将两个分类器输出的置信度较高的样本作为已经标记的样本加入对方的训练样本池中。采用这种方式交替地训练模型,直到所有未标记的样本都被标记。
  2. 多核学习(Multi-kernel learning):这种方法是指将不同视图的数据采用不同的核函数映射到不同的特征空间,然后采用线性或者非线性的方法对映射到不同空间的特征进行融合。
  3. 子空间学习(Subspace learning):子空间学习假设不同视图的数据都可以由一个共享隐空间生成。在这个共享隐空间中可以更好地利用不同视图的数据。

本文介绍的基于典型相关性分析(Canonical Correlation Analysis,CCA)的多视图学习方法是子空间学习中的一类重要方法。典型相关性分析最早由H. Hotelling在1936年提出,它的主要思想是通过最大化两个视图之间的相关系数,寻找各个视图到共同空间的映射向量(典型向量), 在这个共同空间中,各个视图具有最大相关性。

多视图数据和基于 CCA 的子空间学习

传统的CCA具有以下三点局限性:

  1. 它不能计算三个或三个以上视图的相关性;
  2. 它只能计算视图之间的线性相关性。在实际的应用中,视图之间可能是非线性相关的关系。
  3. 传统的CCA是一种无监督的方法,忽略了标签的信息。在有监督的问题中,充分利用标签的信息能够帮助我们提取到更具判别性的特征。

2 基于CCA的多视图学习方法总结

为了克服传统CCA的不足,许多基于CCA的扩展方法被提出,接下来将针对以上三点局限性分别进行介绍。

2.1 广义典型相关性分析 (Generalized CCA)

针对CCA只能处理两个视图数据的问题,为了最大化多个视图的相关性,主要的解决方法有直接法和间接法:

  1. 间接法:这种方法非常容易理解,对于具有多个视图的数据,首先成对地计算视图之间相关系数,然后最大化所有相关系数的和。
  2. 直接法:通过对多个视图的高维协方差矩阵进行分析,直接最大化所有视图的相关性。

下表简单地总结了经典的广义CCA方法:

经典的广义CCA方法

2.2 非线性典型相关性分析 (Nonlinear CCA)

针对传统CCA不能计算数据之间的非线性相关性的问题,有三种主要的解决思路:

  1. 核映射:首先利用核函数将数据映射到高维的空间中,然后应用线性CCA对相关性进行计算。最具有代表性的方法是核典型相关性分析(Kernel Canonical Correlation Analysis, KCCA)。这类方法的计算复杂度高,容易过拟合,要选择一个合适的核函数也相对来说比较困难。 为了降低KCCA的计算复杂度,除了使用核函数以外,也可以通过对数据进行随机非线性映射实现同样的目的,如Randomized Nonlinear Canonical Correlation Analysis (RCCA)
  2. 局部保留:基于局部保留的思路来源于图模型,旨在实现全局非线性降维的同时保留数据局部的线性结构,例如Locality preserving CCA (LPCCA)。该方法的缺点在于需要计算近邻,当样本数量巨大的时候,计算量大。
  3. 神经网络:基于神经网络的方法可以处理非常复杂的数据之间的非线性关系。做法是首先利用神经网络对数据进行非线性映射,然后利用线性CCA计算数据映射之后的相关性。Andrew在2013年首次提出了基于深度神经网络的CCA (Deep Canonical Correlation Analysis, DCCA)获得了广泛的关注; 然后Weiran Wang进一步结合自编码器提出了DCCAE (Deep Canonically Correlated Auto-Encoders); Bach将变分自编码器的思想融合CCA, 提出变分CCA (Variational Canonical Correlation Analysis, VCCA)。这类方法的缺点在于模型参数多,对数据量的要求比较高。

2.3 有监督典型相关性分析(Supervised CCA)

类别信息对于有监督的学习来说非常关键。为了充分利用标签信息,最常见的思路是将CCA与线性判别分析(Linear Discriminant Analysis, LDA)结合,在最小化视图类内相似度的同时最大化类间相似度。代表性的方法有判别式CCA (Discriminative CCA, DisCCA),MLDA (Multi-view Linear Discriminant Analysis)和MULDA (Multi-view Uncorrelated Linear Discriminant Analysis)。除此之外,也可以将标签的独热编码矩阵作为其中一个视图,直接使特征和标签相关,代表性的方法是DGCCA (Deep Generalized CCA)

下表简要对比了各种基于CCA的多视图学习方法的区别,各个方法的具体介绍请参见原文:

基于CCA的多视图学习方法的对比

3 应用

基于CCA的多视图学习方法具有广泛的应用,主要包括以下四个方面:

3.1 多视图模式识别

多视图模式识别主要包括多视图分类和多视图回归。应用领域包括广告分类,文本分类,以及计算机视觉中的手写字体识别、姿态识别、人脸识别等。

CCA在其中发挥的作用主要是为各个视图分别学习一种新的特征表示。那么应该如何利用新学习到的多个视图的特征呢?关于这个问题,各个文章中的方法不尽相同,主要包含以下三种方法:

  1. 直接将新学习到的各个视图的特征拼接起来送入分类器;
  2. 计算典型向量的时候使用两个视图,在训练分类器和预测的时候只使用一个视图映射之后的特征;
  3. 在计算典型向量的时候将标签作为一个视图,预测时直接在特征视图中利用近邻分析得到预测结果。

3.2 跨模态检索与分类

这里的“模态”可以简单地理解为前面说的“视图”。随着网上多媒体数据的快速增长,跨模态检索是一个重要的研究领域。以图片和文本为例,跨模态检索是当指输入查询文本时能检索到与之相关的图片,例如我们使用文本“猫”来检索猫的相关图片,反之亦然。 跨模态检索的难点在于需要克服不同模态之间的“语义鸿沟”,因为来自不同模态的数据是不完全一致的,我们很难对他们进行有效的距离度量。CCA可以将不同模态的数据映射到一个共同的相关空间,在这个空间中就可以对不同模态的数据进行有效的距离度量,从而完成跨模态检索的任务。

跨模态分类是指在一个模态上训练分类器,而在另一个模态上进行分类预测。使用CCA对两个模态进行相关性映射,映射之后的对应样本可以认为在共同空间中距离非常近,此时在一个模态上训练的分类器,也就可以对另外一个模态的样本进行预测。

3.3 多视图嵌入

CCA的另外一个重要应用就是自然语言处理中的词嵌入,即为多种语言的词向量学习到具有更好的相似性度量的表示。除此之外,学习到的特征表示的维度也能大大降低,这非常有利于后续的其它处理。

3.4 脑机接口

CCA在脑机接口中的主要应用是稳态视觉诱发电位(Steady-State Visual Evoked Potentials, SSVEP)的频率识别。SSVEP作为脑机接口的三大范式之一,在字符输入方面表现优异。其主要原理是当人眼接收到固定频率的刺激时,会产生与刺激频率相关的脑电信号。CCA在SSVEP中最简单的应用方法就是直接计算所采集的脑电信号与人工构造的特定频率的模板信号之间的相关性,根据相关性的大小给出频率识别的结果。

4 小结

本文对基于CCA的多视图学习方法进行了总结和对比,并且介绍了这些方法在模式识别、跨模态检索与分类、多视图嵌入以及脑机接口中的应用。

本工作由华中科技大学人工智能与自动化学院硕士生郭陈凤和伍冬睿教授共同完成。
        全文请见:C. Guo and D. Wu, “Canonical Correlation Analysis (CCA) Based Multi-View Learning: An Overview,” Neural Computing and Applications, 2019, submitted.
        arXiv版本:https://arxiv.org/abs/1907.01693
        中文版本:基于典型相关分析的多视图学习方法综述

基于典型相关性分析(CCA)的多视图学习方法综述相关推荐

  1. 典型相关性分析(CCA)原理详细总结合集

    典型相关性分析(CCA) 最近研究CCA相关的算法,从头原理入手 推荐以下两位大佬的Blog,希望对你有所帮助. 刘建平Pinard 网名为JerryLead的大佬 第一位大佬的Blog: 第二位大佬 ...

  2. 机器学习(32)之典型相关性分析(CCA)详解 【文末有福利......】

    微信公众号 关键字全网搜索最新排名 [机器学习算法]:排名第一 [机器学习]:排名第一 [Python]:排名第三 [算法]:排名第四 人工智能与Python公开课 限时免费 文末领取 前言 典型关联 ...

  3. 典型关联分析CCA(canonical correlation analysis)

    先看两个数学概念: 相关系数(参看百度百科) 相关系数是用以反映变量之间相关关系密切程度的统计指标.相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关 ...

  4. 第六讲 典型相关性分析

    目录 简介 步骤 SPSS操作步骤 简介 典型相关性分析(Canonical Correlation Analysis),研究两组变量(每组变量中都可能又多个指标)之间相关关系的一种多元统计方法.它能 ...

  5. spss26没有典型相关性分析_SPSS在线_SPSSAU_SPSS典型相关分析

    4.SPSSAU输出结果 此表格展示出典型变量的提取情况,上表中共显示有5个典型变量被提取出来,在进行F 检验时显示,其中仅2个典型变量是呈现出0.01水平的显著性,因此,最终应该以两个典型变量为准进 ...

  6. 数据分析与预测(四)——相关性分析

    0 前言 变量之间的相关性分析主要包括: 分析变量自身的规律 自相关分析 偏相关分析 分析任意两个等长数列之间的相关性 简单相关分析 允许在一定的间隔下进行简单的相关分析 互相关分析 分析两组变量的相 ...

  7. 基于典型相关分析(CCA)的多元变化检测算法(MAD)

    基于典型相关分析的多元变化检测算法 1 典型相关分析(CCA) 2 多元变化检测(MAD) 3 实验 链接 多元变化检测算法(Multivariate Alteration Detection,MAD ...

  8. 典型相关分析(cca)原理_CCA典型关联分析原理与Python案例

    文章来源于"脑机接口社区" CCA典型关联分析原理与Python案例​mp.weixin.qq.com Rose今天分享一下CCA的相关原理以及Python应用,CCA在EEG等脑 ...

  9. 文献记录(part52)--基于度相关性的病毒传播模型及其分析

    学习笔记,仅供参考,有错必纠 关键词:互联网拓扑:度相关性:病毒传播:DPR 算法:SIS-DVDI: 基于度相关性的病毒传播模型及其分析 摘要 近年来网络病毒传播已对网络安全构成严重威胁 . 研究表 ...

最新文章

  1. shell脚本调试技术
  2. 深度学习(十四)基于CNN的性别、年龄识别
  3. extern相关问题
  4. @AutoWired具体解释
  5. 【转】Ubuntu 修改hosts
  6. 让媒体播放控件,播放媒体 0201
  7. 只有天空才是你的极限,我们热爱探索的过程并沉浸其中丨图数据库 TiMatch 团队访谈
  8. 企业邮箱被反垃圾邮件联盟封了的方法
  9. win10系统如何删除不用的输入法
  10. xilinx中pll的使用与仿真步骤
  11. ResNet+cifar10总结-由浅入深
  12. VideoSolo Blu ray Player for Mac(mac蓝光播放器)
  13. 在线进行立体几何画图——GeoGebra
  14. Electron 桌面应用问题解决方法
  15. Modifiers should be declared in the correct order 修饰符应按正确的顺序声明
  16. 数据独立性(物理独立性+逻辑独立性)
  17. VC字符串与时间戳相互转换
  18. Computer Architectrure: Quantitative Approch 第三章第九节
  19. 化妆品店营销策划方案 - Whale帷幄
  20. CMOS Sensor介绍

热门文章

  1. 国籍SQL—— 看自己需求 ( 港澳台 也独立出来了)
  2. 按键精灵/触控精灵 多点找怪,多点找色算法思路,附带动态分析图,以及算法代码
  3. can和could的用法_情态动词:can与could的用法详解
  4. STM32 Not a genuine ST Device! Abort connection 错误解决方案
  5. 导数与偏导数的推导过程
  6. win10退出当前guest用户
  7. Y7000 2018版(I7-8650H 1050T)黑苹果安装攻略附带工具安装包
  8. 浏览器配置存在问题。。360断网急救箱未能修复
  9. PC微信最新版HOOK接口3.7.6.44
  10. 使用javascript实现植物大战僵尸部分功能