<acronym id="owqss"><center id="owqss"></center></acronym>
<acronym id="owqss"></acronym>
<acronym id="owqss"><center id="owqss"></center></acronym>
集成學習方法:研究綜述
徐繼偉, 楊云
云南大學 軟件學院,云南 昆明 650500
通信作者:楊 云(1981-),男,遼寧人,博士生導師,教授,主要研究領域為機器學習,數據挖掘,模式識別,時間序列數據分析與處理.E-mail:yangyun@ynu.edu.cn.

作者簡介:徐繼偉(1995-),男,湖南人,碩士生,主要研究領域為機器學習,集成學習.E-mail:420076887@qq.com.

摘要

機器學習的求解過程可以看作是在假設空間中搜索一個具有強泛化能力和高魯棒性的學習模型,而在假設空間中尋找合適模型的過程是較為困難的.然而,集成學習作為一類組合優化的學習方法,不僅能通過組合多個簡單模型以獲得一個性能更優的組合模型,而且允許研究者可以針對具體的機器學習問題設計組合方案以得到更為強大的解決方案.回顧了集成學習的發展歷史,并著重對集成學習中多樣性的產生、模型訓練和模型組合這三大策略進行歸納,然后對集成學習在現階段的相關應用場景進行了描述,并在最后對集成學習的未來研究方向進行了分析和展望.

關鍵詞: 集成學習; Bagging; Boosting; Stacking
中圖分類號:TP181 文獻標志碼:A 文章編號:0258-7971(2018)06-1082-11
A survey of ensemble learning approaches
XU Ji-wei, YANG Yu
School of Software,Yunnan University,Kunming 650500,China
Abstract

The process of solving machine learning can be regarded as searching for a learning model with strong generalization ability and high robustness in the hypothesis space,and it is more difficult to find a suitable model in the hypothesis space.However,as a class of combinatorial optimization learning methods,ensemble learning can not only combine multiple simple models to obtain a better performance model,but also allow researchers to design combination schemes for specific machine learning problems to get a more powerful solution.This paper reviews the development history of ensemble learning,and focuses on the three strategies of diversity generation,model training and model combination in ensemble learning,and then describes the relevant application scenarios of ensemble learning at the current stage.Finally,the future research direction of ensemble learning is analyzed and forecasted.

Keyword: ensemble learning; Bagging; Boosting; Stacking

近幾十年以來, 由于集成學習能高效地解決實際應用問題, 所以在機器學習領域內備受關注.最初, 集成學習旨在提高自動決策系統的準確性, 而現如今此方法已經能夠成功解決各種機器學習問題.本文概述集成學習的發展歷史, 并且回顧現有的集成學習方法, 能夠為讀者提供集成學習系統的構造理論和集成學習方法.

實際上, 通過集成學習思想進行決策在文明社會開始時就已經存在了, 例如:在民主社會中, 公民們通過投票來選舉官員或制定法律, 對于個人而言, 在重大醫療手術前通常咨詢多名醫生.這些例子表明, 人們需要權衡并組合各種意見來做出最終的決定.其實, 研究人員使用集成學習的最初目的和人們在日常生活中使用這些機制的原因相似.Dietterich[1]從數學角度解釋了集成方法成功的3個基本原因:統計、計算和代表性.此外, 亦可通過偏差方差分解[2]對集成學習的有效性進行分析.

1979年, Dasarathy和Sheela首次提出集成學習思想[3].1990年, Hansen和Salamon展示了一種基于神經網絡的集成模型[4], 該集成模型具有更低的方差和更好的泛化能力.同年, Schapire[5]證明了通過Boosting方法可以將弱分類器組合成一個強分類器, 該方法的提出使集成學習成為機器學習的一個重要研究領域.此后, 集成學習研究得到迅猛發展, 出現了許多新穎的思想和模型.1991年Jacobs提出了混合專家模型[6].1994年, Wolpert提出了堆疊泛化模型[7].1995年, Freund和Schapire提出了Adaboost算法[5], 該算法運行高效且實際應用廣泛, 該算法提出后, 研究人員針對該算法進行了深入的研究[8, 9].1996年, Breiman提出了Bagging算法[10], 該算法從另一個角度對基學習器進行組合.1997年, Woods[11]提出了一種動態分類器選擇方法.2001年, Breiman提出了隨機森林算法[12], 該算法被譽為最好的算法之一.隨著時代的發展, 更多的集成學習算法被提出, 并且在諸多領域都取得了重大突破.

1 集成學習主要策略

集成學習算法之間的主要區別在于以下3個方面[13]:提供給個體學習器的訓練數據不同; 產生個體學習器的過程不同; 學習結果的組合方式不同.因此, 本章將具體介紹集成學習中多樣性產生方法、基學習器訓練方法和基學習器組合策略.

1.1 多樣性

增強多樣性是提高集成學習泛化能力的關鍵之一[14, 15, 16, 17], 文獻[18, 19, 20, 21]對現有的多樣性度量方法進行了詳細的理論分析, 并闡述了多樣性在集成學習中的重要性.在集成學習中, 主要從數據、參數和模型結構3個方面增強多樣性.

1.1.1 數據樣本多樣性 產生數據多樣性的方法主要有3種[22]:①輸入樣本擾動; ②輸入屬性擾動; ③輸出表示擾動.

輸入樣本擾動:根據原始數據產生多個不同種類的數據子集, 然后利用不同的數據子集訓練個體學習器.常用的方法有:重采樣法, 通過有放回的采樣得到固定樣本容量的數據子集, 序列采樣法, 根據前一輪的學習結果進行采樣.在此基礎上, Y Yang等[23, 24]結合Bagging和Bosting的優勢, 提出了一種混合采樣的聚類集成方法.

輸入屬性擾動:從初始屬性集中抽取出若干屬性子集, 再基于每個屬性子集訓練基學習器[25, 26, 27].該方法不僅能產生差異性大的個體, 還會因屬性數的減少而大幅節省計算時間.使用該方法的算法有:隨機子空間算法[28]; 隨機森林算法[12].特征集拆分同樣是一種輸入屬性擾動方法[29], 該方法通過將原始特征集拆分成多個不相交的特征子集來分別訓練個體學習器, 最后集成多個學習器得到最終模型.一些研究表明, 在高維特征的學習任務中, 特征集拆分具有良好的表現效果[30, 31, 32].因此, L Rokach等[33]還提出了一個搜索特征集拆分結構的通用框架.由于時間數據通常具有高維度的特征空間, Y Yang等[34]提出一種基于隱馬爾科夫的拆分集成方法, 該方法巧妙地解決了模型初始化和模型選擇問題.

