机器学习-集成学习GBDT

[TOC]

前言

    GBDT(Gradient Boosting Decision Trees)是一种基于决策树的集成学习算法,它通过逐步地训练多个决策树模型来提高预测性能。具体来说,GBDT采用加法模型(additive model)的思想,每次训练一个新的决策树来拟合残差(预测误差),然后将所有决策树的预测结果相加作为最终的预测值。

一、原理

    具体来说,GBDT算法采用加法模型的思想,即将每个模型的预测结果相加来得到最终的预测结果。在每一轮迭代中,GBDT算法会根据当前模型的预测结果计算出残差,然后使用残差作为目标变量重新训练一个决策树。多轮迭代之后,所有的决策树的预测结果相加就可以得到最终的预测结果。

具体实现流程:

  1. 初始化模型:将所有样本的真实值作为初始预测值。

  2. 对于每一轮迭代:

    a. 计算当前模型的预测值。

    b. 计算当前模型的残差。

    c. 根据残差训练一个新的决策树模型。

    d. 计算新模型的预测结果,并将其与之前所有模型的预测结果相加得到最终的预测结果。

  3. 返回最终的预测结果。

二、优缺点

  • 优点:
  1. 高准确性:GBDT能够得到非常高的准确性,在许多机器学习问题中表现良好。

  2. 鲁棒性:GBDT对于输入数据的异常值和噪声具有很强的鲁棒

  3. 处理缺失值和高维特征:GBDT算法能够很好地处理缺失值和高维特征,这是由于决策树可以根据特征的取值将样本分成不同的子集,从而避免了对缺失值的处理。

  4. 解释性:GBDT算法生成的决策树具有很好的可解释性,可以帮助我们理解模型的决策过程。

  • 缺点:
  1. 计算时间长:GBDT需要训练多个决策树模型,并且每一轮迭代都需要计算梯度和Hessian矩阵,因此训练时间较长。
  2. 容易过拟合:GBDT容易过拟合,特别是在训练集的噪声较大或者数据量较小的情况下,需要进行一些正则化处理。

三、实际应用

  1. 排序:学习排序模型,比如搜索引擎中的网页排序、广告推荐系统中的广告排序等。
  2. 回归:回归问题,比如房价预测、股票价格预测等。
  3. 分类:分类问题,比如垃圾邮件分类、用户行为分析等。
  4. 推荐系统:用于推荐系统,比如基于用户历史行为数据和商品属性数据来预测用户对商品的偏好程度。

四、常见的GBDT 变体

  1. XGBoost:eXtreme Gradient Boosting(XGBoost)是GBDT算法的一种扩展,它在原始GBDT算法的基础上添加了正则化项和自定义损失函数,提高了模型的泛化性能和精度,特别适用于处理大规模数据集和高维特征。
  2. LightGBM:LightGBM是一种基于决策树的梯度提升框架,它采用基于直方图的决策树算法和多线程并行计算,具有更快的训练速度和更低的内存占用,特别适用于大规模数据集。
  3. CatBoost:CatBoost是一种基于决策树的梯度提升框架,它采用对称二叉树结构和分类变量特征处理技术,能够自适应地学习特征交互关系,提高模型的准确性和泛化性能,特别适用于处理具有大量分类特征的数据集

五、代码

使用 python 和 Scikit-learn库

from sklearn.ensemble import GradientBoostingClassifier

# 创建GBDT分类器模型
gbdt = GradientBoostingClassifier(loss='deviance', learning_rate=0.1, n_estimators=100, max_depth=3)

# 训练模型
gbdt.fit(X_train, y_train)

# 使用模型进行预测
y_pred = gbdt.predict(X_test)

# 评估模型性能
accuracy = gbdt.score(X_test, y_test)

注意:在实际应用中,我们需要对数据进行预处理、特征工程等步骤,并使用交叉验证等技术来评估模型性能,我们也可以使用其他GBDT库或自己实现GBDT算法,以满足不同的应用需求。

六、总结

GBDT算法虽然能够自适应地学习特征交互关系,但它仍然需要依赖人工选择或构造特征。在实际应用中,我们需要结合特征工程技术来提取更有用的特征,从而进一步提高模型的性能。后续文章我也会写到这几种变体。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352