半监督学习介绍(为什么半监督学习是机器学习的未来)

文章目录

  • 半监督学习的好处
  • 半监督学习原理
  • 半监督范式
  • 总结

半监督学习是一种利用标记和未标记数据的机器学习方法。半监督学习的目标是结合监督学习和无监督学习的优点;利用标记数据的准确性以及未标记数据的丰富性和较低成本。半监督学习可以被认为是 监督学习(利用标记数据进行训练)和 无监督学习(不需要标签)之间的桥梁。监督学习要求所有数据都被标记,而无监督学习根本不需要标签,而半监督学习结合了标记和未标记数据来训练模型,然后可以进行预测。与单独使用其他两种方法相比,这会带来更好的性能。
在这里插入图片描述

半监督学习的好处

使用半监督学习有几个主要好处:

  1. 节省成本:标记数据可能是一个乏味且昂贵的过程,并且在许多情况下,标记项目所需的所有数据根本不切实际。半监督学习可以通过使用标记和未标记数据来帮助降低收集数据的成本。
  2. 准确性:如上所述,同时使用标记数据和未标记数据有助于提高模型的准确性。这是因为使用标记数据可以阻止模型学习虚假相关性,而使用未标记数据可以添加有关数据中潜在模式的有价值的信息。
  3. 节省时间:标记数据可能需要大量时间,因此半监督学习可以加快模型训练速度,因为不必全部标记数据。

本文将对半监督学习进行友好的介绍并解释其核心概念。

半监督学习原理

img

半监督学习的实际应用。粗线表示监督学习得到的决策边界。虚线显示了半监督情况的边界。点是未标记的数据点,三角形/加号是标记的数据点。图取自 van Engelen 等人。(2018)

上图显示了所有三种学习方案的实际效果。圆圈代表两个类的未标记数据点。圆圈和三角形对应于标记的样本。为了使未标记的样本有用,我们必须假设它们仍然包含对我们有用的信息。更数学地说:

基础边际分布p(x)应提供有关后验p(y|x) 的有用信息。

为了使半监督训练发挥作用,我们必须依赖三个主要假设:

平滑度假设

它指出,如果两个样本x1x2在输入空间中接近,则它们应该共享相同的标签。例如,假设有一个描述汽车的数据集,其中包含重量和油耗。两个特征值较小的样本可能代表紧凑型汽车,而值较高的样本往往对应于 SUV。当我们还考虑未标记的数据时,这种假设会派上用场,因为我们希望它们共享最接近的标记邻居的标签。

低密度假设

从平滑假设,我们可以直接推导出另一个前提。类之间的决策边界应位于输入空间的低密度区域。这意味着,它应该位于很少有标记和未标记样本的区域。如果它位于高密度区域,则将违反平滑度假设,因为输入空间中接近的样本将不再共享相同的标签。

流形假设

机器学习任务的数据通常是高维的。尽管如此,并非所有特征都显示出相同水平的方差,这使得它们对模型的用处不大。因此,高维数据通常位于低维流形上(空间中的结构)。该信息可用于推断未标记样本的类别。

这三个假设构建了几乎所有半监督学习算法的基础。

半监督范式

最近的半监督学习算法的一件事是,它们都基于两种范式之一(有时甚至是两者)。

第一个范式称为 伪标记 ,它使用网络本身为未标记的数据生成真实标签。为此,模型通常使用需要获得的完全标记的子集进行预训练。然后将未标记的样本输入网络并记录它们的类别预测。如果样本的最大类别概率超过设定的阈值,则将相应的类别用作基本事实。然后可以使用这些样本以监督方式训练模型。随着模型的性能变得越来越好,可以使用相同的技术迭代地细化人工获得的标签。

第二种范式称为一致性正则化,它训练模型在输入同一图像的两个略有不同的版本时输出相似的预测。在许多情况下,原始图像的这些扰动版本通常是使用数据增强方法获得的,例如旋转、移位、对比度改变或许多其他技术。这样的训练使模型能够更好地泛化并且更加鲁棒。由于我们只是强制执行类似的预测,因此在这种情况下不需要类标签。因此,可以按原样使用未标记的数据。