輸出表示擾動:對輸出表示進行操縱以增強多樣性, 可對訓練樣本的類標進行變動.常用算法有:翻轉法[35], 隨機改變一些訓練樣本的標記; 輸出調制法[35], 將分類輸出轉化為回歸輸出后構建個體學習器; 將原始任務拆解為多個可同時求解的子任務, 如ECOC法[36], 多分類拆解為一系列的二分類.

1.1.2 算法參數多樣性 算法參數多樣性是指通過使用不同的參數集來產生不同的個體學習器.即使每個個體學習器都使用相同的訓練集, 但是由于使用的參數不同, 其輸出也會隨參數的改變而變化.例如, 在眾所周知的決策樹算法C4.5[37]中, 置信因子會大大影響該算法的學習效果, 利用在不同參數值下多次運行C4.5算法的策略, 則可以得到不同的決策樹來構造集成系統[38].多核學習(MKL)[39]也是一種增強參數多樣性的集成學習方法, 它采用調整每個內核的參數和組合參數的方法, 將多個內核的優點組合, 然后用于分類或回歸.在神經網絡中, 通過改變網絡中的節點數[40, -41], 或者將不同的初始權重分配給網絡[42], 或者使用不同的網絡拓撲結構[43]來提高網絡多樣性.

在提高學習效果的目標下, 每個學習器的評價函數被擴展為增強多樣性的懲罰項.其中, 最常用的懲罰方法是負相關學習[44, 45, 46, 47].在集成學習中, 負相關學習思想采用不同的學習器來表示問題的不同子空間, 在訓練學習器時, 使用誤差函數中的相關性懲罰項來提高學習器之間的多樣性.

1.1.3 結構多樣性 結構多樣性主要是由個體學習器的內部結構或外部結構的不同所產生的.在一個集成學習系統中, 如果個體學習器都是由同種算法訓練產生的, 則稱之為同質集成.相反的, 如果一個集成系統中包含著不同類型的個體學習器, 則稱之為異質集成[48].W Wang等[49]通過實驗證明, 在神經網絡集成系統中添加一些決策樹(但不能太多)通常會提高整體的性能.文獻[50]指出, 在訓練模型時, 先讓集成系統無限地擴展, 然后再進行修剪, 有時可以獲得更有效的模型.Liu等[51]通過實驗探究集成系統大小如何影響集成學習的精度和多樣性, 證明從一個大的集成系統中構造一個小的集成系統既能確保準確性, 又能保證多樣性.隨后Zhou等[52]提出了一種模型選擇方法, 該方法可以得到一個結構簡單、性能優越的集成學習系統.理想情況下, 個體學習器的輸出應該是獨立或是負相關的[53, 54].

1.2 基學習器訓練方法

隨著集成學習研究領域的不斷發展, 雖然研究者們不斷提出新的集成學習算法, 但是這些算法大都是由一些經典算法如:Bagging、Boosting、Stacking等改編得到的, 這些經典算法具有良好的效果且被廣泛應用于各個領域, 本節將對以上3種經典的集成學習算法進行分析和對比.

1.2.1 Bagging Bagging算法[10](Bootstrap Aggregation)是最早的集成學習算法之一, 它雖然結構簡單, 但是表現優越.該算法通過隨機改變訓練集的分布產生新的訓練子集, 然后分別用不同的訓練子集來訓練個體學習器, 最后將其集成為整體.

該算法中, 由于使用自助采樣法來產生新的訓練子集, 一些實例會被多次采樣, 而其他實例會被忽略, 因此, 對于特定的子空間, 個體學習器會具有很高的分類精度, 而對于那些被忽略的部分, 個體學習器難以正確分類.但是, 最終的預測結果是由多個個體學習器投票產生的, 所以當個體學習器效果越好且它們之間的差異越大時, 該集成算法的效果就會越好.由于不穩定的學習算法對于訓練集比較敏感, 訓練集只要產生一些微小的變化, 就會導致其預測結果發生很大的改變, 所以Bagging算法對于不穩定學習算法非常有效.

Bagging算法適合于解決訓練集較小的問題, 但對于具有大量訓練集的問題, 其效果就會下降, 因此Breiman[55]基于Bagging設計了Pasting Small Votes算法, 該算法能夠有效地應對數據量較大的機器學習問題.文獻[56, 57, 58, 59, 60]對Bagging進行了深入的研究, 在文獻[59]中, 作者認為對于弱學習器, Bagging訓練得到的個體學習器是強相關的, 因此Bagging方法在這種情況下通常表現較差.因為個體學習器的選擇能直接改變Bagging算法的集成效果, 所以周志華等[61]提出了一種基于Bagging選擇性聚類集成算法, 并且張春霞等[62]詳細介紹了多種選擇性集成學習方法.

圖1是Bagging算法的整個流程, 該算法可以并行訓練個體學習器, 因此該算法具有很高的運行效率.

1.2.2 Boosting Boosting算法是一種將弱學習器轉換為強學習器的迭代方法, 它通過增加迭代次數, 產生一個表現接近完美的強學習器.其中, 弱學習器是指分類效果只比隨機猜測效果稍好的學習器, 即分類準確率略高于50%.在實際訓練中, 獲得一個弱學習器比獲得一個強學習器更加容易.因此, 對于Boosting系列算法的研究意義非凡.Boosting算法除了具有良好的實際性能外, 還具有強大的理論基礎和算法特點[63, 64, 65, 66, 67].

圖1 Bagging算法流程圖Fig.1 Procedure of Bagging algorithm

對于監督學習, 該算法在第一個分類器之后產生的每一個分類器都是針對前一次未被正確分類的樣本進行學習, 因此該算法可以有效地降低模型的偏差, 但隨著訓練的進行, 整體模型在訓練集上的準確率不斷提高, 導致方差變大, 不過通過對特征的隨機采樣可以降低分類模型間的相關性, 從而降低模型整體的方差.當主分類器不能被信任, 無法對給定對象進行分類時, 例如, 由于其結果中的置信度低, 則將數據輸送到輔助分類器, 按順序添加分類器[68, 69, 70, 71].下面將對Boosting算法的流程進行簡單介紹.

