【机器学习西瓜书学习笔记——半监督学习】

news2024/12/29 9:56:32

机器学习西瓜书学习笔记【第十二章】

  • 第十三章 半监督学习
    • 13.1 未标记样本
    • 13.2 生成式方法
    • 13.3 半监督 S V M SVM SVM
      • 基本思想
      • 优点和注意事项
      • 适用场景
    • 13.4 图半监督
      • 标签传播算法
      • 多类标签传播算法
        • Label Propagation
        • Label Spreading
    • 13.5 基于分歧的方法
      • 数据视图
      • 协同训练
    • 13.6 半监督聚类
      • 基本思想
      • 常见的半监督聚类方法
      • 优点和注意事项

第十三章 半监督学习

机器学习中基本的学习方法有:监督学习半监督学习无监督学习。他们最大的区别就是模型在训练时需要人工标注的标签信息监督学习利用大量的标注数据来训练模型,使模型最终学习到输入和输出标签之间的相关性半监督学习利用少量有标签的数据和大量无标签的数据来训练网络;而无监督学习不依赖任何标签值,通过对数据内在特征的挖掘找到样本间的关系,比如聚类。

13.1 未标记样本

归纳半监督学习假定训练数据中的未标记样本并非待测的数据,而直推半监督学习则假定学习过程中所考虑的未标记样本恰是待预测数据,学习的目的就是在这些未标记样本上获得最优泛化性能。

半监督学习可划分为半监督学习和直推学习。

  • 纯半监督学习

    • 基于"开放世界" 假设, 希望学得模型能适用千训练过程中未观察到的数据。
  • 直推半监督学习

    • 基于"封闭世界"仅试图对学习过程中观察到的未标记数据进行预测。直推半监督学习只处理样本空间内给定的训练数据,利用训练数据中有类标签的样本和无类标签的样例进行训练,预测训练数据中无类标签的样例的类标签。
    img

13.2 生成式方法

基于生成式模型的方法,假设所有数据都是由同一个潜在的模型生成的,这个假设使得我们能通过潜在模型的参数将未标记数据与学习目标联系起来,而未标记数据的标记则可看作模型的缺失参数,通常可基于 E M EM EM算法进行极大似然估计求解。

13.3 半监督 S V M SVM SVM

基本思想

①针对二分类问题

②尝试将每个未标记样本分别作为正例或反例,然后在所有这些结果中, 寻求一个在所有样本(包括有标记样本和进行了标记指派的未标记样本)上间隔最大化的划分超平面。 一旦划分超平面得以确定,未标记样本的最终标记指派就是其预测结果

优点和注意事项

  • 利用未标签数据: S 3 V M S3VM S3VM有效地利用未标签的数据,提高了模型的泛化性能。

  • 降低标签依赖: S 3 V M S3VM S3VM的目标是在减少对标签的依赖性的同时,提高分类性能。

  • 过拟合风险: 引入未标签样本可能会增加过拟合的风险,因此需要注意模型的泛化能力。

  • 参数调整: 如同传统 S V M SVM SVM一样, S 3 V M S3VM S3VM的性能可能受到核函数选择、正则化参数等超参数的影响,需要进行调优。

适用场景

半监督支持向量机它尝试在训练数据中利用未标签样本,以提高分类性能。当标签数据有限的情况下, S 3 V M S3VM S3VM可以作为一种有效的选择。

13.4 图半监督

标签传播算法

给定一个数据集,可以将其映射为一个图,数据集中每个样本对应于图中的一个结点。若两个样本之间的相似度很高(或者相关性很强),则对应的结点之间存在一条边边的强度正比于样本之间的相似度(或相关性)。将有标记样本所对应的结点视作为已经染色,而未标记样本所对应的结点尚未染色。于是半监督学习就对应于“颜色”在图上扩散或者传播的过程。

多类标签传播算法

Label Propagation

Label Propagation算法通过节点之间的边来传播标记,边的权重越大则表示两个节点越相似,则标记越容易传播。

Label Spreading

Label Spreading算法使用了标准化的拉普拉斯矩阵来作为概率转移矩阵;加入了类似于正则化策略的惩罚参数来增加模型的泛化能力。算法思想:距离相近的样本点更有可能具有相同的标签。通过构建有向完全图来表示样本点之间的位置关系,并基于此构建概率转移矩阵来确定未知标签的所属类别。该算法适用于半监督学习任务,可以有效地扩展标记数据集并提高预测准确性。

13.5 基于分歧的方法

数据视图

一个数据对象往往同时拥有多个属性集,每个属性集就构成了一个视图。

假设不同视图具有相容性:即其所包含的关于输出空间的信息是一致的。

