集成学习之Boosting —— AdaBoost实现

  • 时间:
  • 浏览:0
  • 来源:uu快3骗局_uu快3心得_开奖

Margin理论还不还能否解释这些问题报告 ,认为随着训练轮数的增加,即使训练误差机会至零,对于训练样本预测的margin依然会扩大,这等于会不断提升预测的信心。但过去十几年来学术界总爱对该理论占据 争议,具体可参阅AdaBoost伟大的伟大的发明的论文 [Schapire, Explaining AdaBoost]。

输入: 训练数据集 \(T = \left \{(x_1,y_1), (x_2,y_2), \cdots (x_N,y_N)\right \}\)\(y\in\left\{-1,+1 \right\}\),基学习器\(G_m(x)\),训练轮数M

这里总共只选则了300000个数据 (230000训练集 + 230000测试集),机会learning curve的绘制通常都要拟合N个模型 (N为训练样本数),计算量太满 。从上图来看Discrete AdaBoost是欠拟合,而Real AdaBoost比较像是过拟合,机会进一步增加数据,Real AdaBoost的测试误差率机会会进一步下降。

Learning Curve是另一种评估模型的妙招 ,反映随着训练集的增大,训练误差和测试误差的变化情况表。通常机会两条曲线比较接近且误差都较大,为欠拟合;机会训练集误差率低,测试集误差率高,二者的曲线会占据 较大距离,则为过拟合。

/

AdaBoost有有有另另一个吸引人的价值形式,那只是我其“太满过拟合”,机会更准确的说法是在训练误差下降到零时候继续训练依然能提高泛化性能。如下图所示,训练300000棵树,Real AdaBoost的训练误差早早下降为零,而测试误差几乎平稳不变。否则还不还能否看一遍 Real AdaBoost 对比 Discrete AdaBoost 无论是训练时延还是准确率都更胜一筹。

\[G_m(x) = \mathop{\arg\min}\limits_{G(x)}\sum\limits_{i=1}^Nw_i^{(m)}\mathbb{I}(y_i \neq G(x_i))\] (b) 计算\(G_m(x)\)在训练集上的误差率:

下两张图显示使用weight_trimming的情况表下准确率与正常AdaBoost相差无几 (除了0.95的情况表)。

下面来看AdaBoost在中间数据集中的learning curve: