集成算法系列之GBM

http://baijiahao.baidu.com/s?id=1570175598042474&wfr=spider&for=pc

一、GBM简介

GBM全称为Gradient Boosting Machine,是Boosting算法的一种。Boosting算法详见《集成算法系列之初识》。GBM主要思想是基于之前建立的基学习器的损失函数的梯度下降方向来建立下一个新的基学习器,目的就是希望通过集成这些基学习器使得模型总体的损失函数不断下降,模型不断改进。

二、GBM算法框架

以下算法框架来自文章《Gradient boosting machines, a tutorial》

简单来说,在GBM中我们是这样整合各个基学习器的:

我们希望模型的损失函数能在梯度方向上下降,现计算当前模型损失函数的梯度方向:

在建立新的基学习器时我们希望能满足以下条件:

三、GBM的Python实现

在Python中有可以使用GradientBoostingClassifier、GradientBoostingRegression等来进行GBM建模。以GradientBoostingClassifier为例,该函数中基学习器为决策树,参数类型大致分为三类,一是决策树相关的参数,比如树的深度、最小叶节点样本数、最大叶节点数等;二是Boosting相关的参数,比如学习步长、基学习器个数、建模样本比例等;三是其他模型参数,比如损失函数定义、随机种子等;

对于如何调参,网上已经有人整理了一套方法,简易思路如下:

step 1: 选择一个相对来说稍微高一点的learning rate,一般默认的值是0.1;

step 2: 基于当前的learning rate,调整决策数数量,即基学习器的数量;

step 3: 基于当前的learning rate和基学习器数量,调整决策树的参数;

step 3.1: 调节max_depth 和 num_samples_split;

step 3.2: 调节min_samples_leaf;

step 3.3:调节max_features;

step 4: 调整子样本比例subsample,再降低learning rate并响应地提高基学习器个数;

具体的详见sklearn的官方文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值