最近在研究树模型的时候,发现目前这类模型应用范围比较广,优化算法也层出不穷,因此希望通过几篇系列文章,能够加深对树模型的认识。树模型系列文章包括如下内容:
1、决策树的原理及算法
2、集成算法bagging和boosting的区别
3、基于R语言的RandomForest实现方法及案例
4、GBDT和xgboost的区别
5、基于R语言的GBDT实现方法
6、基于R语言的xgboost+LR实现方法及案例
7、树模型相关基本概念详解
本文集中讲述集成算法bagging和boosting的区别。
一、集成算法
从算法原理可知,决策树属于弱分类器,存在精确度不高、结果不稳定等缺点。
而集成算法的思想,就是希望可以将多个弱分类器通过算法集合成为一个强分类器。
集成算法的实现可以分为两种,一种是bagging,另一种是boosting。
二、bagging
1、核心思想:通过对样本/指标进行有放回的随机抽样,生成多个独立的模型,不同模型之间不存在依赖关系,可并行处理;综合不同模型的预测结果,对回归问题取平均值,对分类问题采取投票方法;
2、算法目的:旨在减小方差(Variance),因为同一个算法对来自同一分布的多个不同训练数据进行训练的模型偏差较大,若平均不同训练模型的结果,可以减少方差;
3、代表算法:Random Forest
三、boosting
1、核心思想:基于前面模型的训练误差生成新的模型,模型之间存在强依赖关系,必须按序串行处理;
2、算法目的:旨在减少误差(Bias)
3、代表算法:GBDT、Xgboost