https://www.toutiao.com/a6650994292544242179/

2019-01-27 12:55:07

半监督学习本质上,是从小标记集和大非标记集学习。

半监督学习(Semi-supervised Learning):训练集同时包含有标记样本数据和未标记样本数据不需要人工干预,让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能,就是半监督学习。

半监督学习的重要性与必要性

在许多机器学习的实际应用中,很容易找到海量的无类标签的样例,但需要使用特殊设备或经过昂贵且用时非常长的实验过程进行人工标记才能得到有类标签的样本。

现在有新闻,有一些地方兴起人工智能产业中的标注产业,有大量的数字标注工厂,号称“数字富士康”,这说明大量无标注的存在,特别是在人工智能新兴产业下,更是如此;另一方面,说明了科学利用无标签数据的必要性和重要性。

因此,现实世界中极少量的有类标签的样本和大量的无类标签的样例。人们尝试将大量的无类标签的样例加入到有限的有类标签的样本中一起训练来进行学习,期望能对学习性能起到改进的作用,由此产生了半监督学习。半监督学习避免了数据和资源的浪费,同时解决了有监督学习的模型泛化能力不强和无监督冠心病的模型不精确等问题。

在不考虑无标签数据时,只有1和2两个有标签数据,此时的决策边界是图中的虚线,当我们将无标签数据考虑以后,两类样本所服从的分布发生改变,从而导致决策边界向右偏移,变成黑色实线。上述过程的直观理解就是随着我们能够拿到的样本集的增多,我们对于正负两类样本的信息掌握更加充分,从而使我们做出更好的决策。

半监督学习的重要思想

无标签是现实世界的本来的存在和普遍的存在

在现实世界中,对于事物的认识是一个逐渐迭代的过程,是从无到有,从陌生到熟悉,从熟悉到精确的过程。有监督学习中的标签也是人类在自然实践与社会实践中,逐步修正已有认识,并且运用归纳和演绎推理,得出的,并且仍然在完善的过程中。比如对于猫和狗的分类,对于猫又有很多不同的各类,如波斯猫、挪威森林猫、中国狸花猫,等等,很多,很多。

所以半监督学习就是这样一个动态过程的一个很好的模拟。

为什么半监督能行?模型假设符合相似性聚簇原理

半监督学习为什么可行?这个就要了解一下半监督学习中的理论前提,即模型假设,当模型假设正确时,无标签的样例能够帮助改进学习性能。而理论前提,就是我们之前在提到过的相似性原理,相似性聚簇,在现实世界中普遍存在,在晚上,在中国大片土地上用灯光的聚簇就可以定位大城市、特大城市。

  • 平滑假设(Smoothness Assumption)

位于稠密数据区域的两个距离很近的样例的类标签相似。或者说,当两个样例被稠密数据区域中的边连接时,它们有相同的类标签概率要大;相反地,当两个样例被稀疏数据区域分开时,它们的类标签趋于不同.

  • 聚类假设(Cluster Assumption)

当两个样例位于同一聚类簇时,它们有相同类标签的概率很大。这个假设的等价定义为低密度分离假设(Low Sensity Separation Assumption),即分类决策边界应该穿过稀疏数据区域,而避免将稠密数据区域的样例分到决策边界两侧。

  • 流形假设(Manifold Assumption)

将高维数据嵌入到低维流形中,当两个样例位于低维流形中的一个小局部邻域内时,它们具有相似的类标签。

许多实验研究表明当不满足这些假设或模型假设不正确时,无类标签的样例不仅不能对学习性能起到改进作用,反而会恶化学习性能,导致半监督学习的性能下降。

实现半监督算法的概率视角

半监督生成模型是以概率视角求解半监督算法的。该方法假设所有数据(无论是否有标记)都是由同一潜在的模型生成的,分布类型相同。通过这个假设潜在模型的参数将未标记数据与学习目标联系起来,而未标记数据的标记可作为模型的缺失参数,通常基于EM算法进行极大似然估计求解。生成式方法的重点是对于生成式模型的假设,不同的模型假设将产生不同的方法。

这个方法的关键也就是这个模型假设必须准确,即假设的生成式模型必须与真实数据分布吻合;否则利用未标记数据反倒会降低泛化性能。 这个不好控制,也是好多学习机器学习的人比较讨厌的,但这是错误的!模型的构建过程允许试错,也就是当结果不是很理想,可以反思先验是否准确,继而,修正先验,继续迭代模型。

监督生成模型

在监督学习中,二分类中生成模型的数据有C1和C2两类数据组成,寻找最可能的先验概率P(Ci)和类依赖概率P(x | Ci),假设每一类的数据都是服从高斯分布,我们可以通过分布得到参数均值μ和和方差Σ。P(x | Ci)是由μ_和Σ参数化的高斯分布。如下图所示,我们要求得一个决策边界。

利用参数可以知道P(C1)P(C2)μ1、μ2、Σ。并利用这些参数计算某一个例子属于某一类别的概率 。

半监督生成模型

过程和监督生成模型类似,所不同的是,如下图所示,标记为绿色的点,是无标记的数据,让分布更加丰满,由椭圆到圆

这个时候如果仍在使用之前的数据分布明显是不合理的,需要重新估计数据分布的参数,这个时候可能分布式一个类似于圆形的形状。这里就需要用未标签数据来帮助估计新的

(_1),(_2),μ1,μ2,Σ。

由贝叶斯定理的思想,我们知道,未标记的数据_对于这些参数的重新估计趋向更加精确发挥着重要的作用。

EM算法

具体可以采用如下的EM算法进行估计

