机器学习 | GBDT与集成学习

2017-09-27  本文已影响85人  JSong1122

待完善

1、偏差与方差

我们对学习算法的期望泛化错误率进行拆解,以回归任务为例。

假设


  boosting:训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),基模型的训练集按照某种策略每次都进行一定的转化。对所有基模型预测的结果进行线性综合产生最终的预测结果:



  stacking:将训练好的所有基模型对训练基进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练。同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预测:

  有了这些基本概念之后,直觉将告诉我们,由于不再是单一的模型进行预测,所以模型有了“集思广益”的能力,也就不容易产生过拟合现象。

3、boosting

boosting是一个加法模型,这些基模型之间是串行的。

先从一般的前向分步算法讲起

当什么什么的时候就是adaboost算法

当回归,,称为梯度boosting,

3、GBDT(Gradient Boosting Decision Tree)

图片.png

5、Adaboost

假设给定一个二分类的训练数据集X和y,其中y取值-1和+1.

Adaboost 算法是特殊的前向分布算法,这是模型由基本分类器组成,损失函数为指数函数 exp(-yf(x))

算法(Adaboost)

(1) 初始化训练数据的权值分布

梯度boost算法

同样是前向分布算法,我们暂时限定模型的目的为回归,且损失函数采用测度类型,即$\sum||y-f(x)||_{?}$,同时去除前向分布算法中每一个基模型前的系数$\alpha$。在这些准备工作后,我们再看每一步的迭代过程

$$\arg\min_{f}\sum\mathcal{L}(y_i)$$

[1] Wiki:Gradient_boosting

上一篇 下一篇

猜你喜欢

热点阅读