多视图学习 (Multi-View Learning)

2023-05-16

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个样本体现了视图之间的互补性。从信息的角度来看,每个视图中除了一些和其他视图共享的信息之外,还存在一些信息是这个视图所独有的、其他视图没有的信息(也正是这些信息使得从这个视图学习到的分类器可以分对一些从其他视图所学到的分类器无法分对的样本)。互补性的存在也是多视图比单视图好的原因。

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

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


参考

  • AI综述专栏 | 孙仕亮:多视图机器学习综述:https://cloud.tencent.com/developer/article/1628223
  • 多核学习、多视图学习、多任务学习和集成学习的区别和联系:https://www.cnblogs.com/sakuraie/p/13341454.html
  • 多视图(mult-view)数据所包含的特征具有一致性和互补性:https://www.zhihu.com/question/358086709/answer/1989956099
  • 多视角学习 (Multi-View Learning):https://blog.csdn.net/shine19930820/article/details/77426599
  • 多视图聚类总结:https://www.cnblogs.com/infinite-h/p/13401550.html
  • Multi-view Learning 多视角学习入门:https://blog.csdn.net/Danliwoo/article/details/79278574
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多视图学习 (Multi-View Learning) 的相关文章

  • 机器学习储备(8):numpy之linspace 和 logspace

    1 linspace在numpy中是创建等差数列 xff0c 先看例子 xff1a A 61 np linspace 1 11 11 结果 xff1a array 1 2 3 4 5 6 7 8 9 10 11 因此可以看到lisapce接
  • 矩阵特征值的求解例子

    请点击上面公众号 xff0c 免费订阅 实例 阐述算法 xff0c 通俗易懂 xff0c 助您对算法的理解达到一个新高度 包含但不限于 xff1a 经典算法 xff0c 机器学习 xff0c 深度学习 xff0c LeetCode 题解 x
  • 51单片机学习笔记:串口接收和发送数据

    芯片STC89C52RC 在PC端向单片机发送任意数据后 单片机向PC端发送4行文本 由于在windos下 回车换行用 r n include lt reg52 h gt include 34 MY51 h 34 void initSer
  • 51单片机学习笔记:利用ADC0804模数转换器采集电压

    电位器调节待检测电压值 在数码管上显示出来 代码大多从书上搬过来的 书上例5 3 1要求前3个数码管显示AD转换后的8位数字量 即0 255 我这里让前4个数码管显示具体电压值 比如1 352 include lt reg52 h gt i
  • 51单片机学习笔记,模拟iic总线连续读写24c02存储器

    AT24C02A 2K SERIAL EEPROM Internally organized with 32 pages of 8 bytes each the 2K requires an 8 bit data word address
  • 51单片机学习笔记:定时器产生PWM可调方波,控制led灯亮度

    使用定时器T0产生PWM方波 用按键调整占空比 20级可调 控制led灯的亮度等级 include 34 my51 h 34 include 34 timer0 h 34 define grading 20 亮度20级变化 sbit key
  • 汉字与GBK内码互转工具(支持批量转换)

    注 原程序不是我写的 原作者没有署名 我只是让它更好用些而已 感谢未署名的原作者 汉字与GBK内码互转工具 exe 支持批量转换 修改记录如下 1 修改标题 2 修改文本框位置和大小 3 修改按钮位置和大小 修改按钮内容 4 修改光标的初始
  • 51单片机学习笔记:ST7920控制器的12864液晶使用总结

    总结 1 控制芯片不同 液晶接口定义 或者寄存器定义也可能不同 2 显示方式有并行和串行 串行方式据说不能读数据寄存器 DR 那指令暂存器IR是否可读 3 含字库芯片显示字符时不必对字符取模了 但字库有可能缺斤少两 就是说有一部分字 哪怕是
  • 启用SecureCRT自带的tftp服务

    以前用Tftpd32在win端开启tftp服务 Tftpd32功能很多 但我暂时用不到那些功能 今天试试SecureCRT自带的tftp功能 挺好的啊 只能说 SecureCRT 很好很强大 图解 测试 book 64 ubuntu wor
  • 十三、数据清洗

    1 清洗数据 数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序 xff0c 包括检查数据一致性 xff0c 处理无效值和缺失值等 xff1a 缺失值处理 xff1b 噪声数据处理 xff1b 不一致数据的处理 xff1b 清洗数据
  • Ubuntu 16 安装32位兼容库

    由于电脑是64位系统 但是linux下很多软件还是32的 所以需要32位运行库 如果没装的话 运行32位程序时会跳出来说没有这个文件或者目录 xff0c 但是ls看又有这个文件的 小白一脸懵逼啊 然后就是一阵gg搜 折腾了好久 终于搞定了
  • Ubuntu 16 安装samba

    sudo apt get install samba 安装samba 本来想用图形界面配置下 但是运行 system config samba失败 就手动配置 这里系统用户名sjj 创建的samba账户也为sjj 但为了安全的话最好不要相同
  • Ubuntu 16.04 安装tftp

    准备工作 新建一个777权限的tftpdir服务文件夹 例如 home sjj work tftpdir 放一个有内容的1 txt文本用来测试 安装tftp的增强版本 服务端tftpd hpa 客户端tftp hpa sudo apt ge
  • VS粘贴word时中文乱码修复工具v1

    部分VS版本复制代码到word时 中文注释变成乱码 就做了个小工具实时修复 以前在网上也下载过类似工具 但每次都要点一下 很麻烦 本工具可自动监控剪切板 自动修复 可谓全自动了
  • 正斜杠/和反斜杠\的区别

    近来研究源码时发现 xff0c 常常在路径中出现正斜杠 和反斜杠 xff0c 之前就一直不胜其扰 xff0c 所幸查资料把它一次弄懂 xff0c 求个明白 在这里做个记录 我认真搜了一下 xff0c 发现问这个问题的人还不少 xff0c 知
  • Gazebo需要的protoc版本与google-cartographer需要的版本不一致

    问题 xff1a 编译ROS工作空间时出现了问题 xff1a 错误提示是Gazebo代码由更新的protoc版本产生 xff0c 而当前安装的protobuf库的版本低了 xff11 xff0e ubuntu 18 04 Gazebo依赖的
  • vue 2.0项目 favicon.ico不显示 解决方案

    1 最好把favicon ico放到 index html放到同一目录 2 在webpack 配置文件里面配置 在webpack dev conf js 里面的 plugins配置 new HtmlWebpackPlugin filenam
  • 来自IT公司速查手册的各大IT公司薪资和待遇内幕

    来自IT公司速查手册的各大IT公司薪资和待遇内幕 xff08 转载于 http xuchaoyi99 cnblogs com xff09 编号 1 杭州 诺基亚 2 南京 趋势科技 Trend 3 北京 联想 xff08 北京 xff09
  • GCC中SIMD指令的应用方法

    X86架构上的多媒体应用开发 xff0c 如果能够使用SIMD指令进行优化 xff0c 性能将大大提高 目前 xff0c IA 32的SIMD指令包括MMX xff0c SSE xff0c SSE2等几级 在GCC的开发环境中 xff0c
  • ffmpeg mplayer x264 代码重点详解 详细分析

    ffmpeg和mplayer中求平均值得方法 1 ordinary c language level define avg2 a b a 43 b 43 1 gt gt 1 define avg4 a b c d a 43 b 43 c 4

