李宏毅机器学习课程笔记-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^*_{\theta^*}(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)+\lambda\sum_{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):@绝版臭咸鱼

微信公众号:@臭咸鱼

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


posted @ 2021-04-18 15:19  臭咸鱼  阅读(254)  评论(0编辑  收藏  举报