一、why semi-supervised

dataset中只有部分数据进行了lable标注,即,有的数据成对出现{输入,输出},有的数据只有输入{输入};

Transductive learning(直推试学习):unlabled数据作为测试集;

Inductive learning(启发式学习):unlabled数据不是测试集。

半监督学习有用的原因:虽然unlabled数据的分类结果直接由supervsed的网络决定,但是,被测试的数据可以用来更新网络,简单说就是会改变分界线;但是,这种方式会基于labled data学习到网络对unlabled data进行分类,并不一定完全准确。

二、主要内容

三、generative model

1、回顾监督学习的generative model:贝叶斯模型

2、从这个思路出发,半监督学习就需要在加入了unlabled数据之后,找到新的概率分布,变成如下虚线的形式:

3、操作步骤:估计新的均值,方差

首先,基于初始的均值与方差,估计每个unlabled数据属于C1的概率;

然后,所有unlabled数据属于C1的概率相加记做N2,就是这些数据期望是C1的个数,可计算出新的P(C1),进而算出新的均值;

所以,预测模型相应改变了,换上新的数据,反复迭代上述步骤

四、Low-density Separation Assumption

如下图,蓝色与黄色分别为class1和2,绿色unlable,一般来说,分界线位于数据密度较小的地方较为合理。这里对unlable data进行非黑即白的假设。

self-training与generative model总体思想类似,都需要先使用lable的data得到一个模型,再使用该模型预测unlable的data,然后进行模型更新,区别在于generative model基于概率的模型,标记的是unlable data的概率,而self-training直接标记unlable data的确切分类。

那么,对于self-training,对数据的lable属于hard lable,相对的,generative model是soft lable的,如果将soft lable用于semi-supervised的卷积网络,网络可能就不会work了。

五、Loss Function

训练出的模型分类尽量集中,对于一个输入,输出必然集中在某一类。最后的Loss Function是lable data的cross entropy与unlable data的entropy之和,这里可以给出一个权重,可以调整模型更加偏重于哪一方。

六、Smoothness Assumption

基于Smoothness Assumption,可以利用先验知识对损失函数进行正则化,smoothness的假设直观的表达就是近朱者赤近墨者黑。代表输入越接近的两组数据,分类的结果就越接近。

但是,这种直观表述并不严谨,更精确的表述是,在高密度区域,输入越接近,输出就越接近。如图所示,x1与x2其实更接近,如果不加high desity的限定,那么结果就是x2与x3更接近。

smoothness 的假设更倾向于数据缓慢间接变化的一个过程,如图中的2与3,直接以像素的角度判断,后面的2与3可能更像,但从变化的角度看,两个2才是一类。而Smoothness Assumption正好符合这种逐渐变化的表示。

从另一个角度说,在数据量足够多的情况下,同一类型可以相互传导,形成一个高密度的区域,如下图(图示情况较理想)。高密度区域的逐渐传导形成正好反映了同一类型数据的间接变化过程。

基于gragh的相似度计算可以采用Knn,En等方法。对于图像,比起直接使用像素值计算相似度,对auto encoder之后的数据(特征)做相似度计算效果可能会更好。同样,也可以使用RBF(高斯核函数)函数来度量输入间的距离。RBF函数也用于SVM核函数,对特征值做相似度变换,只有当输入特征越接近时,他们的相似度才大,输入距离变大时,相似度成指数衰减。如下图,通过使用RBF函数,输入在传导过程中,只有很接近的点才会被传导。

考虑如下图的两种情形,第一组lable分别为1、1、1、0,第二组lable分别为0、1、1、0,根据直观感觉,第一组lable更加smoothy,下面给出定量的分析,定义smoothness的表达式

将上述smoothness的表示成矩阵形式:

最后,将smoothness的假设作为一个正则化加入到Loss Function中,一起求最小值,对于一个deep网络,smoothness的假设不一定只在输出层,可以根据实际情况出现在任何一层。

七、Looking for Better Representation

寻找本质,找到更好的表示方法,才能化繁为简,得到最精准有效的模型