EM算法是一种流行的迭代算法,用于在丢失数据的问题中进行最大似然估计。EM算法包括两个步骤,1、期望步骤,即填写缺失的数据;2、最大化步骤 - 计算参数的新的最大后验估计。

  • 初始化θ={ P(C_1 ),P(C_2 ), μ1, μ2, Σ }
  • 步骤一:计算无标记数据的后验概率:P_θ(C_1 |x_u )
  • 步骤二:更新模型:

首先对参数进行初始化,之后利用参数计算无标签数据的后验概率;然后利用得到的后验概率更新模型参数,再返回step1,循环执行直至模型收敛。这个算法最终会达到收敛,但是先验(初始化)对于结果的影响也很大。

为什么先验对结果的影响大?

标记数据的最大可能性:

已标记+未标记数据的最大可能性:

X_u可以来自C1、C2,迭代求解:

由这个最后的概率表达式,可见,先验参数是非常重要的。

透彻理解半监督学习的重要思想及概率视角相关推荐

  1. 机器学习中的有监督学习,无监督学习,半监督学习

    在机器学习(Machine learning)领域,主要有三类不同的学习方法: 监督学习(Supervised learning). 非监督学习(Unsupervised learning). 半监督 ...

  2. 监督学习、无监督学习和半监督学习区别

    1.概念 1.1监督学习(数据集有输入和输出数据):通过已有的一部分输入数据与输出数据之间的相应关系.生成一个函数,将输入映射到合适的输出,比如分类. 1.2无监督学习(数据集中只有输入):直接对输入 ...

  3. [机器学习] 半监督学习---伪标签Pseudo-Label

    大数据时代中,在推荐.广告领域样本的获取从来都不是问题,似乎适用于小样本学习的伪标签技术渐渐淡出了人们的视野,但实际上在样本及其珍贵的金融.医疗图像.安全等领域,伪标签学习是一把锋利的匕首,简单而有效 ...

  4. 透彻理解Spring事务设计思想之手写实现

    2019独角兽企业重金招聘Python工程师标准>>> 前言 事务,是描述一组操作的抽象,比如对数据库的一组操作,要么全部成功,要么全部失败.事务具有4个特性:Atomicity(原 ...

  5. 【IM】关于半监督学习的理解

    基于流形假设的半监督学习:假定输入概率密度p(x)和条件概率密度p(y|x)之间具有某种关联,估计p(x)辅助对p(y|x)的估计以提升精度.流形假设,即输入数据只出现在某个流形上,输出则在该流形上平 ...

  6. 【手写系列】透彻理解MyBatis设计思想之手写实现

    前言 MyBatis,曾经给我的感觉是一个很神奇的东西,我们只需要按照规范写好XXXMapper.xml以及XXXMapper.java接口.要知道我们并没有提供XXXMapper.java的实现类, ...

  7. 【手写系列】透彻理解Spring事务设计思想之手写实现

    事务,是描述一组操作的抽象,比如对数据库的一组操作,要么全部成功,要么全部失败.事务具有4个特性:Atomicity(原子性),Consistency(一致性),Isolation(隔离性),Dura ...

  8. 理解监督学习、无监督学习、半监督学习、强化学习

    目录 监督学习 回归问题 分类问题 无监督学习 半监督学习 强化学习 参考链接 监督学习 监督学习简单来说就是我们给学习算法一个数据集. 这个数据集由"正确答案"组成,然后使用已知 ...

  9. 机器学习中的名词解释(一):监督学习、无监督学习、半监督学习、自监督学习(通俗理解)

    机器学习中有几个带有"监督"二字的名词,易混淆,写篇博客解释一下下~ 1.监督学习(Supervised Learning):是指从标注数据中学习预测模型的机器学习方法,其本质是学 ...

最新文章

  1. 做 AI 大咖在顶级单位之间随兴漂移,好开心!
  2. 删除系统Win7系统盘越来越小,系统盘清理技巧
  3. tensorflow对应的python版本_详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
  4. sql_mysql注入基础篇
  5. aspx隐藏前台控件div_c# – 代码隐藏页面无法“查看”aspx页面中声明的任何项目/控件...
  6. HTML5学习笔记(二)
  7. 面试官问你有什么要问的时候,大胆的提出类似问题
  8. C# Winform程序本地化应用
  9. NSSM的下载与使用
  10. Qt疑难杂症之编译QPA插件
  11. 天翎BPM流程引擎助力打造流程服务中台
  12. iOS各大名人的博客
  13. Windows消息类型及说明(全面)
  14. python环境安装 (win7)
  15. java 实现 ppt或pptx文件转换PDF文件 -- poi
  16. VS2008试用版破解方法
  17. UPA/URA双极化天线的协方差矩阵结构
  18. EasyUi 快速入门
  19. 微服务架构——马丁弗勒
  20. FFMpeg4.0相关结构体和函数

热门文章

  1. 生成图-深度优先搜索/宽度优先搜索
  2. 基于51单片机智能浇花自动浇水灌溉
  3. 大数据开发之Hive篇12-Hive正则表达式
  4. HTML5七夕情人节表白网页(抖音-罗盘时钟) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白
  5. linux系统日志怎么退出,linux系统日志的清除
  6. 【设计模式学习笔记】类图:类与类之间的关系
  7. R语言—方差分析和多重比较
  8. 计算机桌面上字太宽怎么办,电脑屏幕字体怎么变大_电脑字体变大如何调-win7之家...
  9. VB.net小技巧——使用DataGridView显示EXECL表格内容
  10. IPCamera WiFi配置方案