监督学习的介绍

一、定义

监督学习是利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。它是一种机器学习的方法,目的是让模型能够从已知的输入和输出之间的关系中学习,并且能够对新的输入做出正确的预测。

二、具体介绍

1、监督学习三要素

模型(model):总结数据的内在规律,用数学函数描述的系统
策略(strategy):选取最优模型的评价准则
算法(algorithm):选取最优模型的具体方法

2、监督学习实现步骤

1、得到一个有限的训练数据集
2、确定包含所有学习模型的集合
3、确定模型选择的准则,也就是学习策略
4、实现求解最优模型的算法,也就是学习算法
5、通过学习算法选择最优模型
6、利用得到的最优模型,对新数据进行预测或分析

3、模型评估策略

(1)模型评估

训练集和测试集
损失函数和经验风险
训练误差和测试误差

①训练集和测试集
我们将用来训练模型的数据称为训练集,将用来测试模型好坏的集合称为测试集。

训练集:输入到模型中对模型进行训练的数据集合。
测试集:模型训练完成后测试训练效果的数据集合。

②损失函数
损失函数用来衡量模型预测误差的大小。
定义:选取模型 f 为决策函数,对于给定的输入参数 X,f(X) 为预测结果,Y 为真实结果;f(X) 和 Y 之间可能会有偏差,我们就用一个损失函数(loss function)来度量预测偏差的程度,记作 L(Y,f(X))。损失函数是系数的函数,损失函数值越小,模型就越好。

③经验风险
经验风险最小化(Empirical Risk Minimization,ERM)

    这一策略认为,经验风险最小的模型就是最优的模型样本足够大时,ERM 有很好的学习效果,因为有足够多的“经验”样本较小时,ERM 就会出现一些问题

④训练误差和测试误差

i)训练误差(training error)是关于训练集的平均损失。训练误差的大小,可以用来判断给定问题是否容易学习,但本质上并不重要。
ii)测试误差(testing error)是关于测试集的平均损失。其真正反映了模型对未知数据的预测能力,这种能力一般被称为泛化能力。

(2)模型选择

    过拟合和欠拟合正则化和交叉验证

①过拟合和欠拟合

模型把训练数据学习的太彻底,以至于把噪声数据的特征也学习到了,特征集过大,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛化能力太差,称之为过拟合(over-fitting)。例如,想分辨一只猫,给出了四条腿、两只眼、一条尾巴、叫声、颜色,能够捕捉老鼠、喜欢吃鱼、… …,然后恰好所有的训练数据的猫都是白色,那么这个白色是一个噪声数据,会干扰判断,结果模型把颜色是白色也学习到了,而白色是局部样本的特征,不是全局特征,就造成了输入一个黑猫的数据,判断出不是猫。

模型没有很好地捕捉到数据特征,特征集过小,导致模型不能很好地拟合数据,称之为欠拟合(under-fitting)。 欠拟合的本质是对数据的特征“学习”得不够。例如,想分辨一只猫,只给出了四条腿、两只眼、有尾巴这三个特征,那么由此训练出来的模型根本无法分辨猫。

②模型的选择
当模型复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值之后再增大。
当模型复杂度过大时,就会发生过拟合;所以模型复杂度应适当。

③正则化
结构风险最小化(Structural Risk Minimization,SRM),是在 ERM 基础上,为了防止过拟合而提出来的策略。在经验风险上加上表示模型复杂度的正则化项(regularizer),或者叫惩罚项。正则化项一般是模型复杂度的单调递增函数,即模型越复杂,正则化值越大。结构风险最小化的典型实现是正则化(regularization),如果简单的模型已经够用,我们不应该一味地追求更小的训练误差,而把模型变得越来越复杂。

④交叉验证
数据集划分

    如果样本数据充足,一种简单方法是随机将数据集切成三部分:训练集(training set)、验证集 (validation set)和测试集(test set)。训练集用于训练模型,验证集用于模型选择,测试集用于学习方法评估。数据不充足时,可以重复地利用数据——交叉验证(cross validation)

简单交叉验证

    数据随机分为两部分,如70%作为训练集,剩下30%作为测试集;训练集在不同的条件下(比如参数个数)训练模型,得到不同的模型;在测试集上评价各个模型的测试误差,选出最优模型;

S折交叉验证

    将数据随机切分为S个互不相交、相同大小的子集;S-1个做训练集,剩下一个做测试集;重复进行训练集、测试集的选取,有S种可能的选择;

留一交叉验证

三、类别

监督学习有很多种算法,每种算法都有自己的优缺点,适用于不同的问题和数据。下面介绍一些比较常用的监督学习算法。

