待完善
1、偏差与方差
我们对学习算法的期望泛化错误率进行拆解,以回归任务为例。
假设
泛化误差可分解为偏差、方差与噪声之和。
决策树虽然在设计时也考虑过模型的方差,但不管怎么说也是在生成之后,其泛化误差一直都不是很理想,还是容易过拟合。
2、集成学习
目前,有三种常见的集成学习框架:bagging,boosting和stacking
bagging:从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果:
boosting:训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),基模型的训练集按照某种策略每次都进行一定的转化。对所有基模型预测的结果进行线性综合产生最终的预测结果:
stacking:将训练好的所有基模型对训练基进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练。同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预测:
有了这些基本概念之后,直觉将告诉我们,由于不再是单一的模型进行预测,所以模型有了“集思广益”的能力,也就不容易产生过拟合现象。
3、boosting
boosting是一个加法模型,这些基模型之间是串行的。
先从一般的前向分步算法讲起
当什么什么的时候就是adaboost算法
当回归,,称为梯度boosting,
3、GBDT(Gradient Boosting Decision Tree)
- 我们要构建一个串行的加法集成学习器,使得
其中每一个弱分类器$f_i(x)$的
4、前向分布算法
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)$$