Loading [MathJax]/jax/element/mml/optable/GreekAndCoptic.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >半监督学习

半监督学习

作者头像
zeekling
发布于 2022-06-17 08:41:55
发布于 2022-06-17 08:41:55
8400
举报

产生的背景

监督学习指的是训练样本包含标记信息的学习任务,例如:常见的分类与回归算法;无监督学习则是训练样本不包含标记信息的学习任务,例如:聚类算法。在实际生活中,常常会出现一部分样本有标记和较多样本无标记的情形,例如:做网页推荐时需要让用户标记出感兴趣的网页,但是少有用户愿意花时间来提供标记。若直接丢弃掉无标记样本集,使用传统的监督学习方法,常常会由于训练样本的不充足,使得其刻画总体分布的能力减弱,从而影响了学习器泛化性能。那如何利用未标记的样本数据呢?

简单描述

一种简单的做法是通过专家知识对这些未标记的样本进行打标,但随之而来的就是巨大的人力耗费。若我们先使用有标记的样本数据集训练出一个学习器,再基于该学习器对未标记的样本进行预测,从中挑选出不确定性高或分类置信度低的样本来咨询专家并进行打标,最后使用扩充后的训练集重新训练学习器,这样便能大幅度降低标记成本,这便是主动学习(active learning),其目标是使用尽量少的/有价值的咨询来获得更好的性能

显然,主动学习需要与外界进行交互/查询/打标,其本质上仍然属于一种监督学习。事实上,无标记样本虽未包含标记信息,但它们与有标记样本一样都是从总体中独立同分布采样得到,因此它们所包含的数据分布信息对学习器的训练大有裨益。如何让学习过程不依赖外界的咨询交互,自动利用未标记样本所包含的分布信息的方法便是半监督学习(semi-supervised learning),即训练集同时包含有标记样本数据和未标记样本数据

此外,半监督学习还可以进一步划分为纯半监督学习直推学习,两者的区别在于:前者假定训练数据集中的未标记数据并非待预测数据,而后者假定学习过程中的未标记数据就是待预测数据。主动学习、纯半监督学习以及直推学习三者的概念如下图所示:

生成式方法

生成式方法(generative methods)是基于生成式模型的方法,即先对联合分布P(x,c)建模,从而进一步求解 P(c | x),此类方法假定样本数据服从一个潜在的分布,因此需要充分可靠的先验知识。例如:前面已经接触到的贝 叶斯分类器与高斯混合聚类,都属于生成式模型。现假定总体是一个高斯混合分布,即由多个高斯分布组合形成,从而一个子高斯分布就代表一个类簇(类别)。高斯混合分布的概率密度函数如下所示:

不失一般性,假设类簇与真实的类别按照顺序一一对应,即第i个类簇对应第i个高斯混合成分。与高斯混合聚类类似地,这里的主要任务也是估计出各个高斯混合成分的参数以及混合系数,不同的是:对于有标记样本,不再是可能属于每一个类簇,而是只能属于真实类标对应的特定类簇。

直观上来看,基于半监督的高斯混合模型有机地整合了贝叶斯分类器与高斯混合聚类的核心思想,有效地利用了未标记样本数据隐含的分布信息,从而使得参数的估计更加准确。同样地,这里也要召唤出之前的EM大法进行求解,首先对各个高斯混合成分的参数及混合系数进行随机初始化,计算出各个EM(即γji,第i个样本属于j类,有标记样本则直接属于特定类),再最大化似然函数(即LL(D)分别对α、u和∑求偏导 ),对参数进行迭代更新。

E步:根据当前模型参数计算未标记样本x_i属于各个高斯混合成分的概率:

M 步:基于γji 跟新模型参数,其中 li 表示第i类的有标记样本的数目

当参数迭代更新收敛后,对于待预测样本x,便可以像贝叶斯分类器那样计算出样本属于每个类簇的后验概率,接着找出概率最大的即可:

可以看出:基于生成式模型的方法十分依赖于对潜在数据分布的假设,即假设的分布要能和真实分布相吻合,否则利用未标记的样本数据反倒会在错误的道路上渐行渐远,从而降低学习器的泛化性能。因此,此类方法要求极强的领域知识和掐指观天的本领