总结

半监督学习是一种强大的机器学习方法,可以结合监督学习和无监督学习的优点。通过使用标记和未标记数据,半监督学习可以提高许多机器学习项目的准确性、成本和时间节省。它利用标记和未标记数据来生成一个模型,该模型通常比以标准监督方式训练的模型更强大。这些算法通常基于伪标签和/或一致性正则化。

半监督学习将监督学习和非监督学习的过拟合和“不拟合”倾向(分别)结合起来的能力,创建了一个模型,在给出最小数量的标记数据和大量的未标记数据的情况下,可以出色地执行分类任务。除了分类任务,半监督算法还有许多其他用途,如增强聚类和异常检测。尽管这一领域本身相对较新,但由于在当今的数字领域中发现了巨大的需求,算法一直在不断地被创造和完善。

不过,即使半监督训练通常比标准监督训练有所改进,也不能保证您自己的应用程序就是这种情况。研究表明,在某些有限的情况下,它甚至可能导致性能下降。

半监督学习确实是机器学习的未来。

参考:
https://www.elecfans.com/d/1411567.html
https://towardsdatascience.com/a-friendly-intro-to-semi-supervised-learning-3783c0146744
https://towardsdatascience.com/improve-your-models-performance-with-unlabeled-data-d6e78a57fadb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/104215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【通义千问】大模型Qwen GitHub开源工程学习笔记(4)-- 模型的量化与离线部署

摘要: 量化方案基于AutoGPTQ,提供了Int4量化模型,其中包括Qwen-7B-Chat和Qwen-14B-Chat。更新承诺在模型评估效果几乎没有损失的情况下,降低存储要求并提高推理速度。量化是指将模型权重和激活的精度降低以节省存储空间并提高推理速度的过程。AutoGPTQ是一种专有量化工具。…

[每周一更]-(第67期):docker-compose 部署php的laravel项目

容器化部署laravel框架的php项目 操作步骤 参考: https://www.cnblogs.com/jingjingxyk/p/16842937.htmlhttps://developer.aliyun.com/article/708976 0、plv项目修改 composer install.env 修改后台地址 IP:端口chmod -R 777 public / chmod -R 777 storagevi…

Mac删除不在程序坞的程序