随机推荐

  • 基于Region Proposal的深度学习目标检测简述

    转载链接 开篇需要跟大家道歉 xff0c 一切忙没时间的理由都是借口 xff0c 实际上就是偷懒了 xff0c 这么久才更新 xff0c 非常抱歉 xff01 本篇争取以最简明的叙述 xff0c 帮助大家理解下基于Region Propos
  • 3D电视,你知道多少?

    1 3D电视常见知识 系统概述篇 1 什么是3D电视 xff1f 答 xff1a 3D电视是一种能够模拟实际景物的真实空间关系的新型电视 xff0c 它利用人眼的视觉特性产生立体感 xff0c 让观众感受到观看的影像是具有深度特性的三维立体
  • 程序员成熟的标志《程序员成长路线图:从入门到优秀》

    对好书进行整理 xff0c 把好内容共享 我见证过许多的程序员的成长 xff0c 他们很多人在进入成熟期之后 xff0c 技术上相对较高 xff0c 一般项目开发起来比较自信 xff0c 没有什么太大的困难 xff0c 有的职位上也有所提升
  • 前端工程师的价值体现在哪里?

    这是一个很老的话题 前端工程师的价值体现在哪里 xff1f 有人说 xff1a 前端工程师之于网站的价值犹如化妆师之于明星的价值 一位好的Web前端开发工程师在知识体系上既要有广度 xff0c 又要有深度 当然 xff0c Web前端工程师
  • 设计公共API的六个注意事项

    摘要 xff1a 俗话说 xff1a 好东西就要贡献出来和大家一起分享 xff0c 尤其是在互联网业务高度发达的今天 xff0c 如果你的创业公司提供了一项很酷的技术或者服务 xff0c 并且其他用户也非常喜欢该产品 xff0c 在这种情况
  • 从工具的奴隶到工具的主人

    摘要 xff1a 我们每个人都是工具的奴隶 随着我们的学习 xff0c 我们不断的加深自己对工具的认识 xff0c 从而从它们里面解脱出来 现在我就来说一下我作为各种工具的奴隶 xff0c 以及逐渐摆脱它们的思想控制的历史吧 当我高中毕业进
  • C语言 常用API

    MySQL的C语言API接口 1 首先当然是连接数据库 xff0c 函数原型如下 xff1a MYSQL STDCALL mysql real connect MYSQL mysql const char host const char u
  • linux下的C语言开发

    linux下的C语言开发 xff08 开篇 xff09 在很多人的眼里 xff0c C语言和linux常常是分不开的 这其中的原因很多 xff0c 其中最重要的一部分我认为是linux本身就是C语言的杰出作品 当然 xff0c linux操
  • C读写ini文件

    read write ini file with c function 64 file testini c chinayaosir blog http blog csdn net chinayaosir connect ini databa
  • 职场必知的20条黄金法则

    时间紧张 xff0c 先记一笔 xff0c 后续优化与完善 1 办公室里只有两种人 xff0c 角主和龙套 职场上 xff0c 想要过的省力 xff0c 不想往上爬 xff0c 那就只能做一生的龙套 作龙套的处坏就是 xff1a 死送你先去
  • 检测是浏览器还是手机,需求为是否支持FLASH,此文为检测是否支持FLASH的代码(含demo下载)

    步骤 xff1a 1 导入swfobject js文件 2 写一个函数 3 在需要用的地方调用方法 xff0c 此处为页面加载时调用 以下为示例代码 xff1a Java代码 lt script src 61 34 Public js sw
  • Jetson NX安装opencv3.2.0报错及问题汇总

    先放一个完整的cmake命令 cmake D CMAKE BUILD TYPE 61 Release D ENABLE PRECOMPILED HEADERS 61 OFF D CMAKE EXE LINKER FLAGS 61 lcbla
  • Ubuntu16.04环境下安装python3.8

    一 首先下载安装包 xff1a python官网 xff1a https www python org downloads 下载相应版本的python xff0c 如下图所示为Linux版本的安装包 二 配置依赖环境 xff0c 如果不进行
  • 超好用的网站推荐(持续更新)

    1 在线学习 1 1 网课学习 网易公开课 链接 xff1a https open 163 com 中国大学MOOC 链接 xff1a https www icourse163 org 哔哩哔哩 链接 xff1a https www bil
  • ROS基础篇(五)-- C++如何实现Topic & Service(roscpp)

    文章目录 1 Client library与roscpp1 1 Client Library简介1 2 roscpp 2 节点初始化 关闭与NodeHandle3 Topic in roscpp3 1 Topic通信3 2 创建Person
  • ROS基础篇(一)-- 最新学习路线,快从这里开始

    资料目录 ROS官网必看资料Diego Robot系列机器人开发目录古月居大神专栏创客智造系列博客文字补充 ROS官网必看资料 学习ros在查看国内相关资料的同时 xff0c 一定要学会首先翻看官网英文文档 xff0c 尤其是教程 Code
  • Git基础篇(二)-- Git安装与配置

    文章目录 1 下载与安装2 Git配置2 1 初始配置2 2 Git项目搭建 3 和服务器同步3 1 GitHub3 2 Gitee 参考 1 下载与安装 1 下载 打开 Git 官网 xff0c 下载 Git 对应操作系统的版本 xff0
  • Arduino基础篇(六)-- 如何使用Arduino的IIC总线(Wire)

    文章目录 1 IIC总线1 1 IIC概述1 2 IIC通信协议 2 Wire类库2 1 成员函数2 2 IIC连接方法2 3 主机写数据 xff0c 从机接收数据2 4 从机发送数据 xff0c 主机读取数据 1 IIC总线 1 1 II
  • ROS基础篇(八)-- Arduino中如何使用ROS自定义的msg

    使用rosserial arduino时 xff0c 总会面对多传感器的处理 xff0c 由于不同传感器的数据类型不同 xff0c 为了方便起见 xff0c 我们需要自定义数据文件 那么如何自定义的传感器数据 xff0c 并在Arduino
  • 多视图学习 (Multi-View Learning)

    1 介绍 多视图学习也称作多视角学习 xff08 Multi view learning xff09 是陶大成提出的一个研究方向 在实际应用问题中 xff0c 对于同一事物可以从多种不同的途径或不同的角度进行描述 xff0c 这些不同的描述