李宏毅老师课程:Semi-supervised

Introduction

在这里插入图片描述
对于猫狗分类问题,如果只有一部分data有label,还有其他很大一部分data是unlabeled,那么我们可以认为unlabeled data对我们网络的训练是无用的吗?
在这里插入图片描述
Q:Why semi-supervised learning helps ?
(为什么semi-supervised learning会有效?)
在这里插入图片描述
A:如图所示,图中灰色圆点表示unlabeled data,其他圆点表示labeled data。如果没有unlabeled data,此时可以用一条竖直的线将猫狗进行分类,boundary为竖直的那条线;但unlabeled data的分布也可以告诉我们一些信息,对我们的训练也是有帮助的,有了unlabeled data,此时的boundary为斜直线

Semi-supervised Learning for Generative Model

Supervised Generative Model

不考虑unlabeled data,只有labeled data
在这里插入图片描述

Semi-supervised Generative Model

如果把unlabeled data也考虑进来,此时的boundary 也发生了变化
在这里插入图片描述

Formulation

在这里插入图片描述
不同的maximum likelihood对比
在这里插入图片描述

Low-density Separation Assumption

假设这个世界是非黑即白的,在两个class的交界处data的密度(density)是很低的,它们之间会有一道明显的鸿沟,此时unlabeled data(下图绿色的点)就是帮助你在原本正确的基础上挑一条更好的boundary
在这里插入图片描述

Self Training

有labeled data和unlabeled data,重复以下过程:

  • 从labeled data中tarin了模型 f ∗ f^* f
  • f ∗ f^* f应用到unlabeled data,得到带label的数据,称为Pseudo-label
  • 从unlabeled data中移出这部分data,并加入labeled data;要移除哪部分data,要根据具体的限制条件而定
  • 有了更多的label data,就可以继续训练我们的模型,返回第一步
    在这里插入图片描述
    注:该方法对Regression是不适用的

Hard label v.s. Soft label

self-training用的是hard label;generative model用的是soft label
在这里插入图片描述

Entropy-based Regularization

如果输出的每个类别的概率是相近的,那么这个模型就比较bad;输出的类别差距很大,比如某个类别的概率为1,其他都是0
在这里插入图片描述
现在就可以重新设计loss function,用cross entropy来估计差距

Semi-supervised SVM

SVM要做的是,给你两个class的data,去找一个boundary:

  • 要有最大的margin,让这两个class分的越开越好
  • 要有最小的分类错误

对unlabeled data穷举所有可能的label,下图中列举了三种可能的情况;然后对每一种可能的结果都去算SVM,再找出可以让margin最大,同时又minimize error的那种情况,下图中是用黑色方框标注的情况
在这里插入图片描述

Smoothness Assumption

Introduction

smoothness assumption的基本精神是:近朱者赤,近墨者黑

假设:如果x是similar的,那么他们的y也是一样的

这样的假设是非常不精确的,下面我们做出一个更加精确的假设:

  • x是分布不均匀的,有的地方很密集,有的地方很稀疏
  • x 1 x^1 x1 x 2 x^2 x2中间有个high density region,那么label y 1 y^1 y1 y 2 y^2 y2就很可能是一样的;但 x 2 x^2 x2 x 3 x^3 x3中间没有high density region,其label相同的概率就非常小
    在这里插入图片描述
    对于下图中的数字,2之间是有过渡形态的,所以这两个图片是similar的;而2与3之间没有过渡形态,因此是不similar的
    在这里插入图片描述
    比较直观的做法是先进行cluster,再进行label
    在这里插入图片描述

Graph-based Approach

我们可以把data point用图来表示,图的表示有时是比较nature,有时需要我们自己找出来point之间的联系
在这里插入图片描述

Graph Construction

通过以下两个算法来添加edge:

  • KNN,对于图中红色的圆点,与其最相近的三个(k=3)neighbor相连接
  • e-Neighborhood,对于周围的neighbor,只有和他相似度大于1的才会被连接起来

在这里插入图片描述
edge并不是只有相连和不相连两种选择而已,也可以给edge一些weight,让这个weight和这两个point之间的相似度成正比

labeled data会影响他的邻居,如果这个point是class1,那么他周围的某些point也可能是class1

在这里插入图片描述
我们期望smooth的值越小越好
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Better Representation

Better Representation的精神是化繁为简
在这里插入图片描述
本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值