集成学习-------分类(一)

一 介绍

集成学习可以看成一种优化手段或者是策略,它可以通过结合几个弱学习器,而达到强学习器才能达到的效果。如下图所示:

这里我们要做的主要工作就是选择合适的个体学习器和结合方式。

二 集成学习框架

集成学习的框架主要有三种,分别是boosting,bagging,stacking。下面会依次介绍这三种框架。

1.boosting

上图画出了boosting的基本原理,boosting采用串行学习的方式,先训练第一个弱分类器,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。

boosting框架的代表算法:AdaBoost  ,   GBDT  ,   XGBoost

2. bagging

 

上图是bagging的基本原理,bagging是一种并行计算方式,各个弱分类器之间同时独立训练,互不影响。

需要指出的是,这里的n个样本集,采用的是有放回的随机采样。(一般采用的是自助采样法(Bootstrap sampling),即对于m个样本的原始训练集,我们每次先随机采集一个样本放入采样集,接着把该样本放回,也就是说下次采样时该样本仍有可能被采集到,这样采集m次,最终可以得到m个样本的采样集,由于是随机采样,这样每次的采样集是和原始训练集不同的,和其他采样集也是不同的,这样得到多个不同的弱学习器。)

bagging框架的代表算法:随机森林   

3. stacking

stacking有三种不同的结合策略,分别是平均法,投票法和学习法。

3.1 平均法

平均法是针对回归算法,主要是对每个模型的训练结果进行求平均操作

3.2 投票法

投票法主要针对分类算法,遵循少数服从多数的原则,或者满足某一条件之后,再少数服从多数原则。

3.3 学习法

学习法就是再加上一层学习器,也就是说,我们将训练集弱学习器的学习结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果。

猜你喜欢

转载自www.cnblogs.com/r0825/p/10635053.html