理解Bias(偏差),Error(误差),和Variance(方差)的区别和联系?

内容导读

最近听机器学习课程时听到这三个概念一开始有点模糊。感觉没理解透,所以自己又查了点资料,消化了一下,然后做了个笔记。Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,其实Bias在股票上也有应用,也可以反映股价在波动过程中与移动平均线偏离程度(乖离率),炒股的朋友应该知道均线的概念。其实通过这个我感觉可以更容易的理解这个概念,我们知道Bias是受算法模型的复杂度决定的,假设下图的红线是我们给出的模型,蓝色的点就是样本,这是一个最简单的线性模型,这个时候Bias就可以通过这些蓝色的点到红线沿Y轴的垂直距离来反映(即真实值与模型输出的误差),距离越大说明Bias越大,也说明拟合度更低。在概率论和统计学中方差是衡量随机变量或一组数据时离散程度的度量。以上就是我对Bias(偏差),Error(误差),和Variance(方差)的一些简单理解,图全是截取自李宏毅的PPT中。

最近听机器学习课程时听到这三个概念一开始有点模糊。感觉没理解透,所以自己又查了点资料,消化了一下,然后做了个笔记。

首先三者之间的联系是 Error = Bias + Variance(这里应该是忽略的噪音)。Error反映的是整个模型的准确度,说白了就是你给出的模型,input一个变量,和理想的output之间吻合程度,吻合度高就是Error低。Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,其实Bias在股票上也有应用,也可以反映股价在波动过程中与移动平均线偏离程度(乖离率),炒股的朋友应该知道均线的概念。其实通过这个我感觉可以更容易的理解这个概念,我们知道Bias是受算法模型的复杂度决定的,假设下图的红线是我们给出的模型,蓝色的点就是样本,这是一个最简单的线性模型,这个时候Bias就可以通过这些蓝色的点到红线沿Y轴的垂直距离来反映(即真实值与模型输出的误差),距离越大说明Bias越大,也说明拟合度更低。

 

当我们增加模型的复杂度,刚刚是一个线性的模型,现在是一个四次方的模型,可以明显看出点到模型的沿Y轴的垂直距离更少了,即拟合度更高了,所以Bias也更低了。所以这样我们就可以很容易理解Bias和模型复杂度之间的关系了。给出结论:当模型复杂度上升时,Bias减小。当模型复杂度降低时,Bias增加。这里就涉及到了欠拟合(unfitting)和过度拟合(overFitting)的问题了。好了,接下来让我们看看Variance(方差)的定义。

 

Variance(方差)反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。在概率论和统计学中方差是衡量随机变量或一组数据时离散程度的度量。下图中红线就是每一组样本对应的模型,想象一下真实数据有无限多,我们以10个样本为一组,选取了500个样本组,然后在线性模型下,针对这500个样本组,我们会有500组不同的b和w值组成的线性模型,最后构成左图的样子。当我们的模型升级成5次方的复杂程度时,针对这500个样本组,我们会有右边这张图显示的500组不同的参数构成的模型。可以看出,明显右边的图比左边的图更离散一些,试想一个极端情况,当模型就是一个常数时,这个时候模型复杂度最低,同时Variance也为0。所以我们可以得出结论:当模型复杂度低时,Variance更低,当模型复杂度高时,Variance更高。

 

到这里我们可以给出两个结论。

一、Bias和模型复杂度的关系:当模型复杂度上升时,Bias减小。当模型复杂度降低时,Bias增加。(反比关系)

二、Variance和模型复杂度的关系:当模型复杂度低时,Variance更低,当模型复杂度高时,Variance更高。(正比关系)

一开始我们就知道Error = Bias + Variance。整个模型的准确度和这两个都有关系,所以这下看似是有些矛盾的。如何才能取到最小的Error呢,看下图,蓝线就是Error的伴随Bias和Variance的变化情况,可以看出横坐标3应该是一个较好的结果。所以我们需要找到一个平衡点取得最优解。

 

实际情景中我们怎么判断自己的模型是Bias大还是Variance大呢,这个就要看到底是你的模型无法尽量大的拟合你的样本还是你的模型高度拟合你的样本但是用测试数据算时误差右很大。前者就是应该bias大导致的,也就是模型复杂度太低导致的。后者就是因为模型复杂度高导致Variance高导致的。

以上就是我对Bias(偏差),Error(误差),和Variance(方差)的一些简单理解,图全是截取自李宏毅的PPT中。

转载于:https://www.cnblogs.com/andy-0212/p/10117984.html

Bias Variance Dilemma,即偏差方差困境,是机器学习的一个重要概念。在训练模型时,我们希望模型能够很好地拟合训练数据,同时也要具有很好的泛化能力,即能够对未见过的数据进行准确的预测。但是,在实际应用,模型可能会出现两种问题,即偏差方差偏差指的是模型对训练数据的拟合程度不够好,无法很好地捕捉数据的关系。而方差则指的是模型过度拟合了训练数据,导致对未见过的数据的预测准确度下降。 为了更好地理解偏差方差,我们可以将测试误差分解为偏差方差之和的形式: $Error(x) = Bias^2(x) + Variance(x) + \epsilon$ 其,$Error(x)$ 表示在输入为 $x$ 时的测试误差,$Bias(x)$ 表示模型预测结果与真实结果之间的偏差,$Variance(x)$ 表示模型预测结果的方差,$\epsilon$ 表示噪声的影响。 推导过程如下: 首先,我们有一个真实的数据分布 $y=f(x)+\epsilon$,其 $f(x)$ 表示真实的关系,$\epsilon$ 表示噪声。 假设我们使用一个模型 $h(x)$ 来拟合真实的数据分布,那么预测结果为 $\hat{y}=h(x)$。 预测结果与真实结果之间的误差为: $Err(x) = \hat{y} - y = h(x) - f(x) - \epsilon$ 对上式进行求平方,并对误差取期望,得到: $E[(Err(x))^2] = E[(h(x)-f(x)-\epsilon)^2]$ 将上式展开,得到: $E[(Err(x))^2] = E[h(x)^2] + E[f(x)^2] + E[\epsilon^2] - 2E[h(x)f(x)] - 2E[h(x)\epsilon] + 2E[f(x)\epsilon]$ 根据方差和协方差的定义,可以将上式进一步拆分为: $E[(Err(x))^2] = [E[h(x)] - f(x)]^2 + E[h(x)^2] - [E[h(x)] - f(x)]^2 + E[\epsilon^2]$ $+ 2[E[h(x)f(x)] - E[h(x)]f(x)] - 2[E[h(x)\epsilon] - E[h(x)]E[\epsilon]] + 2[E[f(x)\epsilon] - f(x)E[\epsilon]]$ 整理后,得到: $E[(Err(x))^2] = Bias^2[x] + Variance[x] + \epsilon$ 其,$Bias[x] = E[h(x)] - f(x)$ 表示偏差,$Variance[x] = E[h(x)^2] - E[h(x)]^2$ 表示方差,$\epsilon$ 表示噪声。 从上式可以看出,测试误差可以分解为偏差方差和噪声三部分。偏差方差之间存在一种权衡关系,即减小偏差会增加方差,减小方差会增加偏差。因此,我们需要在偏差方差之间寻求一个平衡,以获得更好的泛化能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值