如圖2所示, Boosting算法反復運行一個弱學習器來處理不同分布的訓練數據, 然后按照順序將每次產生的弱學習器組合成一個復合強學習器.

圖2 Boosting算法流程圖Fig.2 Procedure of Boosting algorithm

1.2.3 Stacking Stacking也稱Stacked Generalization[7], 它是指訓練一個用于組合所有個體學習器的模型, 即首先訓練多個不同的個體學習器, 然后再以這些個體學習器的輸出作為輸入來訓練一個模型, 從而得到一個最終的輸出.文獻[72]給出了適用于派生更高層次模型的一般化類型, 以及該通用模型的輸出屬性.文獻[73]對比了投票法和Stacking法, 結果表明在很多領域中Stacking的效果都優于投票法.在Stacking算法中, 由于基礎學習器、元學習器和參數的選擇會直接決定學習效果, 因此Ledezma等[74]使用遺傳算法來選擇該算法的最佳配置.接下來本文對Stacking算法的流程進行簡單介紹.

如圖3所示, 首先在整個訓練數據集上通過重采樣方法得到多個訓練子集, 然后使用這些新產生的訓練集訓練得到一系列分類模型, 稱之為Tier 1, 然后將Tier1的輸出組合后用于訓練Tier2的元分類器.除了重采樣方法, 交叉驗證也經常在訓練Tier1分類器時使用, 即首先將訓練集分成N等份, 然后Tier1中的每個個體學習器根據前N-1份訓練集進行訓練, 最后在第N份訓練集上測試.

1.2.4 3種算法優缺點分析 Bagging、Boosting和Stacking 3種集成學習算法各具特色, 分別從不同的角度解決機器學習問題, 因此本文分析并對比了3種算法, 將它們的優勢和不足總結如下.

Bagging通過重采樣方法從原始訓練集中有放回的采樣得到多個訓練子集, 由于各個訓練子集相互獨立, 降低了基分類器的方差, 改善了泛化誤差, 并且重采樣方法可以有效降低原始訓練集中隨機波動導致的誤差, 使得不穩定的學習器具有更好的學習效果.因為該算法中的基學習器權重相同, 所以基學習器的選擇會直接影響集成結果, 不穩定的基學習器不僅能提供良好的學習效果, 而且能根據訓練集的不同產生多樣性, 因此Bagging與不穩定的學習算法相結合通常能產生一個強大的學習模型, 并且具有良好的抗噪能力, 而且各個基學習器可以并行生成, 提高運行效率.

Boosting在每輪訓練中使用的訓練集不變, 但訓練集中每個樣例會根據上一輪的學習結果進行調整, 使新學習器針對已有學習器判斷錯誤的樣本進行學習.這種方法能夠顯著提高弱學習器的學習效果, 但很容易受到噪聲的影響產生過擬合現象, 并且每個基學習器只能順序生成, 訓練效率相對較差.

Stacking使用初級學習器產生新的訓練集來訓練次級學習器, 但如果直接使用初級學習器的訓練集來產生次級訓練集會有很大的風險造成過擬合, 因此通常使用交叉驗證方法來產生次級訓練集.在該算法中, 次級訓練集的數據類型和次級學習器的選擇是兩個關鍵因素.使用多個強大而不同的初級學習器并且使用類標概率代替預測類標作為次級學習器的屬性會產生更好的結果, 并且次級學習器選擇簡單的模型會降低過擬合的風險.

圖3 Stacking算法流程圖Fig.3 Procedure of Stacking algorithm

1.3 基學習器的組合策略

構建集成學習系統的最后一步就是選擇個體學習器的組合策略.集成學習系統可以根據個體學習器的表現來決定是否使用該學習器[75, 76].下面本節將介紹幾種常用的組合策略.

1.3.1 投票法 簡單投票法一般分為以下2種:

(1) 絕對多數投票(majority voting):當某類標的得票數超過個體學習器數量的一半以上時, 將該類標作為預測結果輸出, 若不存在得票數超過一半的類標, 則拒絕預測.

(2) 相對多數投票(plurality voting):取得票數最多的類標作為預測結果輸出, 不需要考慮得票數是否超過個體學習器數量的一半, 若多個類標都獲得最高的得票數, 則隨機選擇其中一個類標輸出.

在學習任務中, 若必須要求集成學習系統提供預測結果, 則絕對多數投票就變成了相對多數投票法, 因此通常將這兩種方法統稱為多數投票法.因為學習器的訓練方法和采用的算法存在區別, 所以集成學習系統中個體學習器的學習能力也不同, 在投票過程中如果能將個體學習器的學習能力考慮進去, 將可以進一步的提高整個系統的性能.

加權投票法[77](weighted voting):首先估計出個體學習器的誤差, 然后令權重大小與誤差大小成反比, 最終T個個體學習器加權投票的結果可以表示為:

H(x)= i=1Twihi(x), (1)

其中wi為第i個個體學習器的權值, 通常wi> 0, 并且 i=1Twi> 0.

1.3.2 平均法 平均法是一種組合連續數值型輸出常用的方法, 它主要分為簡單平均法(simple averaging)和加權平均法(weighted averaging).簡單平均法可以表示為:

H(x)= 1Ti-1Thi(x), (2)

其中為第i個個體學習器.

加權平均法結合了簡單平均法和加權投票法, 與加權投票法不同的是加權平均法中的權值不是用于類標, 而是直接應用于實際的連續輸出值.加權平均法的權值可以在集成系統生成期間作為訓練的一部分獲得, 如AdaBoost算法中權值的產生, 或者可以通過單獨的訓練來獲得.加權平均法可以表示為:

H(x)= i-1Twili(x). (3)

2 集成學習的應用

時間序列分析、醫療健康和入侵檢測三大領域與人們生活息息相關, 因此被研究人員廣泛關注.但由于這3個領域都具有數據維度高、數據結構復雜和特征模糊等特點, 難以進行人工分析與處理, 因此機器學習方法的引入使得3個領域的研究取得了突破.在各種機器學習方法中, 集成學習作為一種可以最大化提升學習效果的技術, 推動了諸多領域的快速發展, 因此集成學習也被廣泛應用于這3個領域并取得了良好的效果.本文將集成學習在這3個領域中的應用進行了概述.

2.1 在時間序列上的應用

