AdaBoost Decision Tree

我们知道Adaboost是通过对不同样本进行加权的方式来训练出不同的模型。


如果我们选择CART作为我们基函数,如何训练这样带权重的样本的?

  • 计算gini系数的时候乘上权重(必须修改原始的CART)
  • 我们可以将样本的权重归一化为样本的采样概率,重新采样


那么对于每个模型,我们也要做一些相应的限制。


Adaboost 损失函数

Adaboost 的优化目标就是使得所有样本的权重和最小。


优化损失函数

我们可以同样使用梯度下降法来优化损失函数,只是我们现在的对象不是向量而是函数。


现在我们的问题转化为最小化: $\sum_{n=1}^N u_n^{(t)}(-y_nh(x_n))$


更进一步,我们确定每一步的最佳步长:$\eta$


Gradient Boosting

我们前面提到Adaboost使用的是指数损失函数,那么如果我们使用其它的损失函数呢?


Gradient Boosting就是这么干的,对不同的损失函数做了扩展。


GradientBoost for Regression

我们来看下平方损失函数,


梯度下降,


确定 $\eta$,


整体流程:


Ensemble Models

Blending Models


Aggregation-Learning Models


Aggregation of Aggregation Models