当前位置: 首页 > news >正文

regression里面的误差来源

来源于两个方面:
bias和variance
下图比较直观,bias是和期望值(真实值)之间的偏差,variance是样本与样本均值的的方差

在这里插入图片描述

一般来说,比较简单的modle,它的bias会比较大,也就是说,我们通过数据集反推得到的期望模型(函数),和实际的模型(函数),同样的输出,输出得到的预测值会比较大,而比较复杂的模型,一般bias比较小。这是因为比较小的modle可能都没包含目标真实函数,而大的模型可能包含了真实的目标函数;
在这里插入图片描述

在模型的训练过程中,bias会越来越小,variance会越来越大,如果主要是bias带来的误差,就是欠拟合,如果是variance带来的误差,就是过拟合。所谓过拟合与欠拟合,在机器学习中,过拟合和欠拟合是两个常见问题。欠拟合指的是模型过于简单,无法捕捉数据中的复杂关系,导致偏差较大。而过拟合则是模型过于复杂,对训练数据过度拟合,虽然偏差较小,但泛化能力较差,也就是只适用于当前的这个数据集。因此,在训练过程中,需要找到一个平衡点,使得模型既能够较好地拟合训练数据,又能够保持较好的泛化能力。
在这里插入图片描述

怎么知道我现在的模型是bias大还是variance大呢?如果我现在的模型对我的样本数据集还不能很好地拟合,那就说明bias大,如果是我的训练数据集能很好的拟合,但测试数据集预测出来的值和真实值相差很大,那说明variance大;
如果bias大,需要重新设计模型,因为大概率你的模型都没有包含到真实的函数;
如果variance大,有两种方法:
(1)使用更大的数据集训练;(有效,但不实际)
(2)正则化;

通常我们需要在模型选择时,需要在bias和variance之间做一个折衷选择以达到一个误差最小;
为了避免我们在样本训练集拟合较好,但测试集上比较差,通常我们需要将训练集分两份,交叉验证,一份训练,一份验证,然后交换,选出一个较好模型后再在测试集上验证。注意不要在测试集上效果比较差时又根据测试集上去做些修正哦。
可以对训练集多分几份,分别做验证集;取平均误差最小的模型
在这里插入图片描述

在这里插入图片描述


http://www.mrgr.cn/news/80810.html

相关文章:

  • pytest入门十:配置文件
  • Avalonia实例实战四:使用AutoCompleteBox自动补全框做用户名输入框
  • windows服务器Oracle TNS 远程监听器中毒
  • Oracle创建逻辑目录
  • Map和Set
  • JumpServer开源堡垒机搭建及使用
  • Pytorch | 从零构建AlexNet对CIFAR10进行分类
  • Linux函数栈帧
  • windows上安装Redis
  • 对AI现状和未来发展的浅见
  • 关于代码注释
  • 分布式算法(一):从ACID和BASE到CAP
  • 面试题整理6----什么是进程最大数、最大线程数、进程打开的文件数,怎么调整
  • 百度飞桨:零基础入门深度学习
  • cocos creator制作2dTop-down游戏(虚拟摇杆、地图加载)
  • C# 基本信息介绍
  • python之OpenGL应用(1)入门篇
  • TCP拥塞控制
  • 2024年12月英语六级CET6写作与翻译笔记
  • 实现线程同步的方法
  • WSL Ubuntu
  • 1、数据库概念和mysql表的管理
  • AQS源码学习
  • 实现星星评分系统
  • 【阻塞队列】- 生产者和消费者模式
  • 深度学习0-前置知识