bias-variance是分析boosting和bagging的一个重要角度,首先讲解下Bias-Variance Tradeoff.
假设training/test数据集服从相似的分布,即
考虑测试集上的MSE(mean squared error)
上式中 E[ϵ2] E [ ϵ 2 ] 来源于测试集本身的误差,不可控。 第二项是bias term, 主要来源于欠拟合,即评估函数 f^(x) f ^ ( x ) 不能够充分拟合数据真实值(模型capacity弱)。最后一项是与过拟合紧密联系的,即评估函数 f^(x) f ^ ( x ) 过度拟合了训练集数据(训练集自身非全局的特性被学习器学到),导致泛化能力弱,一但数据集扰动,误差就很大。
reference:
[1]. http://scott.fortmann-roe.com/docs/BiasVariance.html
[2]. http://cs229.stanford.edu/section/error-analysis.pdf
Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。
(1)样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
(2)样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。
(3)预测函数:
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
(4)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
(5) Bias-Variance角度:
Bagging: 减少variance
Boosting: 减少Bias
reference:
[1]. https://www.cnblogs.com/liuwu265/p/4690486.html
[2]. http://www.cnblogs.com/guolei/archive/2013/05/21/3091301.html
1. 为什么说bagging是减少variance,而boosting是减少bias?
独立与线性不相关
假设两个随机变量是 X X 和 Y Y , 联合概率密度函数是 f(x,y) f ( x , y ) , X X 的边缘密度函数是 g(x) g ( x ) , Y Y 的边缘密度函数是 h(y) h ( y ) , 他们的期望分别是 E[X] E [ X ] 和 E[Y] E [ Y ] , 方差分别是 Var(X) V a r ( X ) 和 Var(Y) V a r ( Y ) , 协方差是 COV(X,Y)=E[XY]−E[X]E[Y] C O V ( X , Y ) = E [ X Y ] − E [ X ] E [ Y ] 。
两个随机变量相互独立,等价于联合密度函数等于两个边缘密度的乘积,即 f(x,y)=g(x)h(y) f ( x , y ) = g ( x ) h ( y ) 。
两个随机变量线性不相关, 等价于协方差或者Pearson的线性相关系数为0,即 COV(X,Y)=0 C O V ( X , Y ) = 0 。
独立是线性不相关的充分不必要条件。
Variance
给定 N N 个随机变量 {X1,X2,...,XN} { X 1 , X 2 , . . . , X N } , 则
reference:
[1]. https://en.wikipedia.org/wiki/Variance
TO BE CONTINUED.