最近因为项目需要研究了一下半监督学习,稍经了解以后发现当存在大量未标签数据时,这确实是一种非常好用的方法,可以很好的提升分类精度。这里介绍一下周志华教授的Tri-triaining方法,在实现上非常的简单好用,在文末会有代码、数据集的链接
原文在这里
Tri-training: exploiting unlabeled data using three classifiers
一、Tri-training
Tri-traing 是对 co-training (协同训练)的一种改进,它也是一种基于分歧的方法。简单来说,Tri-training 的训练过程分为以下几步
- 利用bootstrap方法从有标签数据集里采样三个子数据集。利用三个子数据集训练三个有差异的基分类器
- 对于其中一个分类器i,另外两个分类器预测所有未标注数据集,挑选出其中预测结果相同的样本,作为新的有标签数据,加入到分类器i的训练集中
- 为三个分类器分别执行步骤2,并利用三个扩增的数据集更新分类器
- 重复执行2,3,直到模型收敛
在为无标签数据贴上伪标签的过程中,是有可能贴错标签,即在数据集中增加噪声的。但是周教授在论文中证明了,当新增加的数据足够多时,噪声带来的影响是可以被抵消的。Tri-trianing的理论基础其实是相当坚实的,详细的可以具体见论文
二、Implementation
代码数据集等 https://github.com/LiangjunFeng/Tri-training (写博客不容易,欢迎点赞关注,感谢支持)
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