前言:前一篇文章对boosting的两个方法做了阐述,这篇文章将会是对前两篇文章的深化,谈的是一个更加优化了的boostIng算法,自从2014年9月份在
Kaggle 的希格斯玻色子机器学习大赛中夺魁以来,XGBoost 与深度学习两个算法垄断了 Kaggle 大赛的大部分冠军。现在Kaggle
大赛的情况基本是这样的,凡是非结构化数据相关,比如语音、图像,基本都是深度学习获胜,凡是结构化数据上的竞赛,基本都是 XGBoost 获胜。
1、回顾下GB、GBDT
GBDT和xgboost在竞赛和工业界使用都非常频繁,能有效的应用到分类、回归、排序问题,因此这里尝试一步一步梳理GB、GBDT、xgboost,它们之间有非常紧密的联系,GBDT是以决策树(CART)为基学习器的GB算法,xgboost扩展和改进了GDBT,xgboost算法更快,准确率也相对高一些。
1.1、Gradient boosting(GB)
机器学习中的学习算法的目标是为了优化或者说最小化loss Function, Gradient
boosting的思想是迭代生多个(M个)弱的模型,然后将每个弱模型的预测结果相加,后面的模型基于前面学习模型的