9.11 集成学习的基本方法
集成学习能够把多个单一学习模型所获得的多个预测结果进行有机地组合,从而获得更加准确、稳定和强壮的最终结果。集成学习的原理来源于 PAC 学 习 模 型(Probably approximately correctlearning)。Kearns 和 Valiant 最早探讨了弱学习算法与强学习算法的等价性问题[3-4] ,即提出了是否可以将弱学习算法提升成强学习算法的问题。如果两者等价,那么在学习概念时,只要找到一个比随机猜测略好的弱学习算法,就可以将其提升为强学习算法,而不必直接去找通常情况下很难获得的强学习算法。近年来,研究人员在集成学习方面,特别是分类集成方面进行了大量的探索和创新。大部分的集成学习模型都可以归为分类集成学习模型、半监督集成学习模型和非监督集成学习模型三大类。监督集成学习模型,又称为分类集成学习模型(classifier ensemble),包括一系列常见的分类技术,如bagging [5] 、boosting [6] 、随机森林[7] 、随机子空间 [8] 、旋转森林[9] 、基于随机线性预测器的集成技术 [10] 、神经网络集成技术[11-12]等。一方面,Adaboost 算法是学习过程集成的典型例子。它在学习过程中不断地调整训练样本的权重,从而把多个弱分类器有机地结合成一个强分类器。另一方面,bagging 技术是学习结果集成的典型例子。它通过合适的投票机制把多个分类器的学习结果综合为一个最具代表性的结果。图 1 示出了学习结果集成的基本框架图。当给定一个训练集,集成学习首先通过一系列的数据映射操作,如采样、随机子空间、扰动、投影等,生成多个不同的新训练集。新训练集之间,以及新训练集与原训练集尽可能不同。这样,我们才能够探索样本在相对稳定的类结构下的不同表现形式。与此同时,要确保新训练集仍然保持原有相对稳定的类结构。然后,集成学习采用新训练集训练一种
或多种基本分类器,并通过选择合适的投票机制,形成组合分类器。最后,运用组合分类器对测试集中的样本进行预测,获取这些样本的标记。
图 2 示出了 Adaboost 集成基本框架图。当给定一个原始训练集,Adaboost 算法首先赋予训练集的每个样本相等的权重系数,然后用这些样本训练一个弱分类器,并对原始训练集的样本进行预测,接着更新训练集样本的权值。标记预测错误的样本,权重减少;标记预测正确的样本,权重增加。最后,Adaboost 获得权值更新的训练集。算法不断地重复之前的步骤,不断生成新训练集,不断训练新的分类器,直到获得一组分类器。这组带权重系数的分类器将用于预测测试集中样本的标记,并获得最终结果。
图3 示出了随机子空间集成基本框架图。当给定一个原始训练集,该算法首先对属性维进行随机采样,生成一组随机子空间;然后在子空间中生成相应的训练集,并用不同子空间下的一组新训练集来训练出一组分类器。在测试阶段,首先把测试集中的样本投影到相应的子空间中;然后用子空间的分类器预测样本标记;最后通过合适的投票机制把所有的预测结果进行综合,从而获得最终结果。
半监督集成学习模型包括多视图学习模型、共性最大化学习模型等。非监督集成学习模型,又称为聚类集成 (cluster ensemble) 或一致性聚类(consensus clustering),最早由 Strehl 提出。经过多年的研究,大量的聚类集成学习模型被提出来,如基于图论的聚类集成算法、基于多次谱聚类的聚类集成算法、混合模糊聚类集成算法等。
国际上与集成学习模型的相关研究工作还很多,以上只是列举了部分经典的研究工作的情况。国内许多著名的专家学者也在集成学习模型上做了很多的研究,如周志华教授的团队等(在此不一一列出)。如需了解更多信息,可参考周志华教授的关于集成学习的新书[13] 。
集成学习的产业应用主要指的是把集成学习模型应用到各个不同产业和领域中,从而实现集成学习模型的价值。例如,在生物信息学领域,Yu etal [14] 成功地把集成学习模型应用于预测蛋白与酶绑定的磷酸化位点。在数据挖掘领域,Zhu et al [15] 把集成学习模型与主动学习相结合,应用于数据流的模式挖掘。在多媒体领域,Xu et al [16] 把集成学习模型用于检测交通视频中的行人。集成学习应用的论文很多,在此不再一一列出。