随机森林&GBDT算法以及在MLlib中的实现

决策树的一个缺点是容易出现过拟合,可以把利用融合的方式把各个弱模型集成起来,解决过拟合,提高模型的泛化能力。决策树和bagging 、boosting的思想结合在一起,诸如随机森林、GBDT,在数据挖掘中的预测分类、推荐广告以及搜索中的排序算法模型、搜索关键词的扩展推荐等等应用的非常广泛。先讲一下bagging和boosting方式的区别。Bagging的方式算是比较简单的,训练多个模型,利用每个
摘要由CSDN通过智能技术生成

决策树的一个缺点是容易出现过拟合,可以把利用融合的方式把各个弱模型集成起来,解决过拟合,提高模型的泛化能力。决策树和bagging 、boosting的思想结合在一起,诸如随机森林、GBDT,在数据挖掘中的预测分类、推荐广告以及搜索中的排序算法模型、搜索关键词的扩展推荐等等应用的非常广泛。

先讲一下bagging和boosting方式的区别。

Bagging的方式算是比较简单的,训练多个模型,利用每个模型进行投票,每个模型的权重都一样,对于分类问题,取总票数最多作为分类,对于回归,取平均值。利用多个弱分类器,集成一个性能高的分类器。典型代表是随机森林。随机森林在训练每个模型的时,增加随机的因素,对特征和样本进行随机抽样,然后把各颗树训练的结果集成融合起来。随机森林可以进行并行训练多颗树。

Boosting的方式也是训练多个决策树模型,是一种迭代的算法模型,在训练过程中更加关注错分的样本,对于越是容易错分的样本,后续的模型训练约要花更多精力去关注,提高上一次分错的数据权重,越在意那些分错的数据。在集成融合时,每次训练的模型权重也会不一样,最终通过加权的方式融合成最终的模型。Adaboost、GBDT采用的都是boosting的思想。

用一张图来看一下Adaboost方法。


训练过程如下:

1、             初始时,样本的训练权重都是一样,通过一个弱分类器,得到这些样本的分类预测标签。与给出的样本真实标签对比,就可能出现误差(即错误)。如果某个样本预测错误,则它对应的错误值为该样本的权重,如果分类正确,则错误值为0. 最后累加5个样本的错误率之和,记为ε。

2、             通过ε来计算该弱分类器的权重α,公式如下:


3、             通过α来计算训练下一个弱分类器样本的权重D,如果对应样本分类正确,则减小该样本的权重,公式为:


如果样本分类错误,则增加该样本的权重,公式为:


4、             循环步骤1,2,3来继续训练多个分类器,只是其D值不同而已。

预测过程:

输入一个样本到训练好的每个弱分类中,则每个弱分类都对应一个输出标签,然后该标签乘以对应的α,最后求和得到值的符号即为预测标签值。

     还有一种常用的boosting是Gradient Boosting,GBDT,它主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向。损失函数(loss function)描述的是模型的不靠谱程度,损失函数越大,则说明模型越容易出错(其实这里有一个方差、偏差均衡的问题,但是这里就假设损失函数越大,模型越容易出错)。如果我们的模型能够让损失函数持续的下降,则说明我们的模型在不停的改进,而最好的方式就是让损失函数在其梯度(Gradient)的方向上下降。算法的每一步沿着损失函数下降最快的方向建立新的模型,这样使得算法在每一步均沿着下降最快的方向收敛。直到满足要求,建立满足要求的若干组合加权子模型GradientBoosting,定义loss function

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值