zoukankan      html  css  js  c++  java
  • 李宏毅机器学习课程笔记-10.3基于Low-density Separation假设的半监督学习

    按照“非黑即白”的思路,假设类别之间的boundary周围的data是很少的,即假设不同类别数据之间应该有1个很明显的boundary

    Self-training

    最简单的基于Low-density Separation假设的半监督学习是Self-training。

    1. 使用有标签的数据训练1个模型(f^*),模型类型和训练方式没有限制,神经网络、深或浅、其它机器学习方法等等都可以

    2. 使用模型(f^*)生成未标注数据的伪标签(Pseudo-label),即(y^u=f^*(x^u))

    3. 取出一部分未标注数据将它们添加到有标签数据中,然后回到步骤1

      如何选择未标注数据仍然是一个open question,可以自行设计策略,比如给每个样本一个置信度。

    Self-training和生成模型中的半监督学习(见上1篇文章)还挺像的,它们的区别在于:

    1. Self-training使用hard label,即假定某个无标签样本一定属于某个类别("非黑即白")
    2. 生成模型使用soft label,即假定某个无标签样本有一定概率属于某类别(也可以理解为一个样本可以按照后验概率划分成多个部分,不同部分属于不同类别)

    Self-training使用了hard label,它并不适用于regression。

    生成模型使用了soft label,它生成的伪标签在分类任务中是没有用的。因为把某个无标签样本(通过soft label生成伪标签)丢进模型重新训练模型,模型参数根本不会发生变化。

    实际上,low-density separation就是通过hard label来提升分类效果的方法。

    Entropy-based Regularization

    该方法是Self-training的进阶版。

    Self-training中使用的hard label还是有些武断和激进,Entropy-based Regularization对此进行了改进。

    在使用神经网络进行分类时,(y^u=f^*_{ heta^*}(x^u)),其中(y_u)是1个one-hot编码。现在我们并不限制其必须是某个类别,而是将其看做1个分布,我们希望这个分布越集中越好("非黑即白"),因为分布越集中时它的含义就是样本(x^u)属于某类别的概率很大属于其它类别的概率很小

    我们可以使用Entropy评估分布(y^u)的集中程度(E(y^u)=-sum_{m=1}^5y_m^uln(y_m^u)),假设是5分类,其值越小则表示分布(y^u)越集中。

    无监督分类的目标为有标签数据分类正确、无标签数据分类结果集中,所以损失函数则为(L=sum_{x^r}C(y^r,hat y^r)+lambdasum_{x^u}E(y^u)),其中第1项为有标签数据的交叉熵损失、第2项为无标签数据的entropy、(lambda)表示无标签数据的损失权重,因为式中第2项的作用类似于regularization,所以该方法被称为Entropy-based Regularization。

    Semi-supervised SVM

    SVM为两个类别的数据找到一个boundary,该boundary与两个类别的margin最大、分类错误最小。

    Semi-supervised SVM穷举所有无标签数据的类别并进行计算,最终选择与两个类别的margin最大、分类错误最小的boundary。

    在数据量大的时候,Semi-supervised SVM难以穷举出所有情况,但还有一种求近似解的方法,其大致思路是初始化一些label,然后每次尝试改动1个样本的label并判断是否更优,如果更优则改变该样本的label,具体见Transductive Inference for Text Classification using Support Vector Machines。


    Github(github.com):@chouxianyu

    Github Pages(github.io):@臭咸鱼

    知乎(zhihu.com):@臭咸鱼

    博客园(cnblogs.com):@臭咸鱼

    B站(bilibili.com):@绝版臭咸鱼

    微信公众号:@臭咸鱼

    转载请注明出处,欢迎讨论和交流!


  • 相关阅读:
    Rotation Kinematics
    离职 mark
    PnP 问题方程怎么列?
    DSO windowed optimization 代码 (4)
    Adjoint of SE(3)
    IMU 预积分推导
    DSO windowed optimization 代码 (3)
    DSO windowed optimization 代码 (2)
    OKVIS 代码框架
    DSO windowed optimization 代码 (1)
  • 原文地址:https://www.cnblogs.com/chouxianyu/p/14673553.html
Copyright © 2011-2022 走看看