机器学习16:半监督学习semi-supervised相关推荐

  1. 机器学习-算法-半监督学习:半监督学习(Semi-supervised Learning)算法

    人工智能-机器学习-算法-半监督学习:半监督学习(Semi-supervised Learning)算法 一.半监督学习算法提出的背景 1.监督学习算法 2.无监督学习算法 3.监督学习的特征选择方法 ...

  2. 【机器学习】半监督学习

    转自:https://www.cnblogs.com/kamekin/p/9683162.html,感谢博主 一.半监督学习 1-1.什么是半监督学习 让学习器不依赖外界交互.自动地利用未标记样本来提 ...

  3. 笔记 | 《机器学习》半监督学习

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 大家好,我是王博(Kings) 本次 ...

  4. 机器学习10 -- 半监督学习 Semi-supervised Learning

    1 为什么要做半监督学习 有监督机器学习已经在很多领域证明了它的有效性,比如ImageNet图像分类任务,深度学习模型早在2017年,准确率就已经超过了人类.机器学习被认为是一门数据驱动的学科,数据分 ...

  5. 机器学习中半监督学习是什么?人工智能机器学习

    机器学习需要通过建立模型进行自我学习,那么学习方法有哪些呢?本篇来给大家介绍一下机器学习中的半监督学习.如果还不了解什么是机器学习的,先浏览下这篇内容: 机器学习是什么?详解机器学习概念_程序媛珂珂的 ...

  6. 李弘毅机器学习笔记:第十五章—半监督学习

    李弘毅机器学习笔记:第十五章-半监督学习 监督学习和半监督学习 半监督学习的好处 监督生成模型和半监督生成模型 监督生成模型 半监督生成模型 假设一:Low-density Separation Se ...

  7. 机器学习概念 — 监督学习、无监督学习、半监督学习、强化学习、欠拟合、过拟合、后向传播、损失和优化函数、计算图、正向传播、反向传播

    1. 监督学习和无监督学习 监督学习 ( Supervised Learning ) 和无监督学习 ( Unsupervised Learning ) 是在机器学习中经常被提及的两个重要的学习方法. ...

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

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

  9. 【机器学习】监督学习,非监督学习,半监督学习三者的定义区别及举例分析

    监督(supervised)= 标签(label),是否有监督,就是输入数据(input)是否有标签,有标签则为有监督学习,没标签则为无监督学习.至于半监督学习,就是一半(一点点)数据有标签,一半(极 ...

最新文章

  1. 来呀!AI喊你斗地主——首个搞定斗地主的深度神经网络
  2. python之父去面试-面试题_个人文章 - SegmentFault 思否
  3. 最实用的Office使用技巧
  4. 程序员的一个爬虫,把估值175亿的马蜂窝给捅了
  5. 深度学习第二课--图像识别与KNN
  6. python使用PyMysql连接MySQL实现增删改查
  7. C# 4.0 的 Visual Studio 2010 官方示例
  8. linux下mac风格菜单栏,Mac 菜单栏样式太单调?不妨用这个小工具自己动手定制
  9. 通信电子线路实验-调幅模块仿真(发送与接收)
  10. 交易系统开发(十二)——QuickFIX官方文档
  11. linux认证加k8s认证,如何快速验证您的Kubernetes配置文件?
  12. 2020年茶艺师(初级)考试题及茶艺师(初级)考试题库
  13. 1. SpringBoot 整合 Canal
  14. C语言如何制作dIL文件,C语言怎么加循环
  15. 正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景
  16. 计算机通讯技术核心期刊有哪些,通信类核心期刊汇总.doc
  17. IDEA如何连接MySQL数据库?
  18. java实现第七届蓝桥杯七星填数
  19. Swoole的基本使用
  20. 我和仙女们不可不说的故事-II

热门文章

  1. 七、标准库之<标准库>
  2. 【C语言】团体程序设计天梯赛-练习集 L1-002 打印沙漏
  3. 2015年流行的网页设计趋势
  4. es6class的继承
  5. matlab nsct工具箱,非下采样Contourlet变换工具包 nsct_toolbox (from matlab central)
  6. 语音领域,对于入门学生和初入职场者需要具备什么能力?
  7. python 获取浏览器安装位置,并使用指定浏览器打开指定网页
  8. 修复ThinkPad或Lenovo电脑“已插入,未充电”无法充电问题
  9. Linux添加硬盘失败由热插拔,linux-硬盘热插拔实验
  10. 华为交换机Console和VTY端口区别