机器学习模型和深度学习模型的泛化能力是评估模型好坏的一个非常重要的指标,但在使用单一模型处理某个问题时很容易遇到模型泛化瓶颈。此外,建立一个模型后,这个模型可能在解决某个问题的能力上比较出色,在解决其他问题时,结果却不尽如人意。因此通过一些科学的方法对优秀的模型进行融合,来突破单个模型对未知问题的泛化能力的瓶颈,并综合各个模型的优点得到同一个模型的最优解决方法,这就是多模型融合。
1 多模型融合入门
在多模型融合过程中一般会遇到两个问题,第一个问题是训练复杂的神经网络非常耗时,因为优秀的模型一般都是深度神经网络模型,其层次较深,参数较多。对多个深度神经网络的模型融合进行参数训练时,会比单一的深度神经网络模型更加耗时。
一般通过选择结构较简单、网络层数较少的神经网络模型参与到多模型融合中;当使用了深度神经网络模型进行多模型融合时,一般通过迁移学习方法来辅助模型的训练,减少训练耗时。
第二个问题时进行多模型融合时,融合方法的类型选择让人头疼。选择不同的模型融合方法解决某些问题时,其结果的表现不同,此外是针对模型的过程进行融合还是针对各个模型输出的结果进行融合,也值得考虑。
此处以结果融合方法为例进行简单介绍,结果融合方法主要有结果多数表决、结果直接平均和结果加权平均三种主要的类型。
在结果融合法有一个比较通用的理论,融合的各个模型相关度越低,模型融合的效果会更好,也就是说各个模型输出结果的差异性越高(比如神经网络和树模型),多模型融合效果就越好。
1.1 结果多数表决
结果多数表决类似于投票表决,一般选取的模型融合个数为奇数,否则有可能出现无法判断的情况。
1.2 结果直接平均
结果直接平均追求的是融合各个模型的平均水平,不强调个别模型的突出优势,可弥补个别模型的明显劣势。
1.3 结果加权平均
可将结果加权平均看做直接平均的改进版本,在结果加权平均方法中会新增一个权重参数,这个权重参数用于控制各个模型对融合结果的影响程度。不同的权重组合对最终的融合模型的结果影响较大,一般需尝试不同的权重值进行组合,以达到最优的多模型融合解决方案。