用来评估模型好坏的方差和偏差的区别对比

先说为什么要来区别对比方差和偏差。在特定的模型下,模型误差的期望值可以分解为三个部分:样本噪音、模型预测值的方差、预测值相对真实值的偏差:
误差的期望值 = 噪音的方差 + 模型预测值的方差 + 预测值相对真实值的偏差的平方
具体意义可参看偏差(Bias)和方差(Variance)——机器学习中的模型选择

一、基本概念上的对比解释

1、偏差Bias:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据,对象是单个模型。
2、方差Variance:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散,对象是多个模型

在模型误差方面看,在忽略噪声的情况下,泛化误差可分解为偏差、方差两部分。
偏差:度量学习算法的期望预测与真实结果的偏离程度,也叫拟合能力。
方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动造成的影响。

二、两者的通俗解释对比

在这里插入图片描述

想象你开着一架黑鹰直升机,得到命令攻击地面上一只敌军部队,于是你连打数十梭子,结果有一下几种情况:
1.子弹基本上都打在队伍经过的一棵树上了,连在那棵树旁边等兔子的人都毫发无损,这就是方差小(子弹打得很集中),偏差大(跟目的相距甚远)。
2.子弹打在了树上,石头上,树旁边等兔子的人身上,花花草草也都中弹,但是敌军安然无恙,这就是方差大(子弹到处都是),偏差大(同1)。
3.子弹打死了一部分敌军,但是也打偏了些打到花花草草了,这就是方差大(子弹不集中),偏差小(已经在目标周围了)。
4.子弹一颗没浪费,每一颗都打死一个敌军,跟抗战剧里的八路军一样,这就是方差小(子弹全部都集中在一个位置),偏差小(子弹集中的位置正是它应该射向的位置)。

方差,是形容数据分散程度的,算是“无监督的”,客观的指标,偏差,形容数据跟我们期望的中心差得有多远,算是“有监督的”,有人的知识参与的指标。

三、从模型和数据集上来说两者

偏差描述的是模型倾向同类预测错误的程度,方差描述的是模型在做同类预测时出现的波动程度。这两个度量都与模型的泛化误差相关,两者值越小,对应的泛化误差也就越小。
从模型上来说,对于一个非线性分类问题而言(如XOR),简单的线性分类器(无维度空间映射)由于自身特性并不能较好地进行类别划分,模型会出现较大的偏差;而决策树模型作为非线性分类器,能较好的拟合训练样本,偏差值较小,但若模型过于拟合训练样本,测试样本出现了训练样本考虑不周的情况,则容易出现预测误差,即方差值较高。对于一个模型l而言,我们当然希望泛化误差越小越好,可以通过一些方法来减小上述的偏差和方差。例如,常见的random forest就是通过采样和融合多棵决策树来减小泛化误差的一种方法。
从数据集上来说,如果数据集小的话一般就估计不准偏差就大(数据少可能就会样本相对集中方差反而小),通过增大样本容量可以减小偏差,但是增大容量也许就会导致数据分布比较离散,相对应的方差也会随之增大,然后我们选择模型的时候一般会根据训练数据和目标来权衡方差和偏差,比如用最小化MSE就是结合了方差和偏差。

四、偏差-方差权衡( bias-variance tradeoff):

在一个实际模型中,Bias与Variance往往是不能兼得的。**模型过于简单时,容易发生欠拟合(high bias);模型过于复杂时,又容易发生过拟合(high variance)。**造成这种现象的根本原因是,我们总是希望试图用有限训练样本去估计无限的真实数据。当我们更加相信这些数据的真实性,而忽视对模型的先验知识,就会尽量保证模型在训练样本上的准确度,这样可以减少模型的Bias。但是,这样学习到的模型,很可能会失去一定的泛化能力,从而造成过拟合,降低模型在真实数据上的表现,增加模型的不确定性。相反,如果更加相信我们对于模型的先验知识,在学习模型的过程中对模型增加更多的限制,就可以降低模型的variance,提高模型的稳定性,但也会使模型的Bias增大。
一般这种权衡方法可采用交叉验证和根据相应的实际情况确定,没有完美解决办法。

五、其他

写这篇文章来源于知乎问题“用随机森林的方式能对逻辑回归优化吗?” 而引申出的偏差和方差。
有网友回答:

树的组合(ensemble of trees):树模型的特点,低偏差(bias),高方差(variance),通过
bagging,保持低偏差,降低模型方差,避免过拟合。 LR的组合:线性模型,相对树而言,高偏差,低方差,bagging
的作用其实有限,因为模型本来就很稳定了。
一个比方:一个每个人的观点差别不大的社会,投票做出的决定,一定和单独的个体做出的决定差不多。一个每个人有着千差万别的价值观的社会,投票做出的决定,也许比任何一个单独的人做出的决定更好。
所以,如果要走这条路,就必须保证每个 LR 都描述问题的不同维度,最后再放在一起投票。

理论上行得通 通过随机性(数据样本随机采样、输入属性随机采样)构建多个弱分类器(弱的LR,激活函数为sigmoid),
后面再加一层次级分类器。
相当于一个两层的神经网络,隐含层的输出为多个弱分类器的输出(注意一定是经过sigmoid后的概率输出,作为输入进入次级的分类器)。
因为引入了非线性的激活函数,模型比之前的LR(单层的神经网络)能力要强大一些。

实践意义不大
1、xgboost本身已经把boosting和rf的思想都考虑进去,增强模型复杂度(vc维大),同时通过多个参数避免overfitting
2、neurual network也类似 3、结论:你的这种想法,没有必要搞。即使搞,也搞不过xgb和neurual network.

需要注意的是:不管树模型还是线性模型都不一定就是强模型(低偏差高方差),或者弱模型(高偏差低方差)。一般看具体模型复杂度,如浅层的决策树也是弱模型。

六、参考资料

https://www.zhihu.com/question/57237795/answer/1191126455
https://www.zhihu.com/question/20448464
https://blog.csdn.net/CoderPai/article/details/80494230
https://blog.csdn.net/qq_30490125/article/details/52401773
http://scott.fortmann-roe.com/docs/BiasVariance.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值