协同训练

  • 假设不同视图具有“相容性”,即所包含的关于输出空间 Y Y Y的信息是一致的。在“相容性”基础上,不同视图信息的“互补性”会给学习器的构建带来很大便利。

  • 协同训练正是很好地利用了多视图的“相容互补性”。假设数据拥有两个充分且条件独立的视图,“充分”是指每个视图都包含足以产生最优学习器的信息“条件独立”则是指在给的类别标记条件下两个视图相互独立。

  • 算法流程

    img

13.6 半监督聚类

半监督聚类是一种集成了有标签数据和无标签数据的聚类方法,其目标是在聚类的过程中利用有标签数据的信息来提高聚类性能。在半监督聚类中,一部分数据集有已知的标签,而另一部分没有标签。

基本思想

  • 有标签数据: 利用有标签的数据对聚类过程进行监督或指导,以提高聚类的准确性。
  • 无标签数据: 利用无标签的数据进行聚类,从中发现潜在的簇结构。

常见的半监督聚类方法

  • C o n s t r a i n e d C l u s t e r i n g Constrained Clustering ConstrainedClustering: 在这种方法中,用户提供一些先验的约束条件,如样本之间属于同一类或不属于同一类,以引导聚类过程。
  • S e l f − t r a i n i n g Self-training Selftraining: 利用已有的有标签数据来初始化聚类模型,然后使用无标签数据进行训练,逐渐将无标签数据加入到已有的聚类中。
  • C o − T r a i n i n g Co-Training CoTraining: 在半监督聚类中, C o − T r a i n i n g Co-Training CoTraining方法使用两个或多个视图或特征集,每个特征集对应一个模型。模型在一个视图上训练,然后通过对另一个视图上的数据进行预测来自我训练。
  • S p e c t r a l M e t h o d s Spectral Methods SpectralMethods: 基于谱聚类的方法也可以用于半监督聚类。通过考虑已标签和未标签数据之间的关系,可以在谱聚类中引入先验信息。
  • G e n e r a t i v e M o d e l s Generative Models GenerativeModels: 一些生成模型,如深度生成对抗网络( G A N s GANs GANs)或变分自编码器( V A E s VAEs VAEs),也可以用于半监督聚类,通过同时考虑有标签和无标签数据进行训练。

优点和注意事项

  • 更充分利用数据: 半监督聚类充分利用了有标签和无标签数据,提高了聚类性能。
  • 对领域知识的整合: 可以结合领域知识,通过约束或先验信息提高聚类的准确性。
  • 依赖标签质量: 结果的质量依赖于有标签数据的质量,不准确的标签可能影响聚类效果。
  • 选择合适的方法: 不同的半监督聚类方法适用于不同的场景,需要根据具体问题选择合适的方法。

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

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

相关文章

映客基于Apache SeaTunnel 打造高效的一站式数据集成平台

背景 随着业务的增加,数据集成任务大量增长,越来越多的数据源的需要支持,原有的系统已经无法完全支撑现有体量。 现有的数据集成平台短板慢慢展现导致部分业务线无法快速对接。数据源的架构在变得繁多和复杂,数据应用也逐渐变得更加垂直和场…

opencv-python图像增强四:多曝光融合(方法一)

文章目录 一、简介:二、多曝光融合方案:三、算法实现步骤3.1 读取图像与曝光时间:3.2 计算响应曲线并合并3.3 色调映射 四:整体代码实现五:效果 一、简介: 在摄影和计算机视觉领域,高动态范围&…

关于IP子网掩码的解释

关于IP子网掩码的解释 1、掩码 10.1.1.0/27 掩码 10.1.1.0/27 表示一个子网,其中/27是子网掩码的表示方式,指的是前27位是网络位,剩下的5位是主机位,这种掩码意味着每个子网有32个IP地址(2^532),其中包括一个网络地址…

GitHub提交PR(GitHub提交个人代码到社区)

GitHub提交PR(GitHub提交个人代码到社区) 1. 设置基本信息 确保你的本地 git 配置中的用户名和邮箱地址与你在 GitHub 账户中设置的信息一致。‌如果不一致,‌使用 git config --global user.name "Your Name" 和 git config --g…

三层架构与解耦——IoCDI机制【后端 7】

三层架构与解耦——IoC&DI机制 在软件开发领域,三层架构(Controller、Service、Dao)是一种广泛采用的架构模式,它通过将应用程序分为三个主要层次来组织代码,旨在提高代码的可维护性、复用性和可扩展性。而解耦&am…

读零信任网络:在不可信网络中构建安全系统17无控制器架构

