机器学习技法第十一课笔记
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$,
整体流程: