集成学习

集成学习

随机森林

AdaBoost 算法

提升树

梯度提升树(GBDT)

XGBoost



一、个体与集成

集成学习(\(ensemble\ learning\))通过构建并结合多个学习器完成学习任务。

集成学习可用于分类问题集成、回归问题集成、特征选取集成、异常点检测集成等。

集成学习思想:通过训练若干个个体学习器,再用某种结合策略,最终形成一个强学习器。


个体学习器有两种选择:

所有个体学习器是同种类型,即 “同质” 的。同质集成中个体学习器也称 “基学习器”、“弱学习器”。

比如个体学习器都是由 \(C4.5\) 决策树算法 或 都是由 \(BP\) 神经网络算法从训练集产生。

所有个体学习器不是同种类型,即 “异质” 的。异质集成中的学习器也称 “组件学习器” 或直接称个体学习器。

比如个体学习器由 \(SVM\)、逻辑回归、朴素贝叶斯等不同算法产生。


一般说的集成学习方法都是指同质个体学习器。

同质个体学习器按照个体学习器之间是否存在依赖关系分两类:

① 个体学习器之间存在强依赖关系,必须串行生成的序列化方法。代表算法 \(Boosting\) 系列算法

② 个体学习器之间不存在强依赖关系,可同时生成的并行化方法。代表算法 \(Bagging\)、随机森林系列算法



二、Boosting

\(Boosting\) 算法,基学习器之间存在强依赖关系,用一张图概括如下:

\(Boosting\) 工作机制:先从训练集用初始权重训练出一个基学习器,根据基学习器的学习误差率来更新训练样本的权重,使学习误差率高的样本的权重变高,在后续受到更多关注。如此重复进行,直到基学习器的个数达到指定值 \(T\),最终将 \(T\) 个基学习器进行加权结合。

\(Boosting\) 系列算法代表 \(Adaboost\) 算法、梯度提升树(\(Gradient\ Boosting\ Decision\ Tree\)\(GBDT\))、\(XGBoost\)\(LightBGM\)



三、Bagging

\(Bagging\) 算法,基学习器之间不存在依赖关系,用一张图概括如下:

\(Bagging\) 流程:从训练集用自助采样法采出 \(T\) 个含 \(m\) 个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将基学习器结合。

自助采样法:即有放回的抽样法,采集跟训练集个数 \(m\) 相同的样本,采集 \(T\) 次,得到采样集。

对于一个样本,每次被采集的概率为 \(\frac{1}{m}\)

\(m\) 次采样中没被采集到的概率:

\[p_{(一次都未被采集)} \ \ \ \ \ \ \ \ \ = (1-\frac{1}{m})^m \]

\(m\) 取极限:

\[\underset{m \to \infty}{lim} (1-\frac{1}{m})^m = \frac{1}{e} \approx 0.368 \]

也就是初始训练集约有 \(63.2\%\) 的样本在采样集中,\(36.8\%\) 没被采集。

对于 \(36.8\%\) 没被采集的数据,称为 “袋外数据”。这些数据没参与训练集的模型拟合,但可作为测试集用于测试模型的泛化能力,这样的测试结果称为 "包外估计"。

随机森林\(Bagging\) 的一个扩展,\(RF\)基学习器都是 \(CART\) 决策树,并且在决策树的训练过程中,引入特征的随机选择



四、结合策略

假设集成包含 \(T\) 个基学习器 \(\{h_1,h_2,...h_T\}\)\(h_i\) 在示例 \(\pmb{x}\) 上的输出为 \(h_i(\pmb{x})\)


1.平均法

数值型回归问题,常见的结合策略是平均法。

① 简单平均法(\(simple\ averaging\)

\[H(x) = \frac{1}{T} \sum_{i=1}^{T} h_i(\pmb{x}) \]

② 加权平均法(\(weighted\ averaging\)

\[\begin{aligned} H(x) & = \sum_{i=1}^{T} \omega_ih_i(\pmb{x}) \\ \omega_i & \geqslant 0,\ \ \ \ \sum_{i=1}^{T} \omega_i = 1 \end{aligned} \]


2.投票法

分类问题,常见的结合策略是投票法。假设预测类别是 \(\{c_1,c_2,...,c_K\}\),对任意的一个预测样本 \(\pmb{x}\)\(T\) 个弱学习器的预测结果分别是 \((h_1(\pmb{x}),h_2(\pmb{x}),...,h_T(\pmb{x}))\).

相对多数投票法,即预测为得票最多的标记,若同时有多个标记获得最高票,随机选取一个。

绝对多数投票法,在相对投票法的基础上,不光要求票数最多,还要求票数过半,否则拒绝预测。

加权投票法,和加权平均法类似,每个基学习器乘以一个权重,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别。


3.学习法

代表方法 \(stacking\),该结合策略不是对基学习器的结果做简单的逻辑处理,而是再加上一层学习器,将训练集的基学习器的学习结果作为输入,训练集的输出作为输出,重新训练一个学习器得到最终的结果。

这种情况下,基学习器称为初级学习器,用于结合的学习器称为次级学习器。对于测试集,首先用初级学习器预测一次,得到次级学习器的输入,再用次级学习器预测一次,得到最终的结果。



posted @ 2019-01-09 15:35  做梦当财神  阅读(842)  评论(0编辑  收藏  举报