机器学习 day31(baseline、学习曲线)

  1. 语音识别的Jtrain、Jcv和人工误差
    在这里插入图片描述
  • 对于逻辑回归问题,Jtrain和Jcv可以用分类错误的比例,这一方式来代替
  • 单单只看Jtrain,不好区分是否高偏差。可以再计算人类识别误差,即人工误差,作为基准线来进行比较
  • Jtrain与baseline对比只高了0.2%,所以不算高偏差,但Jcv与Jtrain对比高了4.0%,这算高方差
  1. baseline的选取
    在这里插入图片描述
  • 基准线baseline,即期望学习算法最终达到的合理误差水平
  • 当期望误差baseline不为0时,我们可以选用人工性能、其他算法性能或相关以往经验作为baseline,并进行相对的比较
  1. 如何通过baseline、Jtrain和Jcv区分高偏差和高方差
    在这里插入图片描述
  • 通过比较baseline和Jtrain来判断是否为高偏差,若认为此处的0.2%很大,则为高偏差
  • 通过比较Jtrain和Jcv来判断是否为高方差,若认为此处的4%很大,则为高方差
  • 一般通过比较baseline和Jtrain、Jtrain和Jcv之间的差值,相对的来判断是否为高偏差和高方差
  1. 学习曲线
    在这里插入图片描述
  • 二阶多项式/二次函数的学习曲线如图,x轴为训练集大小,y轴为误差,即Jtrain或Jcv
  • 当训练集很小只有一两个实例时,只需一条直线即可拟合训练集,但此时为过拟合,若出现一个新实例则极大可能拟合失败。所以训练集很小时,Jtrain很低,但Jcv很高
  • 当训练集再大一些时,用二次函数可能很难拟合全部数据,但若出现一个新实例则大概率拟合成功。所以训练集越来越大时,Jtrain逐渐增大,Jcv逐渐降低
  • 通常,Jcv会高于Jtrain,因为我们是对训练集拟合的模型,所以会更适合训练集,而不是验证集
  • 综上:训练集越大越难训练/拟合,但也越容易推广/泛化。
  1. 高偏差的学习曲线图
    在这里插入图片描述
  • 一阶多项式/一次函数的高偏差的学习曲线如图,高偏差表示Jtrain很高,且Jtrain近似于Jcv。
  • 当训练集很小时,模型能拟合全部数据,但对新数据的泛化能力很差,所以一开始Jtrain很小,同时Jcv很大。
  • 当训练集开始增大时,模型开始出现对训练集拟合错误,同时也会更适应验证集,所以Jtrain增大而Jcv减小,但由于此时为欠拟合,所以Jtrain和Jcv均高于baseline
  • 但由于一阶多项式模型太简单且能拟合的数据太少,所以即便训练集越来越大,模型依旧无法做出太大的改变,仍然只能拟合一小部分数据。而Jtrain和Jcv都是计算的平均误差,既然模型基本不改变,那么就算实例越密集(即训练集越来越大),平均误差也基本基本不变。所以Jtrain和Jcv最终逐渐靠近并趋于平坦,但始终保持Jcv高于Jtrain,且均高于baseline
  • 综上:如果一个算法有高偏差,那么增加训练集大小并不能显著降低Jcv误差
  1. 高方差的学习曲线图
    在这里插入图片描述
  • 一个四阶多项式,且λ取较小值的高方差的学习曲线如图,高方差表示Jcv远大于Jtrain,且Jtrain很小,随着训练集越来越来大,Jtrain和Jcv逐渐靠近baseline
  • 当训练集较小时,模型能拟合全部数据,但对新数据的泛化能力很差,所以一开始,Jtrain很小而Jcv很大
  • 当训练集开始增大时,模型开始出现对训练集拟合错误,但由于此时为过拟合,所以Jtrain仍比baseline要低,而Jcv远大于Jtrain,所以Jcv要比baseline高
  • 由于四阶多项式比较复杂且能拟合较多数据,所以当训练集很小时,Jtrain比期望的baseline要小很多,但该模型对新数据的泛化能力很弱,所以Jcv要比baseline高很多。随着训练集越来越来大,模型会稍稍增大Jtrain的值,以便Jcv迅速下降,最终达到Jtrain和Jcv都逐渐逼近baseline的效果
  • 如果一个算法有高方差,那么增加训练集大小可以显著降低Jcv误差

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

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

相关文章

JAVA Date 类型的对象,只想保留 “yyyy-MM-dd“ 格式的部分

Date 类型的对象,如果你只想保留 "yyyy-MM-dd" 格式的部分 1.创建一个 SimpleDateFormat 对象,并设置日期格式为 "yyyy-MM-dd"。 import java.text.SimpleDateFormat; import java.util.Date;Date date new Date(); SimpleDateFo…

回归预测 | MATLAB实现TCN-BiLSTM时间卷积双向长短期记忆神经网络多输入单输出回归预测

回归预测 | MATLAB实现TCN-BiLSTM时间卷积双向长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现TCN-BiLSTM时间卷积双向长短期记忆神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现TCN-BiLSTM时间卷积…

Thymeleaf入门

Thymeleaf是前端开发模板,springboot默认支持。前端模板用法大多数是类似的jsp、thymeleaf、vue.js都有while\for\if\switch等使用,页面组件化等。 1.前端模板区别 jsp是前后端完全不分离的,jsp页面写一堆Java逻辑。 thymeleaf好处是html改…

非Spring环境 | Mybatis-Plus插入数据返回主键两种方式(注解或XML)

废话不多说&#xff0c;直接撸代码: <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace&qu…

