【深度学习】通俗理解偏差(Bias)与方差(Variance)

在统计学习中,我们通常使用方差与偏差来衡量一个模型

1. 方差与偏差的概念

偏差(Bais): 预测值和真实值之间的误差
方差(Variance): 预测值之间的离散程度

低偏差低方差、高偏差低方差:

图中每个点表示同一个模型每次采样出不同样本训练出来的结果,我们期望的是低偏差低方差

低偏差高方差、高偏差高方差:

2. 模型泛化误差

假设我们有样本数据 D = { ( x 1 , y 1 ) , . . . , ( x n , y n ) } D=\{(x_1,y_1),...,(x_n,y_n)\} D={(x1,y1),...,(xn,yn)} ,其中真实值 y = f ( x ) + ϵ y = f(x) + \epsilon y=f(x)+ϵ

在使用模型算法评价时,通常使用预测值 y ^ \hat y y^ 和真实值 y y y 的距离,最常用的函数就是距离的平方,均方误差如下公式:

如下图所示(横轴表示模型复杂度,纵轴表示误差)我们希望在中间位置找到一个合适的模型复杂度,使得泛化误差尽可能的小。模型过于简单会导致欠拟合,模型过于复杂会导致过拟合。

泛化误差 = 偏差 + 方差 + 数据噪声 泛化误差 = 偏差 + 方差 + 数据噪声 泛化误差=偏差+方差+数据噪声

  • 如果模型选择过于简单,会有很多特征学习不到,此时预测值与真实的误差就会很大,即偏差很大
  • 随着模型的复杂度提升,模型学到特征也会越多,此时偏差会逐渐降低
  • 当模型变得更复杂,模型此时可能会学习到一些数据噪声,此时方差变大

3. 降低方差、偏差、数据噪音

减少偏差:

  • 使用较为复杂模型
  • 集成学习算法 Boosting、Stacking

减少方差:

  • 使用一个较为简单的模型
  • 使用L1、L2等正则化技术
  • 集成学习算法 Bagging、Stacking

减少数据噪音:

  • 来自于数据采集误差,需要更精确的数据采集

本文参考:

https://blog.csdn.net/weixin_42327752/article/details/121428875

相关推荐
迦蓝叶1 分钟前
Javaluator 与 Spring AI 深度集成:构建智能表达式计算工具
人工智能·spring·ai·语言模型·tools·spring ai·mcp
爱学习的张大1 分钟前
transform基础练习(从细节里面理解)
人工智能·pytorch·深度学习
木土雨成小小测试员4 分钟前
Python测试开发之后端一
开发语言·数据库·人工智能·python·django·sqlite
轴测君4 分钟前
卷积神经网络的开端:LeNet−5
人工智能·神经网络·cnn
老周聊架构5 分钟前
构建AI观察者:生成式语义工作区(GSW)深度解析与技术全瞻
人工智能
源代码•宸9 分钟前
Golang原理剖析(彻底理解Go语言栈内存/堆内存、Go内存管理)
经验分享·后端·算法·面试·golang·span·mheap
叫我:松哥10 分钟前
spark+flask的新能源车数据分析与智能推荐系统,融合大数据分析、机器学习和人工智能技术
人工智能·机器学习·信息可视化·数据分析·spark·flask·bootstrap
黎子越12 分钟前
python循环相关联系
开发语言·python·算法
myloveasuka12 分钟前
汉明编码的最小距离、汉明距离
服务器·数据库·笔记·算法·计算机组成原理
沛沛rh4512 分钟前
Rust浮点数完全指南:从基础到实战避坑
深度学习·算法·计算机视觉·rust