常见的模型组合方法有:简单平均(Averaging),投票(voting),Bagging(randomforest),boosting(GBDT),stacking,blending等,在实际业务中,单一模型很难满足需求,组合模型才能达到业务的精度要求。本文主要详细讲述三种具有代表性的boosting算法:Adaboost,GBDT,XGBoost.
1.Adaboost原理:利用前一轮迭代弱分类器的误差率来更新训练集的权重
训练过程:
1)首先赋予每个样本相同的权重,假如样本数为N,则每一个样本权重是1/N,用一组向量表示如下:
U(1)表示第一轮训练
2)假如经过T轮训练(每一轮训练产生一个弱分类器),对于第i轮训练来说,每一轮训练的目标函数是如下:
N表示样本总数,T表示第T轮训练,
其推导过程如下:
表示经过T轮训练后产生的T个弱分类器的加权结果,
表示每一轮训练的弱分类器的权重,表示第t轮的分类错误率。
3)最优步长的求法:假设找到一个函数,在这个函数上走的长度,
2GBDT原理:
两者目标函数的差别:
3.XGBoost: