线性回归模型-误差分析

简介: 线性回归模型-误差分析

误差分析作用


我们在做机器学习模型的时候,训练完模型后,往往需要对模型进行性能评估,进行选择,数值预测模型的评估,有以下的常用评估指标:


  • 均方误差:是最常见的指标,但是容易受到奇异值的影响
  • 平均绝对误差
  • 方均根差
  • R平方系数
  • 借助图形分析工具

其实这些线性回归的评估指标万变不离其宗都离不开二个核心的数值,偏差与方差,说白就是在评估模型的时候,如果评估指标效果理想,就要想办法降低偏差与方差的数值。


偏差与方差


这里重点解释一下偏差与方差

泛化误差可以分解成偏差的平方加上方差加上噪声。

偏差:度量了学习算法的期望预测和真实结果的偏离程度,刻画了学习算法本身的拟合能力。

方差:度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响,噪声表达了当前任务上任何学习算法所能达到的期望泛化误差下界,刻画了问题本身的难度。

偏差和方差一般称为bias和variance,一般训练程度越强,偏差越小,方差越大,泛化误差一般在中间有一个最小值,如果偏差较大,方差较小,此时一般称为欠拟合,而偏差较小,方差较大称为过拟合。


图形定义

4e462c90883a481b9d62bbffa0f5f653.png


这是一张常见的靶心图。可以想象红色靶心表示为实际值,蓝色点集为预测值。在模型不断地训练迭代过程中,我们能碰到四种情况:


低偏差,低方差:这是训练的理想模型,此时蓝色点集基本落在靶心范围内,且数据离散程度小,基本在靶心范围内;

低偏差,高方差:这是深度学习面临的最大问题,过拟合了。也就是模型太贴合训练数据了,导致其泛化(或通用)能力差,若遇到测试集,则准确度下降的厉害;

高偏差,低方差:这往往是训练的初始阶段;

高偏差,高方差:这是训练最糟糕的情况,准确度差,数据的离散程度也差。


数学上是如何推导出的呢


通常我们在选择偏差与方差作为评估指标的时候,其实就是把模型的误差看成是

1687246200305.png

fa2b293d0d2d452c9627f3ce0f0be8a9.png


出现偏差与方差误差,分别该如何处理呢


低偏差,高方差:

增加训练样本数量,样本多了,噪声比中就减少了

减少特征维数,高维空间密度小

加入正则化项,使得模型更加平滑


高偏差,低方差


  1. 寻找更好的特征,提升对数据的刻画能力
  2. 增加特征数量
  3. 重新选择更加复杂的模型


备注:通过好的模型验证方法,比如通过交叉验证法(可以解决了variance不同训练集学得的函数的差异,bias不同函数的平均值)的问题。

能更准确反映模型的误差,更精确的做误差分析

具体方法有:


  • Holdout检验
  • 交叉验证
  • 自助法

评估指标数值多少合适?


我相信很多做机器学习算法模型的同学,都会疑惑我做好的模型,选择好了评估指标,最终得到的数值,我怎么去衡量这个数值对于模型性能来说是好是坏。


对于像均方误差、平均绝对误差、方均根差这样的评估指标是不能够告诉你,这个模型性能是否好坏的,它们的作用之一,是用来做比较的。也就是说,在优化模型或者更改一下模型参数后,用这些指标,对模型前后的指标数值进行对比。


在线性回归模型中起到决定性评估模型好坏的指标是R平方

具体可以参考这篇文章

决定系数R方是否越大越好?

相关文章
|
机器学习/深度学习
【机器学习】误差分析
【1月更文挑战第23天】【机器学习】误差分析
|
算法
数学建模-------误差来源以及误差分析
数学建模-------误差来源以及误差分析
|
机器学习/深度学习 数据采集 算法
KMeans+DBSCAN密度聚类+层次聚类的使用(附案例实战)
KMeans+DBSCAN密度聚类+层次聚类的使用(附案例实战)
1823 0
|
C语言
C语言中返回指针值的函数
C语言中返回指针值的函数
356 0
|
11月前
|
存储 人工智能 数据库
面向金融场景的大模型 RAG 检索增强解决方案
本方案为您介绍,如何使用人工智能平台 PAI 构建面向金融场景的大模型 RAG 检索增强解决方案。
|
Python
如何查询Python包的所有历史版本
如何查询Python包的所有历史版本
295 5
|
安全 数据挖掘 API
快手小店详情API接口的获取与应用
在数字化时代,电商平台竞争激烈,API接口作为连接不同系统和服务的桥梁,已成为电商生态中不可或缺的一部分。本文详细介绍快手小店详情API接口的获取与应用,帮助开发者和企业提升业务效率和用户体验。涵盖API接口定义、主要应用场景、注册与认证流程、调用方法及实际应用案例,提供最佳实践建议。
500 1
|
机器学习/深度学习 计算机视觉
sklearn 中 learning_curve 函数 的详细使用方法 (机器学习)
sklearn 中 learning_curve 函数 的详细使用方法 (机器学习)
648 0
sklearn 中 learning_curve 函数 的详细使用方法 (机器学习)
|
缓存 前端开发 JavaScript
Webpack 4 和 Webpack 5 区别?
【10月更文挑战第23天】随着时间的推移,Webpack 可能会继续发展和演进,未来的版本可能会带来更多的新特性和改进。保持对技术发展的关注和学习,将有助于我们更好地应对不断变化的前端开发环境。
|
消息中间件 存储 Java
Kafka 详解:全面解析分布式流处理平台
Kafka 详解:全面解析分布式流处理平台
880 0