集成學習被廣泛用于預測天氣[78]、電氣設備和化工裝置的損耗, 衛星通信和雷達數據等時間序列.時間序列預測與普通預測的區別在于, 隨著時間的推移, 可能會在概念或分布上發生一些偏差.處理這些問題最有效的方法是使用多個學習器共同決策, 因為多個學習器相比于單個學習器具有更好的泛化能力.

在時間序列預測方面, Md M Islam等[79]提出了CNNE(cooperative neural-network ensemble)算法, 該算法通過使用一個特定的構造方法來決定神經網絡中隱藏節點個數, 以此保證每個神經網絡的準確性, 并且使用基于負相關的增量訓練法來獲取不同周期的神經網絡, 從而確保個體神經網絡的多樣性.D Kim等[80]提出了一種GFPE(genetic fuzzy predictor ensemble)算法, 該算法分為兩階段, 第一階段生成一個盡可能涵蓋多的訓練樣例的模糊規則庫, 第二階段建立微調隸屬函數來降低預測誤差, 最后加權組合每個模糊預測器的結果進一步的減少預測誤差.Assaad等[81]將boosting和RNN相結合, 進一步提升了RNN在時間序列預測方面的效果.熊志斌[82]提出了一種基于ARIMA和神經網絡集成的GDP時間序列預測算法, 該集成算法優于單一模型并且能夠有效用于GDP預測時間序列分類方面, J Neugebauer等[83]設計出了一個通用的級聯分類模型, 它可以將高維分類任務分解為一系列低維任務, 因此它不僅適用于時間序列, 也可以用于處理其他具有復雜數據結構的數據集.A Bagnall等[84]提出了一種將監督式集成學習和轉換數據空間相結合的方法, 該方法首先將原始時間序列在時間、頻率、變化和shapelet四個領域上進行轉換, 然后再使用監督式集成學習方法生成模型.更多關于使用集成學習進行時間序列分類的研究可以參考[85, 86, 87].

時間序列聚類方面, Y Yang等[88]提出了一種結合RPCL網絡和集成學習的方法, 該方法用多個RPCL網絡分別聚類不同表征學習后的時間序列, 從而產生多個競爭學習的結果并將其組合, 然后使用幾個共識函數(consensus function)在組合結果上學習, 最后采用一種最優的選擇函數來輸出結果.此外, 文獻[89]中提出的加權聚類集成算法也表現出卓越的性能, 該算法通過使用不同特征表示方法對同一個時間序列進行特征學習, 然后利用加權共識函數(weighted consensus function)對產生的所有特征進行學習, 最后采用協議函數(agreement function)來輸出結果.針對基于隱馬爾科夫的時間數據聚類問題, 一種雙加權集成方法[90]和混合元聚類集成方法[91]被提出, 這兩種方法都能有效地解決模型初始化和模型選擇的問題.更多關于時間序列聚類的研究可以參考[92, 93, 94, 95].

2.2 在醫療健康上的應用

醫療領域數據通常具有數據量大、數據質量不高和數據不精確等特點.然而, 用于醫療診斷的專家系統需要具有高度精確性, 因為其結果將直接關系到患者的生命, 現有的專家診療系統有:計算機輔助診斷系統[96](Computer Aided Diagnosis, CAD)、臨床決策支持系統[97](Clinical Decision Support System, CDSS)等.因此, 在該領域利用集成學習方法集成多個“ 專家” 進行決策的系統相比只根據單個“ 專家” 進行決策的系統具有更高的準確性.

Y Li等[98]針對帕金森病設計出一種基于語音數據的分類算法.B Lssac等[99]提出了一種基于特征選擇和數據分類的集成學習方法, 此方法用于癌癥診斷和評分.D Subramanian等[100]在預測心力衰竭方面提出了一個結合時間序列測量方法和多元邏輯回歸集成模型的方法.Guo Haoyan等[101]設計了一種針對肺結節檢測的多層次特征選擇和集成學習的計算機輔助診斷系統.李霞等[102]提出了一種基于遞歸分類樹的特征基因選擇的集成方法, 該方法不僅能夠尋找疾病相關基因, 而且能顯著提高疾病的分類準確率.A C Tan等[103]將Bagging、Boosting和C4.5決策樹算法相結合, 在癌基因表達譜中利用微陣列分析對癌癥基因組數據進行分類.并且, 集成學習在生物信息方面也具有廣泛的應用[104, 105, 106, 107].

2.3 在入侵檢測系統中的應用

互聯網, 手機, 電子商務, 基于PC的通信和信息系統已成為日常生活的一部分.這些系統的廣泛使用使通信變得更加方便快捷, 增加了數據傳輸和信息共享量, 并提高了生活質量.由于通信系統在許多領域都有使用, 因此當它們受到諸如病毒, 蠕蟲, 特洛伊木馬等各種攻擊的困擾時, 便會對日常生活造成很大的影響.關于發現攻擊并消除其影響的研究被稱為入侵檢測系統(IDS)[108].可將IDS研究看作是將網絡的正常行為與攻擊行為分開的分類任務.機器學習和數據挖掘算法在IDS研究中被廣泛使用, 其主要目的是解決IDS泛化能力差的問題.由于攻擊者會不斷改變并提高他們的能力, 所以對IDS的研究將是永無止境的[109, 110, 111].P Mehetrey等[112]研究了一種基于集成學習方法的協同入侵檢測系統, 它允許使用未開發的云資源來檢測云系統上的各種類型的攻擊.谷雨等[113]針對于新的入侵行為, 提出了一種集成PCA、ICA和增量式支持向量機的分類系統.P Sornsuwit等[114]針對于U2R和R2L這兩種難以檢測的網絡入侵攻擊, 采用AdaBoost算法創建一個可以保護安全性并提高分類器性能的模型.S Chebrolu等[115]提出了一種基于集成學習方法的混合體系結構, 它將不同的特征選擇算法組合, 通過確定重要的輸入特征, 從而建立一個高效的入侵檢測系統.G Giacinto等[116]針對網絡流量中不同的協議與服務, 提出了一種基于模塊化多分類器系統(MCS)的無標簽網絡異常入侵檢測系統, 其中每個模塊都會模擬一組特定的網絡協議或者服務類型.

3 總 結