1、线性回归:这是一种最基本的监督学习算法,它的目的是找到一个线性函数,使得它能够最好地拟合输入和输出之间的关系。线性回归可以用于处理连续型的输出变量,比如预测房价、股票价格等。线性回归的优点是简单易懂,计算效率高,但是缺点是不能处理非线性的关系,也不能处理分类问题。
2、逻辑回归:这是一种用于处理分类问题的监督学习算法,它的目的是找到一个逻辑函数,使得它能够最好地划分不同类别的输入。逻辑回归可以用于处理二分类或多分类问题,比如预测是否患病、是否点击广告等。逻辑回归的优点是简单易懂,可以给出概率输出,但是缺点是不能处理非线性的关系,也不能处理回归问题。
3、决策树:这是一种用于处理分类或回归问题的监督学习算法,它的目的是构建一棵树形结构,使得它能够最好地划分不同类别或预测输出值的输入。决策树可以用于处理离散型或连续型的输入和输出变量,比如预测贷款是否违约、预测销量等。决策树的优点是直观易懂,可以处理非线性的关系,但是缺点是容易过拟合,也容易受到噪声和异常值的影响。
4、支持向量机:这是一种用于处理分类或回归问题的监督学习算法,它的目的是找到一个超平面或超曲面,使得它能够最好地划分不同类别或预测输出值的输入。支持向量机可以用于处理高维或非线性的数据,比如图像识别、文本分类等。支持向量机的优点是具有很强的泛化能力,可以处理复杂的关系,但是缺点是计算效率低,参数选择困难。
5、神经网络:这是一种用于处理分类或回归问题的监督学习算法,它的目的是构建一个由多层神经元组成的网络结构,使得它能够最好地拟合输入和输出之间的关系。神经网络可以用于处理任意类型和形式的数据,比如语音识别、自然语言处理等。神经网络的优点是具有很强的表达能力,可以处理非常复杂和抽象的关系,但是缺点是训练效率低,容易陷入局部最优解。

以上就是一些常见的监督学习算法,当然还有很多其他的算法,比如k-近邻、朴素贝叶斯、随机森林、梯度提升树等。不同的算法适用于不同的问题和数据,选择合适的算法需要考虑很多因素,比如数据的特征、规模、分布、噪声等,以及模型的复杂度、可解释性、稳定性等。一般来说,没有一种算法是万能的,需要根据具体的情况进行比较和测试,才能找到最优的解决方案。

引用

[1]https://www.dandelioncloud.cn/article/details/1489391056461615105
[2]https://blog.csdn.net/qq_39315069/article/details/119361967
[3]https://baijiahao.baidu.com/s?id=1761426464724224950&wfr=spider&for=pc

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

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

相关文章

Golang并发编程

Golang并发编程 进程和线程及协程并行和并发golang 创建一个协程golang停止一个协程golang协程休眠Golang协程状态golang协程安全golang共享变量和临界区golang协程优先级golang协程安全数据类型golang如何解决协程安全问题golang通道golang通道缓冲golang通道同步golang通道方…

nginx部署web网站

安装教程:https://blog.csdn.net/qq_42716761/article/details/126970218 一、查看 nginx 运行状态状态 ps -ef | grep nginx 二、查看配置文件 nginx.conf 路径 nginx -t 三、nginx启动(linux命令) nginx 查询 nginx 是否启动 ps -ef |…

iSCSI存储服务器

目录 一、ISCSI是什么? 二、ISCSI产生背景 三、存储分类 四、ISCSI架构 五、ISCSI存储服务搭建案例 一、ISCSI是什么? ISCSI名为互联网小型计算机系统接口又称为IP-SAN,是一种新的远程存储技术,提供存储服务的目标服务器默认使用的…

Go和Java实现备忘录模式

Go和Java实现备忘录模式 下面通过一个保存游戏进度的案例来说明备忘录模式的使用。 1、备忘录模式 备忘录模式保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。 意图:在不破坏封装性的前提下,捕获一个对象的…

【C++】学习STL中的stack和queue

❤️前言 今天这篇博客的内容主要关于STL中的stack、queue和priority_queue三种容器。 正文 stack和queue的使用方式非常简单,我们只要根据之前学习数据结构的经验和文档介绍就可以轻松上手。于是我们直接开始对它们的模拟实现。 stack和queue的模拟实现 stack和q…

大数据HBase学习圣经:一本书实现HBase学习自由

学习目标:三栖合一架构师 本文是《大数据HBase学习圣经》 V1版本,是 《尼恩 大数据 面试宝典》姊妹篇。 这里特别说明一下:《尼恩 大数据 面试宝典》5个专题 PDF 自首次发布以来, 已经汇集了 好几百题,大量的大厂面试…

