首页 > 代码库 > 机器学习之集成学习

机器学习之集成学习

集成学习(ensemble learning)通过构建并结合多个学习期来完成学习任务,同质学习器和异质学习器。

弱学习器:泛化性能略优于随机猜测的学习器

集成学习通过过个学习器进行结合,可以获得比单一学习器显著优越的泛化性能

集成学习中对个体学习器的要求是要有准确性和差异性(好而不同)

 

集成学习的关键在于如何生成个体学习器,以及如何利用多学习器获得结果。

1.个体学习器存在强依赖关系,串行生成序列化方法。(Boosting)

2.个体学习器不存在强依赖关系,同时生成并行化方法。(Bagging 和 Random Forest)

 

Boosting是一个将弱学习器提升为强学习器的方法,先训练出一个基学习器,再根据基学习器的表现对训练的样本分布进行调整,时出错的训练样本在后续受到更多的关注,用调整后的样本分布训练下一个基学习器,如此反复直到产生T个基学习器。

 

AdaBoosting (Adaptive Boosting)

基学习器的线性组合

 

具体的推导

 

8.3 Bagging与随机森林

若想得到泛化性能强的集成,集成中的个体学习器应该尽可能相互独立,独立无法实现,因此可以使用差异较大的训练子集,通过训练子集学习出不同的基学习器。我们考虑采用互有交叠的采样子集。

 

Bagging基于自助采样法(bootstrap sampling),对于大小为m的数据集,有放回的采样m个进行H次,基于H个数据集可以实现Bagging的算法实现。同时自助采样过程还给Bagging带来了另一个优点,剩下的36.8%可用作验证集来对泛化性能进行包外估计

 

随机森林,在以决策树为基学习器构建Bagging集成的基础上,进一步在训练树的训练过程中引入了随机属性,RF中从节点的属性集合中随机选择一个包含k个的属性子集,k表示了随机引入的程度,一般选择k=log2d

8.4结合策略

1.平均法

对于数值型的输出而言,最常见的结合策略是使用平均法,有加权平均法和简单平均法

一般而言,在个体学习器性能相差较大时宜使用加权平均法,而在个体学习器性能相近时宜使用简单平均法。

 

2.投票法

对于分类任务而言,学习器预测标记可以采用投票法。

投票法主要包括:绝对多数投票法,相对多数投票法,加权投票法

 

3.学习法:stacking

当训练数据很多时,一种更强大的结合策略是使用“学习法”,通过另一个学习器来进行结合,

 

机器学习之集成学习