概论
弱分类器可以通过bagging和boosting转换成强分类器。随机森林是bagging的改进,通过有放回的随机采样,获得不同的样本数据,随机得到不同的决策树,各个决策树之间相互独立,通过投票选出最终结果。boosting是所有分类器加权求和预测最终结果,各个分类器相互不独立。
XGBoost推导
首先定义损失函数,常见的有均方误差和绝对值差:
XGBoost中,第i颗决策树依赖前i-1颗决策树加权求和而生成,表示为:。
再思考基本分类器:决策树。决策树的复杂程度可以用叶节点个数和叶节点权重来表示,为防止过拟合,引入惩罚系数γ和λ:
定义最终目标函数,一个常见的目标函数应包括损失函数,和控制模型复杂度的正则项,于是有:
启示
回头看XGBoost和RF的区别,都是以树为基本分类器,都是遍历所有特征,区别在于无论是ID3,C4.5还是CART,都是以基于熵的评分标准选择特征。XGBoost是以基于残差的损失函数做评分标准。bagging能够减少训练方差,对不剪枝的决策树、神经网络等学习算法有良好的集成效果。boosting减少偏差,能够基于泛华较弱的学习器构造强学习器。
(学习笔记,若有错误,欢迎随时指正,也欢迎加Q讨论:2289851798)
参考:
小象学院:邹博《机器学习V》
http://www.52cs.org/?p=429
http://wepon.me/files/gbdt.pdf
http://blog.csdn.net/qq_28031525/article/details/70207918