目录
集成学习
集成学习的核心思想是使用弱学习器(线性模型,决策树等)进行加权求和,从而产生性能较为强大的强学习器。RF,GBDT,XGB 与 LGBM都属于集成学习,首先对集成学习做一个初步的介绍。集成学习(Ensemble Learning)的目的是通过结合多个基本学习器的预测结果来改善基本学习器的泛化能力和鲁棒性。根据基本学习器的生成方式,可将集成学习方法分为以下两类:序列化方法与并行化方法。
序列化方法 & 并行化方法
基本学习器之间存在强依赖关系,必须串行生成的方法,典型代表有Boosting;基本学习器之间不存在强依赖关系,可同时生成的并行化方法,典型代表有Bagging与Random Forest。
Bagging(Bootstrap Aggregating)简单理解为:Bootstrap - 对训练集有放回的抽样。每次抽样的训练集训练得到一个模型。Aggregating - 对分类问题,则将所有模型结果使用投票的形式得到最终结果;对回归问题,计算所有模型结果均值后得到最终结果。Bagging是对强分类器求平均的方法,每个单独的分类器bias都是低的,平均后bias依然很低,但是由于每个单独分类器可能产生overfitting,所以Bagging能起到降低variance的作用。
Boosting是与bagging类似的技术,重点在于通过关注被已有分类器错分的那些数据来获得新的分类器,前后学习器之间存在强依赖性,是序列化的方法。Boosting的多个分类器的权重并不相同,每个权重代表对应的分类器在上一轮迭代中的成功度。换句话说,boosting并不是在拟合目标值,而是在拟合上一次模型拟合后产生的residual。boosting是把许多弱分类器组合成一个强分类器的方法,也因此,Boosting可以起到降低bias的作用。
以下对Bagging与Boosting进行比较:
1. 样本选择:
Bagging:训练集有放回的抽样,训练集之间互相独立
Boosting:每一轮训练集不变,训练集每个样例在分类器中的权重发生变化(基于上一轮分类器的正确情况进行调整)
2. 样例权重:
Bagging:样例权重相等
Boosting:根据错误率调整样例权重,错误率越大,权重越大
3. 预测函数(基本学习器):
Bagging:预测函数权重相等
Boosting:弱分类器有相应权重,分类误差小的分类器权重更大
4. 并行计算:
Bagging:可并行
Boosting:因为后一个模型依赖于前一个模型的预测结果对错,所以只能按顺序生成
Random Forest
前文讲到Bagging与Random Forest,Random Forest是Bagging的一种扩展辩题,它在意决策树为基本学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机特征选择。具体包含如下部分:
1. 随机选择样本
2. 随机选择特征属性
3. 构建决策树
4. 随机森林投票
Random Forest与Bagging的区别:Random Forest其实性能较差,随着基本学习器的数量增加,随机森林