人類做出重大決定前會尋求多種意見來輔助決策, 集成學習算法就是模仿這種行為而產生的.七十年代后期, 模式識別、統計學和機器學習等學科的研究人員開始對集成學習方法進行研究.隨著研究熱情不斷增長, 并且對于集成學習的研究不斷深入, 多種集成學習方法被提出并被廣泛應用于各個領域.

集成學習通過結合多個學習器來為各種機器學習問題提供解決方案, 其模型能夠解決很多單一模型無法解決的問題.由于大部分集成學習算法對基礎學習器的類型沒有限制, 并且它對于諸多成熟的機器學習框架都具有良好的適用性, 因此集成學習也被稱為“ 無算法的算法” .

已有集成學習算法還存在很多不足和局限性, 例如, 若想通過Bagging算法取得較好的集成效果, 則需要基學習器同時具備高效的學習能力以及高度的數據敏感性.Boosting算法在訓練帶有噪聲的數據時容易產生過擬合問題.因此集成學習在很多方面還需進一步研究, 后續的研究工作可以從以下幾個方面展開:①集成學習結構優化:針對集成學習系統的內部結構和外部結構進行研究, 使集成學習系統的性能進一步提高.②集成學習模型選擇:對集成學習系統中的模型進行選擇, 將冗余和對結果有負面影響的模型移除.③集成學習模型融合:對于非監督算法, 其輸出結果較為復雜, 適用于監督式集成學習算法的模型融合策略無法使用.

本文首先對集成學習的發展歷史進行了簡要的介紹, 然后對集成學習的三大支柱進行了詳細的闡述, 最后列舉了集成學習在具體問題中的應用.本文為集成學習的初學者提供了一個完整的學習框架, 清晰地對集成學習方法進行了較為全面的闡述, 希望通過本文的介紹, 讀者能夠了解集成學習系統構造方法和基本的集成學習模型, 并且鼓勵讀者繼續探索研究集成學習, 也可以將集成學習方法引入自身研究領域, 為該領域的研究提供一種新的思路.

The authors have declared that no competing interests exist.

