很多算法工程师说,给我标注好标签,我上去一把梭就搞定了。

标注这件事是有成本的,现实生活中,无标签的数据易于获取,而有标签的数据收集起来通常很困难,标注也耗时和耗力。

在这种情况下,半监督学习(Semi-Supervised Learning)应运而生,一种用于解决有一些少量带标签的样本,和大量无标签的样本的场景下的算法。

伪标签学习(pseudo learning),算是半监督学习算法里面一个strong  baseline吧。

这也是我们前面提到的少有的在很多数据集上通用的刷分方法。

所有数据集上给神经网络刷分的通用方法

其原理用一句话说,用少量的有标注数据训练模型,推导出无标注数据的近似标签,或者软标签。加回去训练就行。

像不像武当纵云梯,左脚踩右脚。

听起来挺离谱的,我们把步骤用伪代码实现一下。

model1.fit(train_set,label,  val=validation_set) #step1
pseudo_label=model.pridict(test_set)  #step2
new_label = concat(pseudo_label, label) #step3
new_train_set =  concat(test_set, train_set)  #step3
model2.fit(new_train_set, new_label,   val=validation_set) #step4
final_predict = model2.predict(test_set) #step5

用网上一个经典的图来说就是。

具体的步骤可以对应着伪代码中的注释

step1&2:将有标签部分数据分为两份:train_set&validation_set,并训练出最优的model1

step3:用model1对未知标签数据(test_set)进行预测,给出伪标签结果pseudo-labeled

step4:将train_set和pseudo-labeled 融合作为新的new_train_set,训练出最优的model2

step5:再用model2对未知标签数据(test_set)进行预测,验证还是用之前的validation_set,得到最终的final result label

注意一个细节,验证集validation_set从头到尾都没有参与到训练之中,这是为了防止leak。

往期精彩回顾适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载中国大学慕课《机器学习》(黄海广主讲)机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑
AI基础下载机器学习交流qq群955171419,加入微信群请扫码:

【机器学习】5行代码在小数据集上涨点相关推荐

  1. 2行代码实现小程序分享到朋友圈功能

    期盼已久的小程序直接分享到朋友圈的功能,官方终于支持了.今天就来带大家实现小程序分享到朋友圈的功能.代码很简单. 老规矩,以图为证 新加分享到朋友圈的按钮 分享到朋友圈的效果 分享成功 打开朋友圈分享 ...

  2. 小程序获取用户手机号_借助云开发5行代码获取小程序用户的手机号

    最近有很多同学有获取小程序用户手机号的需求.其实云开发出现之前我们获取小程序用户的手机号特别繁琐.自从有了云开发,我们获取用户手机号变得非常简单.只需要5行代码即可. 老规矩,我们先来看下效果图 再来 ...

  3. Python3:9行代码帮助小姐姐找回压缩包密码,而小姐姐的回报,让我害羞了~ ~

    9行代码破解压缩包密码 1.引言 2.代码实战 2.1 单线程破解纯数字 2.1.1 代码编写 2.1.2 执行结果 2.2 多线程破解数字+字母 2.2.1 代码编写 2.2.2 执行结果 1.引言 ...

  4. 1000行代码写小游戏(终)

    最后献上完整的1000行代码,基本功能已经完成,可以通过配置小怪和矿的位置和大小控制玩家时长和难度: ------------------------------------------------- ...

  5. 小程序云开发搜索功能的实现正则_几行代码实现小程序云开发提现功能

    先看效果: 纯云开发实现,下面说使用步骤:一:开通商户的企业付款到领取功能说明地址: https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php? ...

  6. android简单小程序完整代码_10行代码实现小程序支付功能!丨实战

    " 纯干货!本文教你用云开发轻松实现强大的小程序支付功能! " 导语 前面给大家讲过如何借助小程序云开发实现微信支付,但是这种开发方式相对繁琐,并且具有不稳定性,今天就给大家讲一下 ...

  7. 10行代码实现小程序支付功能!丨实战

    前面给大家讲过一个借助小程序云开发实现微信支付的,但是那个操作稍微有点繁琐,并且还会经常出现问题,今天就给大家讲一个简单的,并且借助官方支付api实现小程序支付功能. 传送门: 借助小程序云开发实现小 ...

  8. C/C++编程学习:百行代码实现小游戏(剪刀石头布)

    这是一个简单的小游戏(剪刀石头布),让你与电脑对决.你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负. 启动程序后,让你出拳 出拳之后,显示对决结果 代码实现: #include<stdio ...

  9. 1000行代码写小游戏(一)

    用lua写的小游戏,主要玩法是点击进行采矿并和怪物搏斗等操作,人物属性有体力,血量,恢复,攻击,防御 采矿可以挖到金币和经验,打怪升级最后决战boss赢取胜利,升级可以获得技能点增加属性,还有老虎机系 ...

最新文章

  1. 溢价 5 倍欲将 SiFive 收入麾下,英特尔的绝地反击战
  2. CSS中一些语法规范和代码风格
  3. ivf技术_体外受精技术介绍 谁需要IVF技术帮助
  4. python 特征选择 绘图 + mine
  5. Hadoop 启动hdfs和yarn的命令
  6. JS设计模式之Module(模块)模式、Revealing Module(揭示模块)模式
  7. ASP.NET Core Razor页面禁用防伪令牌验证
  8. 片源系统服务器,OUO NAS10主控界面评测
  9. boss上这样沟通,更容易得到面试机会
  10. pythonlambda菜鸟教程-Python reduce() 函数
  11. 传奇进去选择服务器位置偏移,传奇聊天框偏移怎么解决,GOM GEE聊天框错位的解决方法...
  12. 读书笔记 - 深入解析Windows操作系统 - C1. 概念和工具
  13. 【转】简洁帮助文档制作 EasyCHM V3.84 build545 下载(含破解及注册码)
  14. HTML+CSS淘宝首页[web课设代码+模块说明+效果图]
  15. Zabbix通过SNMP协议监控H3C交换机
  16. 30岁学习编程晚么?
  17. 又涨了?2022年1月程序员平均薪资15052元,高薪还能持续多久?
  18. 安兔兔苹果html5排行榜,iPhone8Plus最强?9月安兔兔手机性能排行榜出炉
  19. [HTML5]简单网页本地音乐播放器
  20. SDM660 开机xbl中配置I2C

热门文章

  1. asp.net实现GZip压缩和GZip解压
  2. 如何检测远程主机上的某个端口是否开启
  3. 10个让人厌烦的编程语言
  4. BZOJ3916 [Baltic2014]friends
  5. 4. 垃圾回收- 4.3垃圾收集器
  6. STM32下载库资料
  7. leetcode 64. Minimum Path Sum
  8. 课程上线 -“新手入门 : Windows Phone 8.1 开发”
  9. 可以从max中导出静态模型并渲染了。
  10. element vue 纵向滑动条_【求助】vue element搭建的后台,侧边栏如何设置滚动条?...