1. 建立系统框图 1.1. 实现零信任网络的第一步重要工作是建立系统框图 1.2. 系统框图能够帮助我们透彻地理解内部网络和外部网络间的通信模式,有助于系统通信信道的设计 1.3. 对于现有的网络来说,建议首先利用日志工具来记录网络流量,然后…

2万多条初中历史题库ACCESS\EXCEL数据库

这段时间破解了中高学生知识题库,包含高&中英语题库、小&学英语题库、初&中地理题库、初&中历史题库、高&中历史题库、初&中生物题库,数据表结构都一样,今天发的这份是上万条的初中历史题库,截图包含所有…

CSS——伪元素:before

CSS——伪元素&:before 简单介绍: ::after和::before的使用很简单,可以认为其所在元素上存在一前一后的两个的元素,这两个元素默认是内联元素,但我们可以为其增添样式。::after和::before使用的时候一定要注意,必…

数据结构之二叉树详解——包含递归及迭代遍历方式

二叉树的种类 二叉树(binary tree)是一种非线性数据结构,代表“祖先”与“后代”之间的派生关系,体现了“一分为二”的分治逻辑。与链表类似,二叉树的基本单元是节点,每个节点包含值、左子节点引用和右子节…

计算机毕业设计 扶贫助农系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Golang面试题六(GMP)

目录 1.Go线程实现模型 1:1 关系 N:1关系 M:N关系 2.GM模型 3.GMP模型 概念 模型简介 有关P和M的个数问题 P和M何时会被创建 4.调度器的设计策略 5.go func() 调度流程 6.调度器的生命周期 7.Go work stealing 机制 8.Go hand off 机制 9.Go 抢占式调度 9.Sys…

8.3.数据库基础技术-关系代数

并:结果是两张表中所有记录数合并,相同记录只显示一次。交:结果是两张表中相同的记录。差:S1-S2,结果是S1表中有而S2表中没有的那些记录。 笛卡尔积:S1XS2,产生的结果包括S1和S2的所有属性列,并且S1中每条记…

[C++][opencv]基于opencv实现photoshop算法色阶调整

【测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 Levels.hpp #ifndef OPENCV2_PS_LEVELS_HPP_ #define OPENCV2_PS_LEVELS_HPP_#include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp&quo…

Re:从零开始的逆向笔记02day

1-C语言 参数传递 参数传递是通过堆栈的,传递的顺序是从右到左 函数返回值是存储在寄存器eax中 类型 char x -1; //0xFF 1111 1111 int y x; //0xFFFFFFFF 1111 1111 1111 1111 1111 1111 1111 1111 其余位为符号位unsigned char x -1; //0xFF 1111 1111 in…

云快充协议1.5版本的充电桩系统软件

介绍 小程序端:城市切换、附近电站、电桩详情页、扫码充电、充电中动态展示、订单支付、个人中心、会员充值、充值赠送、联系客服; 管理后台:充电数据看板、会员管理、订单管理、充值管理、场站运营、文章管理、财务管理、意见反馈、管理员管…

腾讯云COS和阿里云OSS在Springboot中的使用

引言:之前本来是用OSS做存储的,但是上线小程序发现OSS貌似消费比COS多一些,所以之前做了技术搬迁,最近想起,打算做个笔记记录一下,这里省去在阿里云注册OSS或腾讯云中注册COS应用了。 一、OSS 1、配置yml …

Linux 网络设备驱动

一.网络设备驱动框架 接收 将报文从设备驱动接受并送入协议栈 老API netif_if 编写网络设备驱动 步骤 1.注册一个网络设备 2.填充net_device_ops结构体 3.编写接收发送函数 // SPDX-License-Identifier: GPL-2.0-only /** This module emits "Hello, world"…

IOS 02 SnapKit 纯代码开发

SnapKit是一个Swift语言写的自动布局框架,可以运行到iOS,Mac系统上;OC版本的框架是Masonry,都是出自同一个团队。 用这个框架的目的是,用起来比系统自带的API方便,他内部也是对系统API进行了封装。 为什么…

房产中介小程序

本文来自:ThinkPHPFastAdmin房产中介小程序 - 源码1688 应用介绍 产中介小程序是一款基于ThinkPHPFastAdmin开发的原生微信小程序,为房地产中介提供房源管理、发布、报备客户、跟踪客户以及营销推广获客等服务的系统。 前端演示: 后台演示&am…

HarmonyOS应用开发者基础认证(三)

1、针对包含文本元素的组件,例如Text、Button、TextInput等,可以使用下列哪些属性:(全选) 答案: fontColor fontFamily fontSize fontWeight fontStyle 分析: 2、关于Tabs组件和TabContent组件&…