參考文獻
[1] DIETTERICH T G. Ensemble methods in machine learning[J]. Proc International Workshop on Multiple Classifier Systems, 2000, 1857(1): 1-15. [本文引用:1]
[2] KOHAVI R, WOLPERT D. Bias plus variance decomposition for zero-one loss functions[C]. Thirteenth International Conference on International Conference on Machine Learning, 1996: 275-283. [本文引用:1]
[3] DASARATHY B V, SHEELA B V. A composite classifier system design: Concepts and methodology[C]. Proceedings of the IEEE, 1979, 67(5): 708-713. [本文引用:1]
[4] HANSEN L K, SALAMON P. Neural network ensembles[C]. IEEE Computer Society, 1990: 993-1001. [本文引用:1]
[5] FREUND Y, SCHAPIRE R E. A decision-theoretic generalization of on-line learning and an application to boosting[J]. Journal of Computer and System Sciences, 1997, 55(1): 23-37. [本文引用:2]
[6] JACOBS R A, et al. Adaptive mixtures of local experts[J]. Neural Computation, 1991, 3(1): 79-87. [本文引用:1]
[7] WOLPERT D H. Stacked generalization[M]. US: Springer, 1992: 241-259. [本文引用:2]
[8] FREUND Y, SCHAPIRE R E. Game theory, on-line prediction and boosting[C]. Conference on Computational Learning Thoery, 1996. DOI: DOI:10.1145/238061.238163. [本文引用:1]
[9] FREUND Y, SCHAPIRE R E. Experiments with a new boosting algorithm[C]. International Conference on Machine Learning, 1996: 148-156. [本文引用:1]
[10] BREIMAN L. Bagging predictors[J]. Machine Learning, 1996, 24: 123-140. [本文引用:2]
[11] WOODS K S, KEGELMEYER W P, BOWYER K W. Combination of multiple classifiers using local accuracy estimates[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997, 19(4): 405-410. [本文引用:1]
[12] BREIMAN L. Rand om forests[J]. Machine Learning, 2001, 45(1): 5-32. [本文引用:2]
[13] ZHANG C, ZHANG C. HC/Technik/Sonstiges. Ensemble Machine Learning[M]. US: Springer, 2009. [本文引用:1]
[14] BROWN G, et al. Diversity creation methods: a survey and categorisation[J]. Information Fusion, 2005, 6(1): 5-20. [本文引用:1]
[15] TO G B, BROWN G. Diversity in neural network ensembles[D]. Birmingham: University of Birmingham, 2004. [本文引用:1]
[16] TUMER K, GHOSH J. Error correlation and error reduction in ensemble classifiers[J]. Connection Science, 1996, 8(3/4): 385-404. [本文引用:1]
[17] KROGH A, VEDELSBY J. Neural network ensembles, cross validation and active learning[J]. International Conference on Neural Information Processing Systems, 1994, 7(10): 231-238. [本文引用:1]
[18] TANG E K, SUGANTHAN P N, YAO X. An analysis of diversity measures[J]. Machine Learning, 2006, 65(1): 247-271. [本文引用:1]
[19] BANFIELD R E, et al. Ensemble diversity measures and their application to thinning[J]. Information Fusion, 2005, 6(1): 49-62. [本文引用:1]
[20] KUNCHEVA L I, WHITAKER C J. Measures of diversity in classifier ensembles and their relationship with the ensemble accuracy[J]. Machine Learning, 2003, 51(2): 181-207. [本文引用:1]
[21] KUNCHEVA L I. Combining pattern classifiers: methods and algorithms[M]. New Jersey: John Wiley Sons, 2004. [本文引用:1]
[22] ZHOU Z H. Ensemble methods: foundations and algorithms[M]. Taylor & Francis, 2012: 77-79. [本文引用:1]
[23] YANG Y, JIANG J. Hybrid sampling-based clustering ensemble with global and local constitutions[J]. IEEE Transactions on Neural Networks & Learning Systems, 2017, 27(5): 952-965. [本文引用:1]
[24] YANG Y, CHEN K. Unsupervised learning via iteratively constructed clustering ensemble[C]. International Joint Conference on Neural Networks, 2017: 1-8. [本文引用:1]
[25] BOSTROM H. Feature vs. classifier fusion for predictive data mining a case study in pesticide classification[C]. International Conference on Information Fusion, 2007: 1-7. [本文引用:1]
[26] HAN D Q, HAN C Z, YANG Y. Multi-class SVM classifiers fusion based on evidence combination[C]. International Conference on Wavelet Analysis and Pattern Recognition, 2008: 579-584. [本文引用:1]
[27] MAIMON O, ROKACH L. Improving supervised learning by feature decomposition[J]. International Symposium on Foundations of Information and Knowledge Systems, 2002, 2284: 178-196. [本文引用:1]
[28] HO T K. The rand om subspace method for constructing decision forests[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1998, 20(8): 832-844. [本文引用:1]
[29] ROKACH L. Genetic algorithm-based feature set partitioning for classification problems[J]. Pattern Recognition, 2008, 41(5): 1676-1700. [本文引用:1]
[30] ROKACH L. Decomposition methodology for classification tasks: a meta decomposer framework[J]. Pattern Analysis & Applications, 2006, 9(2/3): 257-271. [本文引用:1]
[31] KUSIAK A. Decomposition in data mining: an industrial case study[J]. IEEE Transactions on Electronics Packaging Manufacturing, 2000, 23(4): 345-353. [本文引用:1]
[32] YANG Y, LIU X, YE Q, et al. Ensemble learning based person Re-Identification with multiple feature representations[J]. Complexity, 2018(To Appear). [本文引用:1]
[33] ROKACH L, MAIMON O. Feature set decomposition for decision trees[M]. Nethorland s: IOS Press, 2005: 131-158. [本文引用:1]
[34] YANG Y, JIANG J. HMM-based hybrid meta-clustering ensemble for temporal data[J]. Knowledge-Based Systems, 2014, 56: 299-310. [本文引用:1]
[35] BREIMAN L. Rand omizing outputs to increase prediction accuracy[J]. Machine Learning, 2000, 40(3): 229-242. [本文引用:2]
[36] DIETTERICH T G, BAKIRI G. Solving multiclass learning problems via error-correcting output codes[J]. AI Access Foundation, 1994, 2(1): 263-286. [本文引用:1]
[37] SALZBERG S L. C4. 5: Programs for machine learning by J. Ross Quinlan. Morgan Kaufmann Publishers 1993[J]. Machine Learning, 1994, 16(3): 235-240. [本文引用:1]
[38] LEE S J, XU Z, LI T, et al. A novel bagging C4. 5 algorithm based on wrapper feature selection for supporting wise clinical decision making[J]. Journal of Biomedical Informatics, 2017, 78: 144-155. [本文引用:1]
[39] GÖNEN M, ALPAYDIN E. Multiple kernel learning algorithms[J]. Journal of Machine Learning Research, 2011, 12: 2211-2268. [本文引用:1]
[40] PARTRIDGE D, YATES W B. Engineering multiversion neural-net systems[J]. Neural Computation, 1996, 8(4): 869-893. [本文引用:1]
[41] YATES W B, PARTRIDGE D. Use of methodological diversity to improve neural network generalisation[J]. Neural Computing & Applications, 1996, 4(2): 114-128. [本文引用:1]
[42] JORDAN M I, LECUN Y, SOLLA S A. Advances in neural information processing systems[J]. Biochemical & Biophysical Research Communications, 2002, 159(6): 125-132. [本文引用:1]
[43] OPITZ D W, SHAVLIK J W. Generating accurate and diverse members of a neural-network ensemble[J]. Advances in Neural Information Processing Systems, 1996, 8: 535-541. [本文引用:1]
[44] LIU Y. Generate different neural networks by negative correlation learning[J]. Springer Berlin Heidelberg, 2005, 3 610: 417-417. [本文引用:1]
[45] BROWN G, WYATT J. Negative correlation learning and the ambiguity family of ensemble methods[C]. Multiple Classifier Systems, Internation Workshp MCS, Guilfod UK, 2003: 266-275. [本文引用:1]
[46] ROSEN B E. Ensemble learning using decorrelated neural networks[J]. Connection Science, 1996, 8(34): 373-384. [本文引用:1]
[47] YANG Y, CHEN K. An ensemble of competitive learning networks with different representations for temporal data clustering[C]. International Joint Conference on Neural Networks, 2006: 3120-3127. [本文引用:1]
[48] YANG Y, LIU X. A robust semi-supervised learning approach via mixture of label information[M]. Amsterdan: Elsevier Science Inc, 2015. [本文引用:1]
[49] WANG W, JONES P, PARTRIDGE D. Diversity between neural networks and decision trees for building multiple classifier systems[C]. International Workshop on Multiple Classifier Systems, 2000: 240-249. [本文引用:1]
[50] ROKACH L. Collective-agreement-based pruning of ensembles[J]. Computational Statistics & Data Analysis, 2009, 53(4): 1015-1026. [本文引用:1]
[51] LIU H, MANDVIKAR A, MODY J. An empirical study of building compact ensembles[C]. Advances in Web-Age Information Management: International Conference, 2004: 622-627. [本文引用:1]
[52] ZHOU Z H, WU J, TANG W. Ensembling neural networks: many could be better than all[J]. Artificial Intelligence, 2002, 137(1/2): 239-263. [本文引用:1]
[53] CHANDRA A, YAO X. Evolving hybrid ensembles of learning machines for better generalisation[J]. Neurocomputing, 2006, 69(7): 686-700. [本文引用:1]
[54] LIU Y, YAO X. Ensemble learning via negative correlation[J]. Neural Netw, 1999, 12(10): 1399-1404. [本文引用:1]
[55] BREIMAN L. Pasting small votes for classification in large databases and on-line[J]. Machine Learning, 1999, 36(1/2): 85-103. [本文引用:1]
[56] BREIMAN L. Bias variance and arcing classifiers[J]. Additives for Polymers, 1996, 2002(6): 10. [本文引用:1]
[57] BÜHLMANN P, YU B. Analyzing bagging[J]. Annals of Statistics, 2002, 30(4): 927-961. [本文引用:1]
[58] SCHAPIRE R E. The strength of weak learnability[J]. Proceedings of the Second Annual Workshop on Computational Learning Theory, 1990, 5(2): 197-227. [本文引用:1]
[59] ZHU X, BAO C, QIU W. Bagging very weak learners with lazy local learning[C]. International Conference on Pattern Recognition, 2012: 1-4. [本文引用:2]
[60] ZHU X, YANG Y. A lazy bagging approach to classification[J]. Pattern Recognition, 2008, 41(10): 2980-2992. [本文引用:1]
[61] 唐偉, 周志華. 基于Bagging的選擇性聚類集成[J]. 軟件學報, 2005, 16(4): 496-502.
TANG W, ZHOU Z H. Bagging-based selective clusterer ensemble[J]. Journal of Software, 2005, 16(4): 496-502. [本文引用:1]
[62] 張春霞, 張講社. 選擇性集成學習算法綜述[J]. 計算機學報, 2011, 34(8): 1399-1410.
ZHANG C X, ZHANG J S. A survey of selective ensemble learning algorithms[J]. Chinese Journal of Computers, 2011, 34(8): 1399-1410. [本文引用:1]
[63] HASTIE T, FRIEDMAN J, TIBSHIRANI R. The elements of statistical learning[J]. Technometrics, 2001, 45(3): 267-268. [本文引用:1]
[64] MEIR R, RÄTSCH G. An introduction to boosting and leveraging[J]. Advanced Lectures on Machines Learning, 2003, 2600: 119-184. [本文引用:1]
[65] SCHAPIRE R E. The boosting approach to machine learning[J]. An Overview, 2003, 171: 149-171. [本文引用:1]
[66] 曹瑩, 黃啟廣, 劉家辰, . AdaBoost算法研究進展與展望[J]. 自動化學報, 2013, 39(6): 745-758.
CAO Y, MIAO Q G, LIU J C, et al. Advance and prospects of adaBoost algorithm[J]. Acta Automatica Sinica, 2013, 39(6): 745-758. [本文引用:1]
[67] 于玲, 吳鐵軍. 集成學習: Boosting算法綜述[J]. 模式識別與人工智能, 2004, 17(1): 52-59.
YU L, WU T G. Assemble learning: A survey of Boosting algorithm[J]. Pattern Recognition and Artificial Entelligence, 2004, 17(1): 52-59. [本文引用:1]
[68] BENMOKHTAR R, HUET B. Classifier fusion: combination methods for semantic indexing in video content[C]. International Conference on Artificial Neural Networks, 2006: 65-74. [本文引用:1]
[69] LAM L. Classifier combinations: implementations and theoretical issues[C]. International Workshop on Multiple Classifier Systems, 2000: 77-86. [本文引用:1]
[70] RAHMAN A F R, FAIRHURST M C. Serial combination of multiple experts: a unified evaluation[J]. Pattern Analysis & Applications, 1999, 2(4): 292-311. [本文引用:1]
[71] WOŹNIAK M, GRAÑA M, CORCHADO E. A survey of multiple classifier systems as hybrid systems[J]. Information Fusion, 2014, 16(1): 3-17. [本文引用:1]
[72] KAI M T, WITTEN I H. Stacked generalization: when does it work?[C]. Fifteenth International Joint Conference on Artifical Intelligence, 1997: 866-871. [本文引用:1]
[73] SIGLETOS, PALIOURAS G, SPYROPULOS C D, et al. Combining information extraction systems using voting and stacked generalization[J]. Journal of Machine Learning Research, 2005, 6(3): 1751-1782. [本文引用:1]
[74] LEDEZMA A, ALER R, SANCHIS A, et al. GA-stacking: Evolutionary stacked generalization[J]. Intelligent Data Analysis, 2010, 14(1): 89-119. [本文引用:1]
[75] KUMARI G T P. A study of Bagging and Boosting approaches to develop meta-classifier[J]. Engineering Science and Technology, 2012, 2(5): 850-855 [本文引用:1]
[76] VALENTINI G, DIETTERICH T G. Bias-variance analysis of SVM for the development of SVM-based Ensemble[J]. Journal of Machine Learning Research, 2004, 5(3): 725-775. [本文引用:1]
[77] ARISTOTLE J. Weighted majority algorithm[M]. Secut Press, 2013. [本文引用:1]
[78] PAPPENBERGER F, BEVEN K J, HONTER N M, et al. Cascading model uncertainty from medium range weather forecasts (10 days) through a rainfall-runoff model to flood inundation predictions within the european flood forecasting system (EFFS)[J]. Hydrology & Earth System Sciences, 2005, 9(4): 381-393. [本文引用:1]
[79] ISLAM M M, YAO X, MURASE K. A constructive algorithm for training cooperative neural network ensembles[J]. IEEE Transactions on Neural Networks, 2003, 14(4): 820. [本文引用:1]
[80] KIM D, KIM C. Forecasting time series with genetic fuzzy predictor ensemble[J]. Fuzzy Systems IEEE Transactions on, 1997, 5(4): 523-535. [本文引用:1]
[81] ASSAAD M, BONÉ R, CARDOT H. A new boosting algorithm for improved time-series forecasting with recurrent neural networks[J]. Information Fusion, 2008, 9(1): 41-55. [本文引用:1]
[82] 熊志斌. 基于ARIMA與神經網絡集成的GDP時間序列預測研究[J]. 數理統計與管理, 2011, 30(2): 306-314.
XIONG Z B. Research on GDP time series forecastingbased onintergrating ARIMA with neural networks[J]. Jouranal of Applied Statistics and Management, 2011, 30(2): 306-314. [本文引用:1]
[83] NEUGEBAUER J, BREMER J, HINRICHS C, et al. Generalized cascade classification model with customized transformation based ensembles[C]. International Joint Conference on Neural Networks, 2016: 4056-4063. [本文引用:1]
[84] BAGNALL A, LINES T, HILLS J, et al. Time-series classification with COTE: the collective of transformation-based ensembles[J]. IEEE Transactions on Knowledge & Data Engineering, 2015, 27(9): 2522-2535. [本文引用:1]
[85] NGUYEN M N, LI X L, NG S K. Ensemble based positive unlabeled learning for time series classification[M]. Springer Berlin Heidelberg, 2012: 243-257. [本文引用:1]
[86] OEDA S, KURIMOTO I, ICHIMURA T. Time series data classification using recurrent neural network with ensemble learning[M]. Springer Berlin Heidelberg, 2006: 742-748. [本文引用:1]
[87] GIACOMEL F, PEREIRA A C M, GALANTE R. Improving financial time series prediction through output classification by a neural network ensemble[M]. Springer International Publishing, 2015: 331-338. [本文引用:1]
[88] YANG Y, CHEN K. Time series clustering via RPCL network ensemble with different representations[J]. Systems Man and Cybernetics, 2011, 41(2): 190-199. [本文引用:1]
[89] YANG Y, CHEN K. Temporal data clustering via weighted clustering ensemble with different representations[J]. IEEE Transactions on Knowledge and Data Engineering, 2011, 23(2): 307-320. [本文引用:1]
[90] YANG Y, JIANG J. Bi-weighted ensemble via HMM-based approaches for temporal data clustering[J]. Pattern Recognition, 2018, 76: 391-403. [本文引用:1]
[91] YANG Y, JIANG J. Adaptive bi-weighting toward automatic initialization and model selection for HMM-based hybrid meta-clustering ensembles[J]. IEEE Transactions on Cybernetics, 2018, pp(99): 1-12. [本文引用:1]
[92] YANG Y. Temporal data mining via unsupervised ensemble learning[M]. Elsevier, 2017. [本文引用:1]
[93] YANG Y, CHEN K. Combining competitive learning networks of various representations for sequential data clustering[C]. Combining Competitie Learning Networks for Sequence Clustering, 2006: 315-336. DOI: DOI:10.1007/978-3-540-36122-0_13. [本文引用:1]
[94] STREHL A, GHOSH J. Cluster ensembles—a knowledge reuse framework for combining multiple partitions[J]. JMLR org, 2003, 3(3): 583-617. [本文引用:1]
[95] YANG Y, LI I, WANG W, et al. An adaptive semi-supervised clustering approach via multiple density-based information[J]. Neurocomputing, 2017, 257: 193-205. [本文引用:1]
[96] REKOW E D, CAD/CAM in dentistry[J]. Alpha Omegan, 1991, 84(4): 41. [本文引用:1]
[97] GARG A X, ADHIKARI N K J, MCDENALD H, et al. Effects of computerized clinical decision support systems on practitioner performance and patient outcomes: a systematic review[J]. Centre for Reviews and Dissemination (UK), 2005, 293(10): 1223-1238. [本文引用:1]
[98] LI Y, YANG L, WANG P, et al. Classification of parkinson's disease by decision tree based instance selection and ensemble learning algorithms[J]. Journal of Medical Imaging & Health Informatics, 2017, 7(2). DOI: DOI:10.1116/jmihi.2017.2033. [本文引用:1]
[99] BIJIU LSSAC, NAUMAN LSRAR. Case studies in intelligent computing achievements and trends[M]. CRC Press, 2014: 517-532. [本文引用:1]
[100] SUBRAMANIAN D, SUBRAMANIAN V, DESWAL A, et al. New predictive models of heart failure mortality using time-series measurements and ensemble models[J]. Circulation Heart Failure, 2011, 4(4): 456-462. [本文引用:1]
[101] GUO H Y, WANG D. A multilevel optimal feature selection and ensemble learning for a specific CAD system-pulmonary nodule detection[J]. Applied Mecharics & Materials, 2013, 380-384: 1593-1599 [本文引用:1]
[102] 李霞, 張田文, 郭政. 一種基于遞歸分類樹的集成特征基因選擇方法[J]. 計算機學報, 2004, 27(5): 675-682.
LI X, ZHANG T W, GUO Z. An novelb ensemble method of feature gene selection based on recursive partition-tree[J]. Chinese Journal of Computers, 2004, 27(5): 675-682. [本文引用:1]
[103] TAN A C, GILBRT D. Ensemble machine learning on gene expression data for cancer classification[J]. Appl Bioinformatics, 2003, 2(Suppl 3): S75. [本文引用:1]
[104] YANG P, Hwa Yang Y, B ZHOU B, et al. A review of ensemble methods in bioinformatics[J]. Current Bioinformatics, 2010, 5(4): 296-308. [本文引用:1]
[105] OKUN O. Feature selection and ensemble methods for bioinformatics: Algorithmic Classification and Implementations[M]. Information Science Reference-Imprint of: IGI Publishing, 2011. [本文引用:1]
[106] YANG P, ZHOU B B, YANG J Y, et al. Stability of feature selection algorithms and ensemble feature selection methods in bioinformatics[M]. John Wiley & Sons Inc, 2014: 333-352. [本文引用:1]
[107] MA Y. An empirical investigation of tree ensembles in biometrics and bioinformatics research[D]. Morgantown: West Virginia University, 2007. [本文引用:1]
[108] ROWLAND C H. Intrusion detection system[P]. US, Patent 6 405 318, 2002-06-11. [本文引用:1]
[109] SOMMER R, PAXSON V. Outside the closed world: on using machine learning for network intrusion detection[J]. IEEE Symposium on Security and Privacy, 2010, 41(3): 305-316. [本文引用:1]
[110] KARTHIKEYAN S S, KARTHIKEYAN, MAYBELL P S. An ensemble design of intrusion detection system for hand ling uncertainty using Neutrosophic Logic Classifier[J]. Elsevier Science Publishers B V, 2012, 28(2): 88-96. [本文引用:1]
[111] GAIKWAD D, THOOL R. DAREnsemble: decision tree and rule learner based ensemble for network intrusion detection system[M]. Springer International Publishing, 2016. [本文引用:1]
[112] MEHETREY P, SHAHRIARI B, MOH M. Collaborative ensemble-learning based intrusion detection systems for clouds[C]. International Conference on Collaboration Technologies and Systems, 2017: 404-411. [本文引用:1]
[113] 谷雨, 徐宗本, 孫劍, . 基于PCA與ICA特征提取的入侵檢測集成分類系統[J]. 計算機研究與發展, 2006, 43(4): 633-638.
GU Y, XU Z B, SUN J, et al. An intrution detection ensemble system based on the featureextracted by PCA and ICA[J]. Journal of Computer Research and Development, 2006, 43(4): 67-72. [本文引用:1]
[114] SORNSUWIT P, JAIYEN S. Intrusion detection model based on ensemble learning for U2R and R2L attacks[C]. International Conference on Information Technology and Electrical Engineering, 2016: 354-359. [本文引用:1]
[115] CHEBROLU S, ABRAHAM A, THOMAS J P. Feature deduction and ensemble design of intrusion detection systems[J]. Computers & Security, 2005, 24(4): 295-307. [本文引用:1]
[116] GIACINTO G, PERDISCI R, DEL RIO M, et al. Intrusion detection in computer networks by a modular ensemble of one-class classifiers[J]. Information Fusion, 2008, 9(1): 69-82. [本文引用:1]
鸿禾娱乐