半监督学习概述

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

1、半监督学习

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

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

2、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])。

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

d) 更新L 和 U

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

4、参考资料

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216413.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午11:54
下一篇 2026年3月18日 上午11:55


相关推荐

  • ubuntu开启/关闭防火墙

    ubuntu开启/关闭防火墙1 Alt T 打开终端 输入 sudoufwstatu 回车 查看防火墙状态 inactive 是关闭 active 是开启 2 使用 sudoufwenabl 开启防火墙 3 使用 sudoufwdisab 关闭防火墙

    2026年3月18日
    2
  • 前端架构演进及主流UI

    前端架构演进及主流UI文章目录前端三要素 JavaScript 框架 NodeJs 常用 UI 框架前后端分离的演进 MVVM 模式总结前端演进到现在 各种技术框架已经层出不穷了 作为一名开发少不了要干一些前端的活儿 那么整个前端的架构体系是怎样的呢 让我们一起来了解回顾一下前端三要素 HTML 结构 超文本标记语言 HyperTextMar 决定网页的结构和内容 CSS 表现 层叠样式表

    2026年3月19日
    2
  • Idea激活码最新教程2020.3.2版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2020.3.2版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2020 3 2 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2020 3 2 成功激活

    2025年5月22日
    8
  • 月之暗面又「亮」了

    月之暗面又「亮」了

    2026年3月12日
    2
  • Python day4知识回顾

    Python day4知识回顾#-*-coding:utf_8_*_#Author:Vi#字典是无序的info={‘student001′:”DIO”,’student002′:”JOJO”,’student003’:”Pucci”,}”’#print(info[‘student003’])info[‘student001’]=”屌”#对已有字典进行修改info[‘stud…

    2025年5月24日
    7
  • 深入Springboot启动流程+自动配置原理

    深入Springboot启动流程+自动配置原理深入Springboot启动流程+自动配置原理?写在前面?相关常见面试题Springboot启动入口@SpringBootConfiguration解读@ComponentScan解读@EnableAutoConfiguration解读(重点)@AutoConfigurationPackage解读@Import({AutoConfigurationImportSelector.class})解读(重点)?写在前面?自从SpringBoot问世以来,开发界可以说是乱了套。我还记得我朋友几年前去参加

    2025年9月23日
    5

发表回复

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

关注全栈程序员社区公众号