《Ensemble deep learning: A review》
集成深度学习: 综述
M.A. Ganaie 和 Minghui Hu
来自印度理工学院印多尔分校数学系和南洋理工大学电气与电子工程学院
本文写的大而全。
集成学习思想:
结合几个单独的模型以获得更好的泛化性能。
目前,深度学习架构与浅层或传统模型相比表现更好。深度集成学习模型结合了深度学习模型和集成学习的优点,使最终模型具有更好的泛化性能。
集成模型大致分类:
本文贡献:
这篇文章主要是总结和展望,后面写。
深度学习(Deep learning):
深度学习架构已成功应用于从图像、视频分类到医疗保健等广泛领域。这些模型的成功归功于多层处理架构更好的特征表示。
深度学习模型主要用于分类、回归和聚类问题:
**分类(classification)**问题:
分类问题被定义为根据从一组训练数据中学习到的假设 h h h 对新观察结果进行分类。假设 h h h 表示输入数据特征到适当目标标签/类别的映射。学习假设 h h h 的主要目的是尽可能接近真实的未知函数,以减少泛化误差。这些分类算法有多种应用,从医疗诊断到遥感都有。从数学上来看:
O c = h ( x , θ c ) , O c ∈ Z O_c=h(x,\theta_c),\ O_c\in\Z Oc=h(x,θc), Oc∈Z
参数字典:
**回归(regression)**问题
回归问题处理的是连续决策,而不是离散类别。从数学上来看:
O r = h ( x , θ r ) , O r ∈ R O_r=h(x,\theta_r),\ O_r\in\R Or=h(x,θr), Or∈R
参数字典:
**聚类(clustering)**问题
从广义上讲,有监督分类、无监督分类、少量分类、一次分类等不同的分类方法。在此,我们只讨论有监督和无监督分类问题。在有监督学习中,假设 h h h 的建立是基于训练数据样本中提供的已知输出标签进行监督的,而在无监督学习中,由于训练数据中没有已知输出值,因此假设 h h h 的生成不需要任何监督。这种方法也称为聚类,根据训练数据中存在的相似性和不相似性生成假设 h h h。
集成学习(ensemble learning):
机器学习的目的——泛化:
一般来说,在机器学习领域生成假设 h h h 的目的是,在应用于未知数据时,假设 h h h 应该表现得更好。模型的性能是根据模型应用的领域来衡量的。
集成学习定义:
事实证明,结合多个模型的预测结果是提高模型性能的有效方法。将来自不同模型的几种不同预测结果组合起来进行最终预测,被称为集成学习或集成模型。集成学习涉及多个模型以某种方式(如平均、投票)进行组合,从而使集成模型优于任何单个模型。
集成的理论依据:
为了证明集成投票的平均值优于个人模式,孔多塞侯爵(Marquis de Condorcet)提出了一个定理,证明如果每个投票人正确的概率高于 0.5 且投票人是独立的,那么增加更多投票人就会增加多数票正确的概率,直到接近 1。虽然孔多塞侯爵是在政治学领域提出这个定理的,对机器学习领域并不了解,但正是类似的机制导致了集成模型的更好表现。孔多塞侯爵定理的假设也适用于集成。
集成学习取得成功的原因包括:统计(statistical)、计算(computational)和表征学习(representation learning)、偏差-方差分解(bias-variance decomposition)和强度-相关性(strength-correlation)。
深度集成学习(deep ensemble learning):
相关工作:
文献中有许多研究主要集中于集成学习的综述,如分类问题、回归问题和聚类问题中的集成模型学习。
本文贡献:
本文接下来的内容安排如下: 第3节讨论了深度集成学习的理论方面,第4节讨论了深度集成策略中使用的不同方法,第5节给出了深度集成方法的应用,最后第6节给出了结论和未来方向。
本综述中的研究是从谷歌学术(Google Scholar)和斯科普斯(Scopus)搜索引擎中搜索的。这些论文是以集成学习、集成深度学习、深度集成学习、深度集成为关键词的结果。根据标题和摘要对文章进行筛选,然后筛选全文版本。这些文章基于集成学习和深度学习方法进行阐述。
偏差-方差分解
最初,人们从理论上研究了针对回归问题的集成方法是否成功。
Krogh 和 Vedelsby、Brown 等人通过模糊分解证明,与分类器的单个预测因子相比,适当的集成分类器能保证较小的平方误差。模糊性分解是针对基于单一数据集的集合方法给出的。
后来,[27, 28, 29, 30] 中引入了多数据集偏差-方差-协方差分解,其公式为:
E [ o − t ] 2 = b i a s 2 + 1 M v a r + ( 1 − 1 M ) c o v a r , b i a s = 1 M ∑ i ( E [ o i − t ] ) , v a r = 1 M ∑ i E [ o i − E [ o i ] ] 2 , c o v a r = 1 M ( M − 1 ) ∑ i ∑ i ≠ j E [ o i − E [ o i ] ] [ o j − E [ o j ] ] , \begin{align} E[o-t]^2&=bias^2+\frac{1}{M}var+(1-\frac{1}{M})covar,\\ bias&=\frac{1}{M}\sum_i(E[o_i-t]),\\ var&=\frac{1}{M}\sum_iE[o_i-E[o_i]]^2,\\ covar&=\frac{1}{M(M-1)}\sum_i\sum_{i\ne j}E[o_i-E[o_i]][o_j-E[o_j]], \end{align} E[o−t]2biasvarcovar=bias2+M1var+(1−M1)covar,=M1i∑(E[oi−t]),=M1i∑E[oi−E[oi]]2,=M(M−1)1i∑i=j∑E[oi−E[oi]][oj−E[oj]],
参数列表:
其他理论支持:
集成方法得到了偏差-方差(bias-variance)、强度相关(strength correlation)、随机判别(stochastic discrimination)和边际理论(margin theory)等多种理论的支持。这些理论提供了等效的偏差-方差-协方差分解[34]。
离散类标签
由于离散类标签的分类性质,上述给定的误差分解方程不能直接应用于离散类标签的数据集。不过,[4, 35, 36, 37, 38]中给出了分类问题中分解误差的其他方法。
为生成集成方法,人们提出了多种方法,如:
袋装法(bagging)
袋装法可减少基础分类器之间的方差,
提升法(boosting)
基于提升法的集成则可减少偏差和方差。
统计、计算和表征方面
迪特里希(Dietterich)提出了集成模型成功的统计、计算和表征原因。
学习模型被视为在搜索空间的多个假设中寻找最优假设 h h h。当可用于训练的数据量小于假设空间的大小时,就会出现统计问题。
统计问题:
由于这个统计问题,学习算法会找出在训练样本上表现相同的不同假设。
计算问题:
第二个原因是计算方面的,由于某种形式的局部搜索,学习算法会陷入局部最优状态。
代表性问题:
另一个原因是代表性,即假设集合中没有一个假设能够代表真正的未知函数。
多样性
集成方法取得成功的主要原因之一是增加了基础分类器的多样性,这一点在 [3] 中也得到了强调。
袋装法
**袋装法(Bagging)**介绍:
袋装法又称引导聚合法,是生成基于集合的算法的标准技术之一。袋装法用于提高集成分类器的性能。
袋装的主要思想是生成一系列独立的观测数据,其大小和分布与原始数据相同。给定一系列观察结果,生成一个比在原始数据上生成的单一预测器更好的集成预测器。
袋装法在原始模型中增加了两个步骤:
组合基础预测器的输出可能会有所不同,因为分类问题大多采用多数投票法,而回归问题则采用平均策略来生成集成输出。图 2 显示了袋集技术的示意图。其中, D i D_i Di 代表袋装数据集, C i C_i Ci 代表算法, F e n s Fens Fens 计算最终结果。
决策树+袋装法=随机森林
随机森林是决策树的改进版,它使用袋装策略来改进基础分类器(即决策树)的预测结果。这两种方法的根本区别在于,在随机森林中,每次树分裂时,只随机选择一个特征子集并考虑进行分裂。这种方法的目的是对树进行装饰,防止过度拟合。
袋装法与数据维度
Breiman 通过启发式研究发现,袋装预测因子的方差小于原始预测因子,并提出袋装法在高维数据中效果更好。然而,对袋装法平滑效果的分析 [45] 表明,袋装法并不依赖于数据维度。
Bühlmann 和 Yu 从理论上解释了套袋法如何提供平滑的硬决策、较小的方差和均方误差。由于袋装法计算成本高,因此引入了子袋法和半子袋法。半子袋装计算效率高,精度与袋装一样高。
现状:袋装法+其他
有一些尝试将袋集与其他机器学习算法相结合。
袋装法与数据不平衡
Bagging 也被用于解决不平衡数据问题。
袋装法性能
对在线袋式算法和提升算法的理论和实验分析(Oza,2005 年)表明,在线袋式算法可以达到与批量袋式算法相似的准确率,而只需要多花一点训练时间。不过,当由于内存问题无法将所有训练样本加载到内存中时,在线袋式算法也是一种选择。
虽然集成可能会导致计算复杂度的增加,但袋装具有可以并行的特性,可以有效减少训练时间,但这取决于是否有运行并行模型的硬件。由于深度学习模型的训练时间较长,因此在不同的训练包上优化多个深度模型并不可行(见表 1)。
**提升(boosting)**简介:
提升技术用于集成模型,将弱学习模型转化为具有更好泛化能力的学习模型。图 3 显示了提升技术的示意图。
与单个弱学习器相比,分类问题中的多数投票或回归问题中的弱学习器线性组合等技术能带来更好的预测效果。AdaBoost(Freund 和 Schapire,1996 年)和梯度提升(Friedman,2001 年)等提升方法已被用于不同领域。
现状:提升法+深度模型
提升(Boosting)又称前向分阶段加法建模,最初是为了提高分类树的性能而提出的。最近,深度学习模型也采用了这种方法,以进一步提高其性能。
堆叠法
堆叠法(stacking)简介:
集成可以通过某种方式将多个基础模型的输出结果组合起来,或者使用某种方法选择 "最佳 "基础模型。图 4 显示了堆叠技术。
堆叠是一种整合技术,其中元学习模型用于整合基础模型的输出。如果最终决策部分是一个线性模型,堆叠通常被称为 "模型混合 "或简单的 “混合”。堆叠或堆叠回归的概念最初由 Wolpert(1992 年)提出。在这项技术中,数据集被随机分割成 J J J 个相等的部分。在第 j j j 倍交叉验证中,一组用于测试,其余用于训练。通过这些训练测试对子集,我们可以得到不同学习模型的预测结果,并将其作为元数据来建立元模型。元模型做出最终预测,这也被称为 "赢家通吃 "策略。
现状:堆叠法:
基于负相关的深度集成方法
显式/隐式集成
显示/隐式(Explicit / Implicit)集成简介:深度集成之难
现状:通过共享权重来提供隐式的网络集成:
现状:显式集成:
上述所有方法都是通过共享权重来提供网络集成。有人尝试探索显式集成,其中模型不共享权重。
进一步的深度集成:
显式/隐式从单个网络中产生集成,但却牺牲了基础模型的多样性(Cao 等人,2020),因为各模型的低层特征很可能是相同的。
同质和异质集成
同质和异质(Homogeneous & Heterogeneous)集成简介:
同质集成(HOE)和异质集成(HEE)**涉及训练一组基础学习器,它们或来自同一族,或来自不同族,**分别如图 5 和图 6 所示。因此,集成的每个模型必须尽可能多样化,而且每个基础模型的表现必须优于随机猜测。基础学习器可以是决策树、神经网络或任何其他学习模型。
同质集合:
同质集合中的随机性诱导:
在同质集成中,同一个基础学习器会被多次使用,以生成基础分类器系列。然而,关键问题是训练每个基础模型,使集成模型尽可能多样化,即没有两个模型在特定数据样本上出现相同的错误。在同质集合中诱导随机性的两种最常见方法是:
现状:
在一些集成模型中,如随机森林(Breiman,2001 年)就同时使用了这两种技术,在决策树的集成中引入多样性。在神经网络中,通过对模型进行不同的初始化来独立训练模型也会产生多样性。
在深度集成中的现状:
然而,深度学习模型的训练成本很高,因此训练多个深度学习模型并不可行。已有一些尝试,
现状:异构集成:
尽管有这些模型,但训练多个深度学习模型进行集成是一项艰巨的任务,因为需要优化数百万或数十亿个参数。因此,一些研究将深度学习与传统模型结合使用,构建异构集成模型,享受更低计算量和更高多样性的好处。
决策融合战略
文献中采用的集成模型输出结果的不同方法有:
非加权模型平均
非加权模型平均(Unweighted Model Averaging)简介:
基础学习器的平均化可以直接在基础学习器的输出上进行,也可以通过 softmax 函数在预测的类别概率上进行:
P i j = s o f t m a x j ( O i ) = O i j ∑ k = 1 K e x p ( O k j ) P^j_i=softmax^j(O_i)=\frac{O^j_i}{\sum^K_{k=1}exp(O^j_k)} Pij=softmaxj(Oi)=∑k=1Kexp(Okj)Oij
参数列表:
局限性:
多数票表决
多数票表决(Majority Voting)简介:
现状:投票方法+半监督深度学习
投票方法也开始与半监督深度学习相结合。
现状:投票方法+多标签分类
此外,多标签分类(Tsoumakas 和 Katakis,2007 年)问题也是投票法要解决的一个重点,
贝叶斯最佳分类器
在贝叶斯方法中,每个基础学习者的假设 j j j 与给定 x x x 的目标标签 t t t 的条件分布相关。假设 j j j 是在测试数据 ( x , t ) (x,t) (x,t) 上评估训练数据 D D D 所生成的假设,数学上,假设 h j ( t ∣ x ) = P [ y ∣ x , h j , D ] h_j(t|x)=P[y|x,h_j,D] hj(t∣x)=P[y∣x,hj,D]。根据贝叶斯法则,我们可以得出:
P ( t ∣ x , D ) ∝ ∑ h j P [ t ∣ h j , x , D ] P [ D ∣ h j ] P [ h j ] P(t|x,D)\propto\sum_{h_j}P[t|h_j,x,D]P[D|h_j]P[h_j] P(t∣x,D)∝hj∑P[t∣hj,x,D]P[D∣hj]P[hj]
贝叶斯最优分类器的计算公式为:
a r g m a x t ∑ h j P [ t ∣ h j , x , D ] P [ D ∣ h j ] P [ h j ] \underset{t}{argmax}\quad\sum_{h_j}P[t|h_j,x,D]P[D|h_j]P[h_j] targmaxhj∑P[t∣hj,x,D]P[D∣hj]P[hj]
在贝叶斯最优分类器中选择先验概率很困难,因此为了简单起见,通常设置为均匀分布。在样本量较大的情况下,一种假设的后验概率往往大于其他假设,因此权重向量会被单一的基础学习器所支配,贝叶斯最优分类器也就表现为具有负可能性损失函数的离散超级学习器。
堆叠法概述
堆叠泛化法(Wolpert,1992 年)通过推导泛化器对所提供学习集的偏差来实现。为了在回归中获得基础学习者的良好线性组合,交叉验证数据和非负性约束下的最小二乘法被用来获得最佳的组合权重(Breiman,1996c)。考虑基础学习者预测结果的线性组合 f 1 , f 2 , … , f m f_1,f_2,\dots,f_m f1,f2,…,fm 如下:
f s t a c k i n g ( x ) = ∑ j = 1 m w j f j ( x ) f_{stacking}(x)=\sum^m_{j=1}w_jf_j(x) fstacking(x)=j=1∑mwjfj(x)
其中, w w w 是元学习器学习到的最优权重向量。
超级学习器
超级学习器(Super Learner)设计思想:
现状:超级学习器与深度学习:
超级学习器的另一个应用领域是强化学习随着深度学习的发展,一些研究人员已经实现了深度强化学习,
共识
无监督学习(Unsupervised learning)简介:
无监督学习是另一类机器学习技术。它与有监督学习的根本区别在于,无监督学习通常处理没有相应标签的训练样本。因此,无监督学习的主要用途是进行聚类。之所以采用集成方法,是为了将一些弱聚类合并成强聚类。
要创建不同的聚类,可以采用以下几种方法:
无监督学习现状:
委员会查询
委员会查询(Query-By-Committee)设计思想:
实例:
一些传统的主动学习算法,如 Query-By-Committee(如图 8 所示),已经采用了集成学习的思想。
图片注解:主动学习中的按委员会查询。使用替换抽样法将已标注的训练数据集分割成训练片段。委员会根据几种算法的输出结果来决定是否对数据进行标注。
Melville 和 Mooney(2003,2004)探索了一种建立多样化委员会的集成方法。
Beluch 等人(2018)讨论了集合的主动学习能力明显优于蒙特卡洛辍学(Monte-Carlo Dropout)和几何方法。
Sharma 和 Rani(2018)展示了药物靶标相互作用预测中的一些应用。集成主动学习也可用于征服概念漂移和类不平衡问题(Zhang 等,2018)。
应用
在本节中,我们将以表格形式简要介绍深度集成模型在不同领域的应用。集成深度模型已在多个领域得到应用,因此,从广义上讲,我们将应用领域分为五类,即医疗保健、语音、图像分类、预测,其余模型则被列入其他类别。
医疗保健:
表 4 列出了已在医疗保健领域实施的集成深度模型的相关信息。这里有几篇论文基于异构集成技术。它揭示了在一个框架中使用不同系列的模型在医疗保健领域会有更好的表现。最近,深度集成技术在医疗保健领域取得了成功,并显示出良好的性能。
语音:
表 5 列出了已用于语音任务的模型,其中大多数集成方法都基于堆叠技术。
表 6 列出了在语音领域应用的集成深度模型。
表 7 和表 8 分别列出了在预测和其他领域应用的模型。
图 9 显示了应用领域的百分比。统计结果显示,不同的集成深度技术被应用于不同的领域。较多的模型(即 27% 的集成深度模型)被应用于医疗保健领域,5.6% 的模型被应用于语音领域,22.5% 的模型被应用于图像分类任务。此外,9%的模型用于预测,36%的模型用于其他应用领域,如信息检索、情感识别、文本分类等。
图 10 显示了按百分比计算的集成策略。在集合学习中,有多种方法可以将模型的结果集成在一个集合中。在文献中,研究人员根据不同的应用领域提出了不同的决策融合技术。Bagging, boosting 和 stacking 是经典的集合技术。在这三种技术的基础上,研究人员还开发了其他几种技术。提升(18.2%)、堆叠(12.5%)和袋聚(4.5%)技术已在集成深度框架中实现。异构集成和隐式集成也是制作高效集成模型的常用方法,它们的贡献率分别为 11.4% 和 10.2%。其余的集成技术有:无监督(3.4%)、NCL(3.4%)、强化(1.1%)、主动学习(1.1%)、显式集成(1.1%)和同构集成(3.4%)。
结论和未来工作
本文工作:
本文回顾了近年来集成深度学习模型的发展。我们阐述了集合学习的理论背景,以了解集合学习的成功之处。从传统的装袋法(bagging)、提升学习(boosting)到最近的隐式/显式集成、异构集成等新方法,各种方法都为深度集成模型带来了更好的性能。我们还回顾了深度集成模型在不同领域的应用。
未来工作:
管深度集成模型已被应用于不同领域,但未来仍有几个开放性问题可以探索,以填补空白。大数据(Zhou 等人,2014 年)仍然是一个具有挑战性的问题,人们可以利用隐式深度集成等技术探索深度集成模型学习模式的优势,从而在时间和泛化两方面实现性能最大化。
深度集成模型:
深度集成训练困难问题:
模型选择问题:
集合深度学习的另一大挑战在于构建集合架构的模型选择,同构集合和异构集合代表了两种不同的模型选择方式。然而,要回答在集成架构中有多少种不同的算法,以及有多少个基础学习器,仍然要视问题而定。找到集成深度学习中模型选择的标准,应该是研究人员未来几年的重要目标。由于大多数模型都专注于开发架构,而很少关注如何组合基础学习器,因此预测问题仍然没有答案。因此,我们可以研究不同的融合策略对集成输出预测的影响。
无监督集成学习与共识聚类
半监督集成领域:
目前,半监督集成域的问题还没有得到广泛的研究,大多数文献显示,半监督集成方法主要用于标注数据不足的情况。此外,将半监督与其他一些机器学习方法(如主动学习)相结合也是未来研究的一个方向。
强化学习:
强化学习是最近另一个热门话题。将基于模型的强化学习与集成学习相结合的想法已在许多应用中取得了可喜的成果,但很少有人将基于规划与学习的强化学习与集成学习方法相结合。