思维导图如下:
模型融合是一种有效提升机器学习效果的方法,通过构建并融合多个模型来完成学习任务。模型融合主要包含两个阶段:构建若干单模型和模型融合。
如果模型融合使用的单模型属于一类学习算法,这样的融合称为同质模型融合,如果模型融合使用多种不同的学习算法构建的单模型,这样的融合称为异质模型融合。
1、理论分析
1.1 融合收益
模型融合能够比单模型具有更强的泛化能力,主要有以下三个方面:
统计的角度:学习任务可能找出多个能够达到同等性能的假设空间,通过融合的方式来平均这些模型预测的结果,可以降低预测错误的风险
计算的原因:降低陷入局部极小点的风险
表示的原因:模型融合使得假设空间变大
1.2 模型误差-分歧分解
单模型准确性越高,多样性越大,则模型融合的表现越好。
1.3 模型多样性度量
模型多样性是模型融合和集成学习中一个比较重要的问题。比较典型的做法是考虑单模型的两两相似性或不相似性。总体上,模型多样性度量主要分为成对的多样性度量和非成对的多样性度量。
1.4 多样性增强
模型融合中单模型的多样性对性能有很大的提高,那么我们就应该尽量有效地生成多样性大的单模型。一般增强多样性的思路是在学习过程中引入随机性,常见的做法是对数据样本、输入属性、输出表示、算法参数进行扰动。
数据样本扰动:给定初始数据集,从中选出不同的数据子集,再利用不同的数据子集训练出不同的单模型。
输入属性扰动:选择不同的属性训练单模型
输出表示扰动:对输出表示进行操纵以增强多样性。主要有翻转法(随机改变训练样本标记)和输出调制法(将分类问题转变为回归输出来训练单模型)
算法参数扰动:模型训练一般要调配参数,如神经网络隐层节点数量、链接权值等。修改参数产生不同的模型,从而增加多样性。
2、融合方法
2.1 平均法
分简单平均法和加权平均法:
2.2 投票法
主要应用于分类问题。分类问题的输出有时候是分类标记,有时候是分类概率。
当输出是类别标记时,通常使用硬投票法,分为绝对多数投票法、相对多数投票法和加权投票法。对于输出为分类概率的,通常使用软投票法,即计算每个类别的加权概率。
2.3 Bagging
使用自助采样法采样T份数据,分别训练T个单模型,再进行融合。
2.4 Stacking
其基本思路是,通过一个模型来融合若干个单模型的预测结果,这里单模型称为一级模型,Stacking融合模型被称为二级模型。
Stacking先从初始的训练集训练出若干单模型,然后把单模型的输出结果作为样本特征进行整合,并把原始样本标记作为新数据样本标记,生成新的训练集。再根据新训练集训练一个新的模型,最后用新的模型对样本进行预测。
Stacking的过程如下图:
关于Stacking的详细原理和实现,参考:https://www.jianshu.com/p/3d2bd58908d0
网友评论