现象描述:删除某个程序时(通过‘程序’列表中将该应用移动到废纸篓里),该应用程序正在运行中,删除过程该程序未提示正在运行中,仅仅删除了图标(在此吐槽下该程序的交互,产品没有考虑…

*常用函数

文章目录 nn.PReLU() 激活函数 nn.PReLU() 激活函数 PReLU(Parametric Rectified Linear Unit), 顾名思义:带参数的ReLU 其中a代表的是可学习的参数 ReLU、PReLU的比较: 如果ai0,那么PReLU退化为ReLU; 如果ai是一个很小的固定…

Git Commit Message规范

概述 Git commit message规范是一种良好的实践,可以帮助开发团队更好地理解和维护代码库的历史记录。它可以提高代码质量、可读性和可维护性。下面是一种常见的Git commit message规范,通常被称为"Conventional Commits"规范: 一…

Windows下DataGrip连接Hive

DataGrip连接Hive 1. 启动Hadoop2. 启动hiveserver2服务3. 启动元数据服务4. 启动DG 1. 启动Hadoop 在控制台中输入start-all.cmd后,弹出下图4个终端(注意终端的名字)2. 启动hiveserver2服务 单独开一个窗口启动hiveserver2服务,…

Kafka基础入门

Kafka介绍 Kafka是什么? kafka是一种分布式的,基于发布/订阅的消息系统。 Kafka的特点 分布式,吞吐量高,发布订阅模式,轻量灵活,较长时间持久化 Kafka的应用场景 解耦 原先一个微服务是通过接口&…

0基础学习VR全景平台篇 第108篇:全景图细节处理(下,航拍)

上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! (调色前图库) (原图-大图) 一、导入文件 单击右下角导入按钮,选择航拍图片所在文件夹,选择图片&#xff0…

【运维笔记】swow源码编译安装

swow的github网址 https://github.com/swow/swow 从github中拉取源码 git pull https://github.com/swow/swow.git 编译安装 github中readme文件讲述了安装方法 这里整理了命令,进入拉取项目的目录后依次执行命令即可 #pwd 确保自己在swow目录中,如…

docker 搭建本地Chat GPT

要在CentOS7上安装Docker,您可以按照以下步骤进行操作: 1、更新系统包列表 sudo yum update2、安装Docker存储库的必要软件包 sudo yum install -y yum-utils device-mapper-persistent-data lvm23、添加Docker存储库 sudo yum-config-manager --add…

3DEXPERIENCE® SOLIDWORKS® 新功能

先前版本的兼容性 优点 即使其他用户正在使用旧版 SOLIDWORKS,也能轻松与其 协作。 • 通过将您的 3DEXPERIENCE SOLIDWORKS 设计作品保存为旧 版本,与使用旧版本的供应商无缝协作。 • 将零件、装配体和工程图保存为最新版本前两年之内的 3DEXPERIENC…

centos7部署Nginx和RabbitMQ

文章目录 Nginx安装部署【简单】简介安装 RabbitMQ安装部署【简单】简介安装 Nginx安装部署【简单】 简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务&am…

从零开始使用webpack搭建一个react项目

先做一个正常编译es6语法的webpack demo 1. 初始化package.json文件 npm init一路enter下去 2. 添加插件 {"name": "demo","version": "1.0.0","description": "","main": "index.js",&q…

《RISC-V体系结构编程与实践》的benos_payload程序——mysbi跳转到benos分析

1、benos_payload.bin结构分析 韦东山老师提供的开发文档里已经对程序的结构做了分析,这里不再赘述,下面是讨论mysbi跳转到benos的问题; 2、mysbi跳转到benos的代码 3、跳转产生的疑问 我认为mysbi.bin最后跳转到0x22000地址处执行&#xff0…

Pytorch从零开始实战05

Pytorch从零开始实战——运动鞋识别 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——运动鞋识别环境准备数据集模型选择数据可视化模型预测总结 环境准备 本文基于Jupyter notebook,使用Python3.8,Pytorch2.0.1cu118…

代码混淆界面介绍

代码混淆界面介绍 代码混淆功能包括oc,swift,类和函数设置区域。其他flutter,混合开发的最终都会转未oc活着swift的的二进制,所以没有其他语言的设置。 代码混淆功能分顶部的显示控制区域:显示方式,风险等…

centos7安装db2 version11.1

centos7安装DB2 操作系统 linux centos7 DB2版本 11.1 1、取包 IBM MRS Tool 将安装包放在 /home/software 下面 mkdir -p /home/software cd /home/software wget https://iwm.dhe.ibm.com/sdfdl/v2/regs2/db2pmopn/Express-C/DB2ExpressC11/Xa.2/Xb.aA_60_-i7wWKFMFpbW1xl1…

高压放大器在软体机器人领域的应用

软体机器人是一种新型机器人技术,与传统的硬体机器人有着很大的不同。软体机器人通常由柔软的材料制成,具有高度的柔韧性和灵活性,并且可以实现多种形状和动作。但是,软体机器人的发展面临很多技术挑战,其中之一就是控…

Java 解析 cURL(bash) 命令

解析 cURL(bash) 命令 1. 主要用于解析从浏览器复制来的 cURL(bash)2. 废话不多说,都在🍻代码里了。参考资料 1. 主要用于解析从浏览器复制来的 cURL(bash) curl https://eva2.csdn.net/v3/06981375190026432f77c01bfca33e32/lts/…

使用PyQt5创建图片查看器应用程序

使用PyQt5创建图片查看器应用程序 作者:安静到无声 个人主页 在本教程中,我们将使用PyQt5库创建一个简单的图片查看器应用程序。这个应用程序可以显示一系列图片,并允许用户通过按钮切换、跳转到不同的图片。 1. 准备工作 首先&#xff0…