半监督SVM

监督学习中的SVM试图找到一个划分超平面,使得两侧支持向量之间的间隔最大,即“最大划分间隔”思想。对于半监督学习,S3VM则考虑超平面需穿过数据低密度的区域。TSVM是半监督支持向量机中的最著名代表,其核心思想是:尝试为 未标记样本找到合适的标记指派,使得超平面划分后的间隔最大化。TSVM采用局部搜索的策略来进行迭代求解,即首先使用有标记样本集训练出一个初始SVM,接着使用该学习器对未标记样本进行打标,这样所有样本都有了标记,并基于这些 有标记的样本重新训练SVM,之后再寻找易出错样本不断调整。整个算法流程如下所示:

基于分歧的方法

基于分歧的方法通过多个学习器之间的分歧(disagreement/多样性(diversity)来利用未标记样本数据,协同训练就是其中的一种经典方法。协同训练最初是针对于多视图(multi-view)数据而设计的,多视图数据指的是样本对象 具有多个属性集,每个属性集则对应一个试图。例如:电影数据中就包含画面类属性和声音类属性,这样画面类属性的集合就对应着一个视图。首先引入两个关于视图的重要性质:

相容性:即使用单个视图数据训练出的学习器的输出空间是一致的。例如都是{好,坏}、{+1,-1}等。 互补性:即不同视图所提供的信息是互补/相辅相成的,实质上这里体现的就是集成学习的思想。

协同训练正是很好地利用了多视图数据的“相容互补性”,其基本的思想是:首先基于有标记样本数据在每个视图上都训练一个初始分类器,然后让每个分类器去挑选分类置信度最高的样本并赋予标记,并将带有伪标记的样本数据传给另一 个分类器去学习,从而你依我侬/共同进步

半监督聚类

前面提到的几种方法都是借助无标记样本数据来辅助监督学习的训练过程,从而使得学习更加充分/泛化性能得到提升;半监督聚类则是借助已有的监督信息来辅助聚类的过程。一般而言,监督信息大致有两种类型:

必连与勿连约束:必连指的是两个样本必须在同一个类簇,勿连则是必不在同一个类簇。 标记信息:少量的样本带有真实的标记。

下面主要介绍两种基于半监督的K-Means聚类算法:第一种是数据集包含一些必连与勿连关系,另外一种则是包含少量带有标记的样本。两种算法的基本思想都十分的简单:对于带有约束关系的k-均值算法,在迭代过程中对每个样本划分类簇 时,需要检测当前划分是否满足约束关系,若不满足则会将该样本划分到距离次小对应的类簇中,再继续检测是否满足约束关系,直到完成所有样本的划分。算法流程如下图所示:

对于带有少量标记样本的k-均值算法,则可以利用这些有标记样本进行类中心的指定,同时在对样本进行划分时,不需要改变这些有标记样本的簇隶属关系,直接将其划分到对应类簇即可。算法流程如下所示:

参考文献

机器学习-周志华

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.08.31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《机器学习》-- 第十三章 半监督学习
监督学习指的是训练样本包含标记信息的学习任务,例如:常见的分类与回归算法;无监督学习则是训练样本不包含标记信息的学习任务,例如:聚类算法。在实际生活中,常常会出现一部分样本有标记 (labeled) 和较多(通常认为远多于)样本无标记 (unlabeled) 的情形,例如:做网页推荐时需要让用户标记出感兴趣的网页,但是少有用户愿意花时间来提供标记。若直接丢弃掉无标记样本集,使用传统的监督学习方法,常常会由于训练样本的不充足,使得其刻画总体分布的能力减弱,从而影响了学习器泛化性能。
fireWang
2021/04/08
1.9K0
《机器学习》笔记-半监督学习(13)
如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中。不管是出于好奇,还是自身充电,跟上潮流,我觉得都值得试一试。对于自己,经历了一段时间的系统学习,现在计划重新阅读《机器学习》[周志华]和《深度学习》[Goodfellow et al]这两本书,并在阅读的过程中进行记录和总结。这两本是机器学习和深度学习的入门经典。笔记中除了会对书中核心及重点内容进行记录,同时,也会增加自己的理解,包括过程中的疑问,并尽量的和实际的工程应用和现实场景进行结合,使得知识不只是停留在理论层面,而是能够更好的指导实践。记录笔记,一方面,是对自己先前学习过程的总结和补充。 另一方面,相信这个系列学习过程的记录,也能为像我一样入门机器学习和深度学习同学作为学习参考。
机器学习算法工程师
2018/07/27
1.3K0
《机器学习》笔记-半监督学习(13)
半监督算法概览(Python)
现阶段的写作计划会对各类机器学习算法做一系列的原理概述及实践,主要包括无监督聚类、异常检测、半监督算法、强化学习、集成学习等。
算法进阶
2022/06/01
7770
半监督算法概览(Python)
深度半监督学习方法总结
深度神经网络已被证明在对大量标记数据进行监督学习的训练中是非常有效的。但是大多数现实世界的数据并没有被标记,并且进行全部标记也是不太现实的(需要大量的资源、时间和精力)。为了解决这个问题半监督学习 ( semi-supervised learning) 具有巨大实用价值。SSL 是监督学习和无监督学习的结合,它使用一小部分标记示例和大量未标记数据,模型必须从中学习并对新示例进行预测。基本过程涉及使用现有的标记数据来标记剩余的未标记数据,从而有效地帮助增加训练数据。图 1 显示了 SSL 的一般过程。
deephub
2021/12/01
2K0
深度半监督学习方法总结
半监督学习
比方说,我们现在有一个公开数据集,它全部都是有标注的。此时我们可以使用有监督的学习来看一下结果,再使用10%的有标注的数据集结合剩下90%的未标注的数据来使用半监督学习的方法,我们希望半监督学习的方法也能达到有监督学习的水平。
算法之名
2022/09/02
7550
半监督学习
机器学习中的有监督学习,无监督学习,半监督学习
监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。 非监督学习:直接对输入数据集进行建模,例如聚类。
全栈程序员站长
2022/09/02
13.3K0
比监督学习做的更好:半监督学习
监督学习是人工智能领域的第一种学习类型。从它的概念开始,无数的算法,从简单的逻辑回归到大规模的神经网络,都已经被研究用来提高精确度和预测能力。
石晓文
2020/12/08
1.3K0
比监督学习做的更好:半监督学习
半监督学习的思考和安全尝试
为什么在一些安全场景下使用半监督学习呢?大多数安全场景对应的安全数据都比较少,包括黑样本和白样本,样本数据的缺失直接限制了机器学习技术的应用,这是目前机器学习应用于安全实践中的难题之一。是解决问题还是规避问题呢?这个可以从有监督/无监督/半监督学习的角度来由果推因。如果想采用有监督学习的方法,那么需要大量攻击样本的和正常业务样本的积累,而现实的情况大多数可能是仅有少量攻击样本的积累,这就需要去解决样本数据的问题。
蚂蚁安全柳星
2022/10/31
5950
半监督学习的思考和安全尝试
有监督学习、无监督学习以及半监督学习详解
相信大家在开始学习机器学习的入门时,首先接触的概念就是监督学习、无监督学习以及半监督学习。在我们开始讲解之前,我们先回顾一下什么是机器学习(ML)?
全栈程序员站长
2022/09/01
2.5K0
半监督学习算法及其实现
在机器学习领域,数据是驱动模型训练的核心资源。然而,获取大量带标签的数据往往是昂贵且耗时的过程。半监督学习(Semi-Supervised Learning, SSL)通过利用大量未标记的数据和少量标记的数据,有效地缓解了这一问题。SSL不仅能够减少对标记数据的依赖,还能够在许多实际应用中提升模型的性能。
TechLead
2024/07/05
1.2K0
半监督学习算法及其实现
AAAI 2019 | 半监督学习也能自动化?南大和第四范式提出Auto-SSL
模型选择和超参数优化是机器学习技术应用过程中的关键步骤。给定⼀个机器学习任务,人工参与模型选择以及超参数优化通常是⼀个耗时、繁琐的过程。为了解决这样的问题,⼀些关于自动化机器学习的研究工作被提出,比如 Auto-WEKA 、Auto-Sklearn 和 Auto-Keras 等。
机器之心
2018/12/21
7420
AAAI 2019 | 半监督学习也能自动化?南大和第四范式提出Auto-SSL
强数据所难!SSL(半监督学习)结合GAN如何?
众所周知,标注工作往往费时耗力甚至不可行。而类似深度学习等的机器学习方法,在缺乏带标签数据下,效果大打折扣甚至无法施展。
公众号机器学习与AI生成创作
2020/04/27
1.4K0
谷歌首席科学家:半监督学习的悄然革命
作为一个机器学习工程师,可能平时最常打交道的就是海量数据了。这些数据只有少部分是有标注的,可以用来进行监督学习。但另外一大部分的数据是没有标注过的。
新智元
2019/05/22
6990
OpenAI 研究员:数据不足时,如何实现监督学习
作者丨Lilian Weng 编译丨丛末 编辑丨陈彩娴 现实应用中,数据易得,而有标签的数据少有。 一般而言,当监督学习任务面临标签数据不足问题时,可以考虑以下四种解决办法: 1.预训练+微调:首先在一个大规模无监督数据语料库上对一个强大的任务无关模型进行预训练(例如通过自监督学习在自由文本上对语言模型进行预训练,或者在无标签图像上对视觉模型进行预训练),之后再使用一小组标签样本在下游任务上对该模型进行微调。 2.半监督学习:同时从标签样本和无标签样本中学习,研究者使用该方法在视觉任务上进行了大量研究。
AI科技评论
2022/07/19
1K0
OpenAI 研究员:数据不足时,如何实现监督学习
机器学习入门:从零开始理解监督学习与无监督学习
翻译过来就是:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过经验E在T中任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。
小宇-xiaoyu
2024/12/27
3740
机器学习入门:从零开始理解监督学习与无监督学习
让半监督学习再次伟大!谷歌最新无监督数据增强研究,全面超越现有半监督学习方法
深度学习之所以能够成功的关键因素,是算法的进步,以及并行处理硬件(GPU / TPU)以及大型标记数据集(如ImageNet)。
新智元
2019/07/16
2K0
让半监督学习再次伟大!谷歌最新无监督数据增强研究,全面超越现有半监督学习方法
监督学习和无监督学习区别
机器学习分为:监督学习,无监督学习,半监督学习(也可以用hinton所说的强化学习)等。
全栈程序员站长
2022/08/24
1.8K0
监督学习和无监督学习区别
非监督学习
想比于监督学习,非监督学习的输入数据没有标签信息,需要通过算法模型来挖掘数据内在的结构和模式。非监督学习主要包含两大类学习方法:数据聚类和特征变量关联。其中,聚类算法往往是通过多次迭代来找到数据的最优分割,而特征变量关联则是利用各种相关性分析来找到变量之间的关系。
全栈程序员站长
2022/06/29
4900
【科普】半监督学习的概述与思考,及其在联邦学习场景下的应用
在现实世界中,数据往往存在各种各样的问题,例如:图片分类模型对标注数据的依赖性很强、标注图片数据难以获取、大量未标注数据存在、针对某个场景的数据量过小…等等问题。
CV君
2022/03/30
1.7K0
【科普】半监督学习的概述与思考,及其在联邦学习场景下的应用
机器学习中的监督学习、无监督学习、半监督学习和强化学习,这四种学习方式到底有啥区别?
人工智能中的机器学习是指让计算机通过学习数据的方式改善性能。在机器学习中,有四种主要的学习方式:监督学习、无监督学习、半监督学习和强化学习。本文将详细介绍这四种学习方式的概念、应用和优缺点。
网络技术联盟站
2023/05/12
15.7K0
机器学习中的监督学习、无监督学习、半监督学习和强化学习,这四种学习方式到底有啥区别?
推荐阅读
相关推荐
《机器学习》-- 第十三章 半监督学习
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档