1700539718
百面机器学习:算法工程师带你去面试 04 偏差与方差
1700539719
1700539720
1700539721
1700539722
场景描述
1700539723
1700539724
我们经常用过拟合、欠拟合来定性地描述模型是否很好地解决了特定的问题。从定量的角度来说,可以用模型的偏差(Bias)与方差(Variance)来描述模型的性能。集成学习往往能够“神奇”地提升弱分类器的性能。本节将从偏差和方差的角度去解释这背后的机理。
1700539725
1700539726
什么是模型的偏差和方差,Boosting和Bagging方法与偏差和方差的关系是什么,通过回答这些问题,我们将介绍如何根据偏差和方差这两个指标来指导模型的优化和改进。
1700539727
1700539728
知识点
1700539729
1700539730
偏差,方差,重采样,Boosting,Bagging
1700539731
1700539732
问题1 什么是偏差和方差?
1700539733
1700539734
难度:★★☆☆☆
1700539735
1700539736
分析与解答
1700539737
1700539738
在有监督学习中,模型的泛化误差来源于两个方面——偏差和方差,具体来讲偏差和方差的定义如下:
1700539739
1700539740
偏差指的是由所有采样得到的大小为m的训练数据集训练出的所有模型的输出的平均值和真实模型输出之间的偏差。偏差通常是由于我们对学习算法做了错误的假设所导致的,比如真实模型是某个二次函数,但我们假设模型是一次函数。由偏差带来的误差通常在训练误差上就能体现出来。
1700539741
1700539742
方差指的是由所有采样得到的大小为m的训练数据集训练出的所有模型的输出的方差。方差通常是由于模型的复杂度相对于训练样本数m过高导致的,比如一共有100个训练样本,而我们假设模型是阶数不大于200的多项式函数。由方差带来的误差通常体现在测试误差相对于训练误差的增量上。
1700539743
1700539744
上面的定义很准确,但不够直观,为了更清晰的理解偏差和方差,我们用一个射击的例子来进一步描述这二者的区别和联系。假设一次射击就是一个机器学习模型对一个样本进行预测。射中靶心位置代表预测准确,偏离靶心越远代表预测误差越大。 我们通过n次采样得到n个大小为m的训练样本集合,训练出n个模型,对同一个样本做预测,相当于我们做了n次射击,射击结果如图12.4所示。我们最期望的结果就是左上角的结果,射击结果又准确又集中,说明模型的偏差和方差都很小;右上图虽然射击结果的中心在靶心周围,但分布比较分散,说明模型的偏差较小但方差较大;同理,左下图说明模型方差较小,偏差较大;右下图说明模型方差较大,偏差也较大。
1700539745
1700539746
1700539747
1700539748
1700539749
图12.4 偏差和方差示意图
1700539750
1700539751
问题2 如何从减小方差和偏差的角度解释Boosting和Bagging的原理?
1700539752
1700539753
难度:★★★☆☆
1700539754
1700539755
分析与解答
1700539756
1700539757
简单回答这个问题就是:Bagging能够提高弱分类器性能的原因是降低了方差,Boosting能够提升弱分类器性能的原因是降低了偏差。为什么这么讲呢?
1700539758
1700539759
首先,Bagging 是 Bootstrap Aggregating 的简称,意思就是再抽样,然后在每个样本上训练出来的模型取平均。
1700539760
1700539761
1700539762
1700539763
假设有n个随机变量,方差记为σ2,两两变量之间的相关性为ρ,则n个随机变量的均值的方差为。在随机变量完全独立的情况下,n个随机变量的方差为σ2/n,也就是说方差减小到了原来的1/n。
1700539764
1700539765
再从模型的角度理解这个问题,对n个独立不相关的模型的预测结果取平均,方差是原来单个模型的1/n。这个描述不甚严谨,但原理已经讲得很清楚了。当然,模型之间不可能完全独立。为了追求模型的独立性,诸多Bagging的方法做了不同的改进。比如在随机森林算法中,每次选取节点分裂属性时,会随机抽取一个属性子集,而不是从所有属性中选取最优属性,这就是为了避免弱分类器之间过强的相关性。通过训练集的重采样也能够带来弱分类器之间的一定独立性,从而降低Bagging后模型的方差。
1700539766
[
上一页 ]
[ :1.700539717e+09 ]
[
下一页 ]