半监督学习概述

半监督学习概述一、半监督学习今天在阅读一篇论文时了解了这个之前一直不太清晰的概念。下面是查阅了相关资料后对半监督学习的理解。如有错误,望更正。半监督学习是一种介于监督学习和无监督学习之间的学习凡是,我们都知道,在监督学习中,样本的类比、类别标签都是已知的,学习的目的是找到样本的特征与类别标签之间的联系。一般来讲训练样本的数量越多,训练得到的分类器的分类精度也会越高。但是在很多现实问题当中,一方面是由于人工标记样本的成本很高,导致有标签的数据十分稀少。(如果是让算法工程师亲自去标记数据,会消耗相当大的时间和精力;也有很

1、半监督学习

今天在阅读一篇论文时了解了这个之前一直不太清晰的概念。下面是查阅了相关资料后对半监督学习的理解。如有错误,望更正。

半监督学习是一种介于监督学习和无监督学习之间的学习凡是,我们都知道,在监督学习中,样本的类比、类别标签都是已知的,学习的目的是找到样本的特征与类别标签之间的联系。一般来讲训练样本的数量越多,训练得到的分类器的分类精度也会越高。但是在很多现实问题当中,一方面是由于人工标记样本的成本很高,导致有标签的数据十分稀少。(如果是让算法工程师亲自去标记数据,会消耗相当大的时间和精力;也有很多公司采取雇佣一定数量的数据标记师,这种做法也无疑是耗费了大量金钱在数据标记上。)而另一方面,无标签的数据很容易被收集到,其数量往往是有标签样本的上百倍。因此,半监督学习(这里仅针对半监督分类),就是要利用大量的无标签样本和少量带有标签的样本来训练分类器,解决有标签样本不足的难题。

2、self-training

self-training可能是最早提出的半监督学习方法,最早可以追溯到1965.self-training相比于其他半监督学习方法的优势在于简单以及不需要任何假设。
在这里插入图片描述
上面是self-training的算法流程图,简单介绍一下:

  • 1、将初始化的有标签数据作为初始的训练集(Xtrain,ytrain)=(X_l,y_l),根据该训练集训练得到一个初始分类器 C i n t C_{int} Cint
  • 2、利用 C i n t C_{int} Cint对无标签数据集 X u X_u Xu进行分类,选出最有把握的样本 X c o n f , y c o n f X_{conf},y_{conf} Xconf,yconf(可以设定阈值来选择)
  • 3、从 X u X_u Xu中去掉 X c o n f , y c o n f X_{conf},y_{conf} Xconf,yconf
  • 4、将 X c o n f , y c o n f X_{conf},y_{conf} Xconf,yconf加入到有标签数据集中, ( X t r a i n , y t r a i n ) ← ( X l , y l ) ∪ ( X c o n f , y c o n f ) (Xtrain,ytrain)←(X_l,y_l)∪(X_{conf},y_{conf}) (Xtrain,ytrain)(Xl,yl)(Xconf,yconf)
  • 5,根据新的训练集训练新的分类器,重复步骤2到5直到满足停止条件(例如所有无标签样本都被标记完了)
    最后得到的分类器就是最终的分类器。

3、协同学习 (co-training)

和自我学习一样,协同学习的目的也是为了用现有的有标签的数据去标记其他数据。具体步骤如下:假设现在有数据集,每组数据有2个特征(feature): x1 和 x2。我们把其中有标签的那部分数据集称为L (表示为[x1,x2,y]),没有标签的数据集称为U (表示为[x1,x2])。

初始化数据,把L 分为L1 ([x1,y]) 和L2 ([x2,y])。这里注意,L 是一个数据集,里面包涵了很多数据,我就顺便提醒一下。
重复:a) 分别用L1和L2训练出一个模型 F1和F2
b) 分别用模型F1和F2去预测U (给U打标签),同样这里也是只选出最有把握的一些结果。

c) 把F1预测的结果放入L2,把F2预测的结果放入L1 (交叉放置)

d) 更新L 和 U

  1. 直到数据集不发生变化 (和自我学习一样)

4、参考资料

1)半监督学习之self-training
2)半监督分类的方式:self-training和co-training的算法简述

今天的文章半监督学习概述分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/6054.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注