白话系列之 bias and variance

本文解释了机器学习中Bias和Variance的概念及其对模型的影响。Bias是指模型预测期望值与真实值之间的差距,而Variance衡量不同模型预测结果间的差异。文章还介绍了如何通过调整模型复杂度和增加训练数据来解决高Bias和高Variance问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器学习中的bias和variance简单理解

bias 和variance的概念理解

  • 一点点背景

    在常见的机器学习问题中,我们往往希望根据已有的数据,使用机器学习的模型和算法去学习已知数据的信息;我们的最终目标是希望我们可以学习到原始数据的真实分布,真实模型,因为只有这样我们才可以使用学习到模型去做我们想做的事,比如预测,判别等等。既然要学习到数据的真实分布,又不得不提机器学习中一个很重要的问题:泛化问题。也就是训练好的模型在新的数据上适应能力。也就是我们希望我们训练得到的模型符合训练数据的底层真实分布,这样对于训练数据之外的测试数据(也来自于训练数据的底层分布,但不在测试数据中)训练得到的模型也可以很好的拟合,这样的模型也就有着很好的泛化能力。

  • 机器学习算法的bias指的是模型对目标数据的估计的期望值与目标数据真实值之间的距离

    听起来有些怪怪的,即便已经是大白话了;我们可以这样想:假设我们可以在多组数据(这些数据都来自于训练集,属于同一个数据分布)上训练出多个数据模型,这样的话,对于我们要预测的目标值,就可以有多个预测估计值,那么bias指的就是这些预测值到目标真实值之间的距离(通常可以理解为距离的均值),很明显就是预测的偏见。

  • 机器学习算法的variance指的是模型对目标数据的估计值之间的相对距离

    不知道措辞是否有问题简单的说就是,多个模型(针对训练数据训练出的多个模型)的预测结果之间距离。当然如果模型本身是很健壮的,那么可能训练出的模型没有很大的偏差,那么相应的variance就很小了。

关于机器学习算法bias和variance的low or high

high bias: 通常意味着模型的capability小了些,可以通过增加模型的复杂度来调整
high variance : 通常意味着模型的复杂度高了些,可以试着增加训练数据来调整。

  • 如何理解和处理模型的high bias呢?

    懒得上图了,我们可以想象多项式拟合问题:如果我们需要拟合的数据来自于一条sin曲线,然而使用的是线性模型去拟合,在这种情况下,必然的结果是high bias,偏差必定很大,增加训练数据也不会有任何帮助!我们能怎么做呢?提升模型的capability,或者增加数据的特征比如使用三次多项式去拟合!提升模型的capability自不用说,可以考虑使用非线性模型诸如多层感知机等;或者增加数据的特征:也就是将数据转化为多项式特征(1,x,x^2,x^3),依然可以使用线性模型去拟合!

  • 如何理解和处理模型的high variance呢?

    high variance,假设low bias,否则的话使用上面的方法处理一下;如果low bias,但是variance较大,说明模型的能力capability没啥问题。但是可能能力太强了!为啥呢?因为模型的预测结果可以围绕在目标真实值周围,参考多项式拟合问题,如果给定的训练数据不同,那么因为模型的表达能力太强,则可能拟合出各种形状,但是都确保了训练集的正确拟合!对于新的数据模型的预测曲线也可以在真实值周围晃动!对于这种情况,可以考虑增加训练数据,使得模型可以学习到底层数据的真实分布(如果底层数据真有模型那么复杂的话),通常来说会有不错的效果;但是如果不成!也就是模型发生了过拟合!那就得寻思着别的法子啦!比如正则化方法,early stopping,dropout等等!(这里就不详细去说了啦)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值