Leetcode98. 验证二叉搜索树

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。…

实际并行workers数量不等于postgresql.conf中设置的max_parallel_workers_per_gather数量

1 前言 本文件的源码来自PostgreSQL 14.5,其它版本略有不同并行workers并不能显箸提升性能。个人不建议使用并行worker进程,大多数情况下采用postgresql.conf默认配置即可。 PostgreSQL的并行workers是由compute_parallel_worker函数决定的&#xff0c…

Java-Optional类

概述 Optional是JAVA 8引入的一个类,用于处理可能为null的值。 利用Optional可以减少代码中if-else的判断逻辑,增加代码的可读性。且可以减少空指针异常的发生,增加代码的安全性。 常用的方法 示例 代码 public class OptionalTest {pub…

ChatGPT在航空航天工程和太空探索中的潜在应用如何?

ChatGPT在航空航天工程和太空探索领域具有广泛的潜在应用。这些应用可以涵盖从设计和模拟到任务控制和数据分析的多个方面。本文将探讨ChatGPT在航空航天和太空探索中的各种可能应用,包括设计优化、任务规划、智能导航、卫星通信、数据分析和太空探测器运行。 ### …

[深度学习]大模型训练之框架篇--DeepSpeed使用

现在的模型越来越大,动辄几B甚至几百B。但是显卡显存大小根本无法支撑训练推理。例如,一块RTX2090的10G显存,光把模型加载上去,就会OOM,更别提后面的训练优化。 作为传统pytorch Dataparallel的一种替代,D…

基于java+springboot+vue的交流互动系统-lw

​ 系统介绍: 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多企业的之中,随之就产生了“交流互动系统”,这样就让交流互动系统更加方便简单。 对于本交流互动系统的设计来说&a…

继承【C++】

文章目录 继承的概念继承的定义继承方式和访问限定符继承基类成员访问方式的变化 默认继承方式 基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元静态成员菱形继承及菱形虚拟继承继承的方式 菱形虚拟继承菱形虚拟继承原理 继承的概念 继承(inheritance)…

java基础-----第六篇

系列文章目录 文章目录 系列文章目录一、HashMap和HashTable有什么区别?其底层实现是什么?二、ConcurrentHashMap原理,jdk7和jdk8版本的区别一、HashMap和HashTable有什么区别?其底层实现是什么? 1.区别 : (1)HashMap方法没有synchronized修饰,线程非安全,HashTable…

【Unity笔记】TimeLine的详细使用介绍

文章目录 前言素材一、timeline基础介绍1. 打开timeline轨道面板2. 创建TimeLine轨道3. Timeline常用轨道4. 修改Timeline单位5. 锁定界面 二、timeline的通用轨道使用三、Cinemeachine虚拟相机结合Timeline实现场景移动四、DialogueTrack:自定义的对话轨道(自己编写…

swagger 接口测试,用 python 写自动化时该如何处理?

在使用Python进行Swagger接口测试时,可以使用requests库来发送HTTP请求,并使用json库和yaml库来处理响应数据。以下是一个简单的示例代码: import requests import json import yaml# Swagger API文档地址和需要测试的接口路径 swagger_url …

如何处理 Flink 作业中的数据倾斜问题?

分析&回答 什么是数据倾斜? 由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点。 举例:一个 Flink 作业包含 200 个 Task 节点,其中有 199 个节点可以在很短的时间内完成计算。但是有一个节点执行时间…

设计模式之原型模式

文章目录 概述克隆羊问题传统方式解决克隆羊问题传统的方式的优缺点原型模式原理结构图-uml 类图原理结构图说明 原型模式解决克隆羊问题的应用实例原型模式在Spring框架中的应用深入讨论-浅拷贝和深拷贝浅拷贝的介绍深拷贝基本介绍深拷贝应用实例注意事项 概述 原型模式&…

Linux - Docker 安装使用 常用命令 教程

Docker 官方文档地址: Get Started | Docker 中文参考手册: https://docker_practice.gitee.io/zh-cn/ 1.什么是 Docker 1.1 官方定义 最新官网首页 # 1.官方介绍 - We have a complete container solution for you - no matter who you are and where you are on your contain…

Linux学习之NAS服务器搭建

NAS是Network Attached Storage的缩写,也就是网络附属存储。可以使用自己已经不怎么使用的笔记本搭建一台NAS服务器。 fdisk -l可以看一下各个磁盘的状态。 可以看到有sda、sdb、sdc和sdd等四块硬盘。 lvs、vgs和pvs结合起来看,sdb和sdc没有被使用。 …