(廣東工業大學自動化學院 廣東 廣州 510000)
機器學習的求解過程可以看作是在假設空間中搜索一個具有強泛化能力和高魯棒性的學習模型,而在假設空間中尋找合適模型的過程是較為困難的。然而,集成學習作為一類組合優化的學習方法,不僅能通過組合多個簡單模型以獲得一個性能更優的組合模型,而且允許研究者可以針對具體的機器學習問題設計組合方案以得到更為強大的解決方案?;仡櫫思蓪W習的發展歷史,并著重對集成學習中多樣性的產生、模型訓練和模型組合這三大策略進行歸納,然后對集成學習在現階段的相關應用場景進行了描述,并在最后對集成學習的未來研究方向進行了分析和展望[1]。
近幾十年以來,由于集成學習能高效地解決實際應用問題,所以在機器學習領域內備受關注。最初,集成學習旨在提高自動決策系統的準確性,而現如今此方法已經能夠成功解決各種機器學習問題。本文概述集成學習的發展歷史,并且回顧現有的集成學習方法,能夠為讀者提供集成學習系統的構造理論和集成學習方法。
實際上,通過集成學習思想進行決策在文明社會開始時就已經存在了,例如:在民主社會中,公民們通過投票來選舉官員或制定法律,對于個人而言,在重大醫療手術前通常咨詢多名醫生。這些例子表明,人們需要權衡并組合各種意見來做出最終的決定。其實,研究人員使用集成學習的最初目的和人們在日常生活中使用這些機制的原因相似。Dietterich[2]從數學角度解釋了集成方法成功的 3個基本原因:統計、計算和代表性。此外,亦可通過偏差方差分解[3]對集成學習的有效性進行分析。
對于機器學習算法而言,偏差和方差是衡量模型效果優劣關鍵指標。
偏差越小,一定程度模型擬合能力越強,模型越復雜;方差越小,一定程度模型抗擾動能力越強,模型越簡單。
偏差指的是算法的期望預測與真實預測之間的偏差程度,反應了模型本身的擬合能力;方差度量了同等大小的訓練集的變動導致學習性能的變化,刻畫了數據擾動所導致的影響。在一個模型中,偏差和方差是一對相互制約的關系,具體如圖所示:

Bagging和boosting是兩種經典的集成學習方法。
Bagging和boosting的主要區別有樣本的選擇、樣本權值、預測函數、和并行計算等幾個方面。
1.樣本選擇
Bagging:訓練集是在原始集中有放回選取的,從原始集中選出的各輪訓練集之間是獨立的。
Boosting:每一輪的訓練集是不變的,但是數據的權重發生了改變,前一棵樹的結果會影響下一棵樹。
2.樣本權重
Bagging:每個樣本的權重相等。
Boosting:根據錯誤率不斷對每一個樣本的權重進行調整,上一輪被錯誤分類的樣本在下一輪的樣本權重會變大,讓下一輪模型把更多的精力放在預測這些錯誤的樣本上。
3.預測函數
Bagging:所有預測函數的樣本權值相等
Boosting:每個弱分類器都有相應的權值,分類誤差越小的分類器權值越大
4.并行計算
Bagging:可以并行計算
Boosting:整體模型的生成是串行的,但對于串行的某些過程是可以實現并行的,比如xgboost對增益計算就采用并行計算。
Bagging的經典算法有隨機森林等,Boosting的經典算法有GBDT等。
以下,本文解釋為何Bagging算法通過降低方差提高模型性能,而Boosting算法通過降低模型偏差提高性能。
Bagging對樣本有放回地重采樣,對于每一次采樣訓練得到的模型,其偏差和方差是差不多近似相等,假設bias=E[Xi],var=Var(Xi)。

因為Boosting算法框架,其子模型之間是有強相關性的,無法顯著降低模型方差。