机器学习 | GBDT与集成学习

待完善

1、偏差与方差

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

假设

泛化误差可分解为偏差、方差与噪声之和。

决策树虽然在设计时也考虑过模型的方差,但不管怎么说也是在生成之后,其泛化误差一直都不是很理想,还是容易过拟合。

2、集成学习

目前,有三种常见的集成学习框架:bagging,boosting和stacking

bagging:从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果:


机器学习 | GBDT与集成学习_第1张图片

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


机器学习 | GBDT与集成学习_第2张图片

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

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

3、boosting

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

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

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

当回归,,称为梯度boosting,

3、GBDT(Gradient Boosting Decision Tree)

  • 我们要构建一个串行的加法集成学习器,使得

其中每一个弱分类器$f_i(x)$的

4、前向分布算法

机器学习 | GBDT与集成学习_第4张图片
机器学习 | GBDT与集成学习_第5张图片
图片.png

5、Adaboost

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

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

算法(Adaboost)

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

机器学习 | GBDT与集成学习_第6张图片
机器学习 | GBDT与集成学习_第7张图片
机器学习 | GBDT与集成学习_第8张图片
机器学习 | GBDT与集成学习_第9张图片

梯度boost算法

机器学习 | GBDT与集成学习_第10张图片
机器学习 | GBDT与集成学习_第11张图片

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

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

[1] Wiki:Gradient_boosting

你可能感兴趣的:(机器学习 | GBDT与集成学习)