【Spring】什么是Bean的生命周期及作用域,什么是Spring的执行流程?

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE进阶 在前面的播客中讲解了如何从Spring中存取Bean对象&#xff0c;那么本篇我们来讲解Bean对象的生命周期是什么&#xff0c;Bean对象的6种作用域分别是什么&#xff0c;都有哪些区别&#xff…

filebeat吃爆内存问题

filebeat吃了很多内存&#xff0c;直接导致了系统OOM 原因分析&#xff1a;https://developer.aliyun.com/article/241161#slide-0 官网配置文件解析&#xff1a; filebeat.reference.yml | Filebeat Reference [8.9] | Elastic 定义每个采集器在获取文件时使用的缓冲区大小…

通过STM32内部ADC将烟雾传感器发送的信号值显示在OLED上

一.CubeMX配置 首先我们在CubeMX配置ADC1, 设置一个定时器TIM2定时1s采样一次以及刷新一次OLED&#xff0c; 打开IIC用于驱动OLED显示屏。 二.程序 在Keil5中添加好oled的显示库&#xff0c;以及用来显示的函数、初始化函数、清屏函数等。在主程序中初始化oled,并将其清屏。…

linux-----用户的一些操作

1介绍 用户指的是能够正常登录Linux或Windows系统(可以理解为你租了房子&#xff0c;能够正常入驻) Linux系统则允许同一时刻多个用户同时登陆&#xff0c;登陆后相互之间操作并不影响。但是Windows不允许同一时刻多个用户登陆系统。具体介绍可以&#xff1a; 6-Linux用户管…

【RTT驱动框架分析02】-串口驱动分析

串口驱动学习 0.串口驱动的使用方法 //定义一个时间 struct rt_event system_event; #define SYS_EVENT_UART_RX_FINISH 0x00000001 /* UART receive data finish event *//*串口接收回调函数 Receive data callback function */ static rt_err_t uart_input(rt_device_t …

掌握Python的X篇_16_list的切片、len和in操作

接上篇掌握Python的X篇_15_list容器的基本使用&#xff0c;本篇进行进一步的介绍。 文章目录 1. list的索引下标可以是负数2. 切片&#xff08;slice&#xff09;2.1 切片基础知识2.2 如何“取到尽头”2.3 按照步长取元素2.4 逆序取值 3. len函数获取lis的元素个数4. in操作符…

rocketmq客户端本地日志文件过大调整配置(导致pod缓存cache过高)

现象 在使用rocketmq时&#xff0c;发现本地项目中文件越来越大&#xff0c;查找发现在/home/root/logs/rocketmqlog目录下存在大量rocketmq_client.log日志文件。 配置调整 开启slf4j日志模式&#xff0c;在项目启动项中增加-Drocketmq.client.logUseSlf4jtrue因为配置使用的…

手把手教你从0入门线段树~

1. 什么是线段树? 1.1 初探线段树 定义&#xff1a;线段树是一种用于解决区间查询问题的数据结构&#xff0c;是一种广义上的二叉搜索树。 原理&#xff1a;它将一个区间划分为多个较小的子区间&#xff0c;并为每个子区间存储一些有用的信息&#xff0c;例如最大值、最小值…

从苏宁电器到卡巴斯基(第二部)第32篇:我当高校教师的这几年 VIII

目录 我的评教排名竟然这么高 合约结束X无法转正X原来都没有编 寻求出路

如何降低TCP在局域网环境下的数据传输延迟

以Ping为例。本案例是一个测试题目&#xff0c;只有现象展示&#xff0c;不含解决方案。 ROS_Kinetic_26 使用rosserial_windows实现windows与ROS master发送与接收消息_windows 接收ros1 消息 什么是ping&#xff1f; AI&#xff1a; ping是互联网控制消息协议&#xff08;…

有关bind一些困惑解答

先看如下代码&#xff1a; double my_divide (double x, double y) {return x/y;}class A { public:void fun_3(int k,int m) {std::cout << "print: k "<< k << ", m " << m << std::endl;} }; int main() {A a;//f5的类…

【每日一题Day280】LC141环形链表 | 快慢指针 哈希表

环形链表【LC141】 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的…

【Spring Boot】

目录 &#x1f36a;1 Spring Boot 的创建 &#x1f382;2 简单 Spring Boot 程序 &#x1f370;3 Spring Boot 配置文件 &#x1f36e;3.1 properties 基本语法 &#x1fad6;3.2 yml 配置文件说明 &#x1f36d;3.2.1 yml 基本语法 &#x1f369;3.3 配置文件里的配置类…

如何将ubuntu LTS升级为Pro

LTS支持周期是5年&#xff1b; Pro支持周期是10年。 Ubuntu Pro专业版笔记 步骤&#xff1a; 打开“软件和更新” 可以看到最右侧的标签是Ubuntu Pro。 在没有升级之前&#xff0c;如果使用下面两步&#xff1a; sudo apt updatesudo apt upgrade 出现如下提示&#xff…

torch使用GPU加速

下载cuda 下载torch 下载与python版本适配的GPU版torch 使用GPU加速 将模型&#xff0c;函数&#xff0c;数据都放入GPU中 将模型加入GPU# 自定义模型要继承torch.nn.Module才能使用GPU加速 # 在模型后加cuda函数 model TransE(num_nodes, num_relations, hidden_channel…

【低代码专题方案】iPaaS运维方案,助力企业集成平台智能化高效运维

01 场景背景 随着IT行业的发展和各家企业IT建设的需要&#xff0c;信息系统移动化、社交化、大数据、系统互联、数据打通等需求不断增多&#xff0c;企业集成平台占据各个企业领域&#xff0c;成为各业务系统数据传输的中枢。 集成平台承接的业务系统越多&#xff0c;集成平台…