集成学习:多个弱分类器组合成一个强分类器。
1.Adaboost:通过改变训练样本的权重(初始时权重相同,每次将前一个分类器分类错误的那些样本的权重增加,表现在分类误差率的计算上),反复训练多个弱分类器,最后根据这些弱分类器的分类误差率(权重)将他们线性组合到一起。其中分类误差率越大权重越小。
等价于损失函数为指数损失时的前向分布算法。
优点:
2.Bagging:重复有放回的从训练样本中抽样,抽出n组样本,针对每组样本训练出一个分类器,最后用投票法进行分类。
随机森林(Random Forest):树模型作为基分类器,每次进行特征选择的时候,随机选取特征集合的一个子集来训练树模型,可以用来防止过拟合。
3.boosting tree:思想:拟合上一个分类器的残差。基分类器为cart。
GBRT(GBDT):在loss不是平方损失或者指数损失的时候,残差不好拟合,此时用loss函数的一阶导数近似残差。
缺点:串行、计算复杂度高、不适合高维
XGBoost:还支持线性分类器。在loss函数中加入了惩罚项(包括了叶子结点的个数和每个叶子节点输出得分L2范数的的平方和,控制模型复杂度);近似残差的时候使用了损失函数的Taylor展开的前两项(求出解析解作为gain),也就是说用到了二阶导数的信息(可以自定义loss,只要二阶可导即可)。在对树模型的训练中借鉴了随机森林的思想,支持列抽样,减少计算,降低过拟合;在特征选择的过程中可以并行化计算信息增益处理。
LightGBM:直方图算法,分布式训练方法,速度更快、内存消耗低。