原文:胡毅, 瞿博阳, 梁静, 王杰, 王艳丽. 进化集成学习算法综述. 智能科学与技术学报[J], 2021, 3(1): 18-35 doi:10.11959/j.issn.2096-6652.202103
在集成学习中,不同子学习器的多样性与求得解的准确性或鲁棒性之间往往存在冲突,这种冲突一般可以通过调整子学习器自身结构参数或群体学习器的融合权值等方法解决,这明显是一个优化问题。
与传统优化方法相比,遗传算法、粒子群优化算法、差分进化算法等一系列进化算法具有适用性广、鲁棒性强、可以实现全局优化等特点。因此,一些学者讲集成学习与进化算法结合,形成进化集成学习算法。
在进化集成学习算法中,进化算法通常被用于集成学习系统中的样本选择、特征选择或对集成模型包含的参数、网络结构等进行优化,也有部分工作使用进化优化算法选择一组最佳子学习器(选择性集成学习)或对多个子学习器的融合策略进行优化。
介绍偏差-方差-协方差分解理论:
分析指出,提高整个集成学习系统的关键在于设计相关性低的子学习器,即提高子学习器的多样性。
集成学习系统主要包括集成学习的生成和子学习器的融合两部分。
集成学习的生成主要通过一定的技术生成一系列好而不同的子学习器。
多样性:
多样性和预测性能是集成学习方法的两个重要的指标。如何较好地平衡集成学习系统的多样性与预测性能是一个非常复杂的问题,采用经验法在大多数情况下并不能达到最佳效果,而进化优化算法的全局搜索特性为解决两种指标相互冲突的问题提供了契机,因此进化集成学习算法具有十分重要的理论意义和实际应用价值。
集成学习系统的另一个重要组成部分就是子学习器的融合,将多个子学习器的输出整合为最终的结果。常见的融合策略有多数投票、简单平均、基于权值的投票方法和基于Median Partition共识函数的融合策略等。
在进化集成学习算法中,首先将多个子学习器以Bagging、Adaboost等方法组建成集成学习模型,以样本子集、特征子集、网络参数和融合权值等为编码对象,对种群进行初始化。然后以最小化集成学习模型的预测精度或网络的复杂度,以及最大化网络结构的多样性为优化目标,对种群进行适应度评价。采用交叉和变异策略、小生境策略或档案集管理方法等机制,对种群中的个体进行更新,直至达到最大迭代次数或满足其他终止条件。
针对不同的集成学习模型,可以通过选择合适的进化算法来提高模型的整体学习能力。
如果仅考虑提高集成学习模型的预测准确性,则可以采用单目标优化算法。
如果同时考虑预测准确性与所建立模型的复杂性,则需选择多目标优化算法。
一些学者使用不同的进化算法对集成学习的样本进行数据处理,主要集中在样本选择、特征选择和特征构建上。
在集成学习系统中,选取最小规模的样本子集或有效特征子集可以最大限度地减轻学习系统的计算负担,提升学习系统的综合学习能力。
A method for entity resolution in high dimensional data using ensemble classifiers [J]. Mathematical Problems in Engineering, 2017(12): 1-11. LIU Y , DIAO X C , CAO J J ,et al.
在这篇文章中,作者以SVM为子分类器,通过设计一种改进的多目标蚁群优化(MOACO)算法对高维度的实体解析问题进行处理。
在文中提出的EC-ER算法的目标函数表达式如下:
其中,αi表示第 i 个子分类器的准确率;β(αj,αi)表示第i个分类器与第j个分类器的差异度,差异度的值通过计算不同分类器预测结果的皮尔逊相关系数得到;γi表示第 i 个子分类器的特征数量。
作者设计的多目标优化算法旨在使集成学习系统保持更高的分类准确率和子分类器多样性的同时,获得更少的样本特征数量。
在获得Pareto前沿解后,作者按照优先度梯度的方法获得最终的Pareto最优解。优先顺序从高到低分别是准确率最高、差异度最大和特征数量最少,在满足前两个目标的前提下选择最少的特征数量。
然而在特征选择中,相同的特征数量对应着多种不同的特征组合,这是一个多模态的优化问题。在实际情况中,可以采用多模态优化技术获得同一最佳特征子集下的多种特征组合。在保证集成学习模型预测性能和多样性的前提下,赋予了决策者更多选择最佳特征子集的机会。
Unsupervised feature selection using clustering ensembles and population based incremental learning algorithm[J]. Pattern Recognition, 2008,41(9): 2742-2756.
在这篇文章中,作者以K-means为子学习器,通过随机子空间方法构建集成聚类学习模型CEFS。其中,种群增量学习(population based incremental learning,PBIL)算法被应用于集成聚类学习的特征选择问题中。该方法对所有特征进行二进制编码,以最大化聚类算法的产生解与集成解的相似程度为目标进行优化。这种相似程度的表达式如下:
其中,ξ表示要解决问题的类别数目;y 和Y分别表示子学习器和集成学习器的输出结果。
作者通过集成多个聚类算法来提高集成聚类学习的鲁棒性,并利用集成学习模型确定特征选择评价准则,提出基于集成聚类的无偏差特征选择方法。然而所提出的方法并没有包含对整个集成网络的多样性分析,可以通过集成多个差异度大的子学习器或者设计多样性指标,并使用进化计算的方法,寻找同时满足相似度和多样性指标的最佳特征子集。
集成学习模型中的参数对整个模型的性能有很大影响。这里的参数主要指集成学习生成阶段子学习器包含的参数或集成模型中包含的其他参数。
在机器学习中,即使是相同的学习器,当设置不同的参数时,预测效果也会大相径庭。
因此,许多研究采用不同的进化优化方法对集成模型中学习器的参数进行优化,以增加集成学习模型参数的多样性,从而提高整个集成学习系统的多样性。
A multi-level approach using genetic algorithms in an ensemble of least squares support vector machines[J]. Knowledge-Based Systems, 2016,106: 85-95.
在这篇文章中,以最小二乘支持向量机(LSSVM)为子学习器构建集成分类学习系统,并且以最小化误差为目标函数,采用GA算法同时进行参数优化、融合权值优化、特征选择和最佳子学习器的选择。该方法同时兼顾集成模型的结构特性与数据特征属性,在进化过程中不断地优化整个集成模型。
此方法不足之处在于,基础的GA算法不同很好地同时处理多个复杂的优化任务。针对不同的优化任务应设计相应的目标函数,因为单目标优化的方法无法很好地处理不同优化任务之间的关联性与冲突性。
A niching evolutionary algorithm with adaptive negative correlation learning for neural network ensemble[J]. Neurocomputing, 2017,247: 173-182.
这篇文章中,作者以径向基(RBF)神经网络为子学习器设计集成学习算法,解决分类问题。提出的MRNCL算法通过带有适应度共享和分配的非支配排序方法设计一种多目标进化优化算法,并将该算法用于优化RBF网络的中心、宽度和隐含层到输出层的权值。优化算法的适应度函数的表达式如下:
其中,R 表示集成模型中训练样本的数量;fi 表示第 i 个子学习器的输出值;xj为子学习器第 j 个训练样本的输入量;Y 为集成学习模型的最终输出量;zj表示第 j 个训练样本的期望输出值;ωj表示第 j 个训练样本对应的 RBF 网络输出层的权值。
3个计算式分别表示最小化单个神经网络中训练数据的均方误差、最大化不同神经网络间的负相关度和最小化集成网络的正则化值。
负相关学习主要是在集成学习的生成阶段给每个子学习器(主要是神经网络)的误差函数增加一个惩罚函数。新增的惩罚函数可以在不同的子学习器间形成一个负相关的误差,从而增加不同子学习器的差异化程度,达到增强集成学习模型多样性的目的。
作者还在负相关集成神经网络的基础上加入正则化分析,以降低算法的复杂度,提高算法处理带噪声数据的能力。
结构的多样性是集成学习模型多样性的重要体现。对集成学习模型的网络结构进行优化包括对子学习器的结构优化以及对整个集成网络子学习器的组合优化。
A multiobjective genetic programming-based ensemble for simultaneous feature selection and classification[J]. IEEE Transactions on Cybernetics, 2015,46(2): 499-510.
在这篇文章中,作者设计了一种基于决策树的集成分类器,并将多分类问题转化为二分类问题进行求解。
作者以最小化假正(false positive,FP)和假负(false negative,FN)的数量,以及最小化决策树的树叶节点为优化目标对决策树结构进行优化。由于文献中以最小化FP和FN的数量为优化目标,设计的进化集成学习算法 ASMiGP 更加适合不平衡数据的分类问题,这点在其实验分析阶段得到了验证。
Ensemble of heterogeneous flexible neural trees using multiobjective genetic programming[J]. Applied Soft Computing, 2017,52: 909-924.
在这篇文章中,作者使用多目标遗传规划(MOGP)算法对子学习器的节点分布和激活函数类别进行优化。作者选择选择神经网络和决策树两种不同的学习器组建一种名为异质柔性神经树(HFNT)的集成学习系统。
作者还使用HFNT解决分类、回归和时间序列预测问题。在HFNT中,多层反馈神经网络的节点可以设定不同的激活函数,并且不同的节点还可以跨层连接。
作者以最小化学习器学习结果的错误率、最小化树的规模和最大化多样性指标为优化目标,对HFNT的网络节点和不同节点对应的激活函数种类进行寻优。
在确定了HFNT的结构后,还采用DE算法对集成网络中的权值进行微调。在最后的组合阶段,融合策略采用多数投票的方法。
采用进化算法选择最佳子学习器组合的方法:
A genetic algorithm-based heterogeneous random subspace ensemble model for bankruptcy prediction[J]. International Journal of Applied Engineering Research, 2016,11: 2927-2931.
作者以最大化集成学习模型分类准确度为目标函数,使用GA对集成学习算法中的子学习器进行二进制编码,以寻找最佳子学习器组合。
文中将K近邻(KNN)、逻辑回归(LR)、DT和SVM 4种方法作为子学习器,通过随机子空间的方法构建异质集成分类学习模型GAHRS,并将之用于处理公司破产预测问题。
进化集成学习方法的融合策略主要包括子学习器融合权值优化和共识函数优化。前者主要针对集成分类学习和集成回归学习,而后者主要体现在集成聚类学习中。
Flexible neural trees ensemble for stock index modeling[J]. Neurocomputing, 2007,70(4-6): 697-703.
在这篇文章中,作者使用柔性神经树(FNT)集成技术对股票市场进行预测。
作者使用GP算法对神经树的结构进行优化,当确定了集成回归学习模型FNTE的结构后,通过PSO算法实现对网络模型参数的寻优和对融合阶段的权值的优化。多级优化策略虽然采用进化算法调整子学习器的多样性和预测性能,但是将子学习器融合权值优化与集成网络参数或结构优化分开进行的方法忽略了集成网络优化的整体性。
AdaBoost face detection algorithm based on fusion optimization of AFSA and PSO[J]. Journal of Chinese Computer Systems, 2016,37(4): 861-865.
在这篇文章中,作者利用人工鱼群算法(AFSA)的寻优特性来改进PSO算法的局部搜索能力,然后使用提出的混合优化算法来选择Adaboost模型中的最优子学习器组合及其融合权值。优化目标为最小化分类误差。最终的集成分类学习模型AFSA-PSO-AdaBoost被应用于人脸检测问题中。
常见的集成学习方法通过集成多个相同属性的学习器(如分类、回归或聚类学习器)来完成有监督或无监督学习。然而,有些研究却将分类学习器或回归学习与聚类学习器结合,共同组建混合集成学习系统,并通过进化算法改善所建系统的学习能力。
Clustering and co-evolution to construct neural network ensembles:an experimental study[J]. Neural Networks, 2008,21(9): 1363-1379.
在这篇文章中,作者提出一种基于聚类和协同进化算法的集成神经网络模型CONE。
CONE首先采用进化聚类(ECM)算法将数据划分到不同的子空间中,然后使用基于模糊逻辑的神经网络(EFuNN)对不同子空间中的数据进行分类。由于被划分到不同子空间中的数据的结构不同,导致对应的EFuNN网络结构也互不相同,再分别使用单目标协同进化遗传算法(CEGA)、多目标协同进化遗传算法(MO-CEGA)和多目标协同进化策略(MO-CES)对不同EFuNN的结构或参数进行优化,从而在保证分类精度的同时,优化网络规模、提高计算效率。
通过聚类算法对问题进行知识提取的方法增加了集成算法的可解释性,使CONE更适用于解决在线预测问题。
进化集成学习算法将集成学习与进化算法结合,不仅为提高集成学习的综合性能提供了新技术,同时也极大地丰富了集成学习的理论。未来关于进化集成学习算法的研究方向主要包括如下几个方面:
进化集成学习算法中目标函数的设计
选择合适的目标函数对提高进化集成学习算法的性能至关重要。常用的目标函数包括预测结果的准确度、集成模型的多样性、网络结构的复杂性、网络的负相关度和样本的相似度等。
进化集成学习算法中进化算法最终解的选择
分析现有的研究结果发现,最终解的选择方法与其需要解决的问题有很强的关联性。因此,在实际应用中,如何根据要解决的问题确定合适的最终解选择方案仍需要进行更广泛的研究。
进化集成学习算法中进化算法的选择
在进化集成学习中,需要根据集成模型的特点选择合适的进化算法。在面对大数据、云计算等复杂的机器学习任务时,相应的进化集成学习算法也需要根据实际问题重新设计针对性更强的进化算法。
进化集成学习方法应用范围的拓展
通过文献综述发现,当前的进化集成学习算法主要被用于解决分类问题,而面向回归和聚类问题的进化集成学习技术也值得更广泛的研究。此外,对进化集成方法进行改进以适用分布式计算、设计适用于在线学习的进化集成学习算法、将无监督学习与有监督学习方法结合以增强集成模型的学习性能等问题都是值得广泛和深入研究的课题。