AdaBoost/提升树/GBDT

AdaBoost

在每一轮构成新的弱分类器过程中,提高那些前一轮弱分类器分类错的样本的权值,降低那些分类正确的样本的权值,这样通过使错误分类的的样本的权值增大,使其受到分类器更多大的关注,从而逐渐使每个样本都最大化的被正确分类。

输入:训练数据集,弱学习器算法                

输出:最终分类器

对于包含n个样本的训练数据集T,标签取值为

  1. 初始化n个样本的权值,每个权重都初始化为1/n
  2. for m=1 to M:

           a,使用具有权值的训练样本集训练弱分类器:

           b,计算在训练样本上的分类误差率:

           c,计算弱分类器的系数

随着误差率的上升,分类器系数减少,误差率越低,分类器所得的系数越大。当误差率为0.5时,这个分类器实际上可以看成时随机分类器,不对最终分类器起任何作用,而当误差率甚至小于0.5时,那么这个分类器可以看成是最终分类器的一个惩罚。

           d,用分类器系数来更新训练数据集的样本权值:

             分类正确的情况下是一个小于1的值,所以正确分类的样本权重本缩小了,而分类错误的会被放大,为归一化参数。

      3.构建基本分类器的线性组合作为最终分类器:

 提升树

以决策树为弱分类器的提升方法称为提升树(Boosting Tree)

对于二分类问题:把AdaBoost中的分类器换成二分类树就是二分类提升树

对于回归问题:只需要简单拟合之前模型的残差即可,其当前模型的损失函数可以推导出对训练集的平方误差等于对之前样本残差值的的平方误差:

输入:训练数据集,回归树算法

输出:提升树

  1. 初始化
  2. For i=1,2,..,M:

         a,计算之前模型的残差:

         b,把残差做为新的样本值,用新的回归树进行学习,得到

         c,得到更新的提升树 ,并验证平方损失误差是否达到阈值,若是,break,若不是,继续拟合残差,直到满足误差限或者最大迭代次数

GBDT

利用损失函数的负梯度在之前模型的值作为回归提升树中残差的近似值,来拟合一个回归树,对于平方损失函数来说,负梯度值就是残差,对于其他一般损失函数,是残差的近似值。

输入:训练数据集,回归树算法,损失函数

输出:回归树

  1. 初始化:先得到一个初步的回归树
  2. For i=1,…,M:

         a,计算损失函数对之前模型的负梯度:

         b,对拟合一个新的回归树

         c,更新最终的回归树:

         d,检测是否已经达到误差限,若到达break,没有继续

参考《统计学习方法》李航

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值