(廣東工業(yè)大學(xué)自動化學(xué)院 廣東 廣州 510000)
機(jī)器學(xué)習(xí)的求解過程可以看作是在假設(shè)空間中搜索一個具有強(qiáng)泛化能力和高魯棒性的學(xué)習(xí)模型,而在假設(shè)空間中尋找合適模型的過程是較為困難的。然而,集成學(xué)習(xí)作為一類組合優(yōu)化的學(xué)習(xí)方法,不僅能通過組合多個簡單模型以獲得一個性能更優(yōu)的組合模型,而且允許研究者可以針對具體的機(jī)器學(xué)習(xí)問題設(shè)計(jì)組合方案以得到更為強(qiáng)大的解決方案。回顧了集成學(xué)習(xí)的發(fā)展歷史,并著重對集成學(xué)習(xí)中多樣性的產(chǎn)生、模型訓(xùn)練和模型組合這三大策略進(jìn)行歸納,然后對集成學(xué)習(xí)在現(xiàn)階段的相關(guān)應(yīng)用場景進(jìn)行了描述,并在最后對集成學(xué)習(xí)的未來研究方向進(jìn)行了分析和展望[1]。
近幾十年以來,由于集成學(xué)習(xí)能高效地解決實(shí)際應(yīng)用問題,所以在機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)備受關(guān)注。最初,集成學(xué)習(xí)旨在提高自動決策系統(tǒng)的準(zhǔn)確性,而現(xiàn)如今此方法已經(jīng)能夠成功解決各種機(jī)器學(xué)習(xí)問題。本文概述集成學(xué)習(xí)的發(fā)展歷史,并且回顧現(xiàn)有的集成學(xué)習(xí)方法,能夠?yàn)樽x者提供集成學(xué)習(xí)系統(tǒng)的構(gòu)造理論和集成學(xué)習(xí)方法。
實(shí)際上,通過集成學(xué)習(xí)思想進(jìn)行決策在文明社會開始時就已經(jīng)存在了,例如:在民主社會中,公民們通過投票來選舉官員或制定法律,對于個人而言,在重大醫(yī)療手術(shù)前通常咨詢多名醫(yī)生。這些例子表明,人們需要權(quán)衡并組合各種意見來做出最終的決定。其實(shí),研究人員使用集成學(xué)習(xí)的最初目的和人們在日常生活中使用這些機(jī)制的原因相似。Dietterich[2]從數(shù)學(xué)角度解釋了集成方法成功的 3個基本原因:統(tǒng)計(jì)、計(jì)算和代表性。此外,亦可通過偏差方差分解[3]對集成學(xué)習(xí)的有效性進(jìn)行分析。
對于機(jī)器學(xué)習(xí)算法而言,偏差和方差是衡量模型效果優(yōu)劣關(guān)鍵指標(biāo)。
偏差越小,一定程度模型擬合能力越強(qiáng),模型越復(fù)雜;方差越小,一定程度模型抗擾動能力越強(qiáng),模型越簡單。
偏差指的是算法的期望預(yù)測與真實(shí)預(yù)測之間的偏差程度,反應(yīng)了模型本身的擬合能力;方差度量了同等大小的訓(xùn)練集的變動導(dǎo)致學(xué)習(xí)性能的變化,刻畫了數(shù)據(jù)擾動所導(dǎo)致的影響。在一個模型中,偏差和方差是一對相互制約的關(guān)系,具體如圖所示:
Bagging和boosting是兩種經(jīng)典的集成學(xué)習(xí)方法。
Bagging和boosting的主要區(qū)別有樣本的選擇、樣本權(quán)值、預(yù)測函數(shù)、和并行計(jì)算等幾個方面。
1.樣本選擇
Bagging:訓(xùn)練集是在原始集中有放回選取的,從原始集中選出的各輪訓(xùn)練集之間是獨(dú)立的。
Boosting:每一輪的訓(xùn)練集是不變的,但是數(shù)據(jù)的權(quán)重發(fā)生了改變,前一棵樹的結(jié)果會影響下一棵樹。
2.樣本權(quán)重
Bagging:每個樣本的權(quán)重相等。
Boosting:根據(jù)錯誤率不斷對每一個樣本的權(quán)重進(jìn)行調(diào)整,上一輪被錯誤分類的樣本在下一輪的樣本權(quán)重會變大,讓下一輪模型把更多的精力放在預(yù)測這些錯誤的樣本上。
3.預(yù)測函數(shù)
Bagging:所有預(yù)測函數(shù)的樣本權(quán)值相等
Boosting:每個弱分類器都有相應(yīng)的權(quán)值,分類誤差越小的分類器權(quán)值越大
4.并行計(jì)算
Bagging:可以并行計(jì)算
Boosting:整體模型的生成是串行的,但對于串行的某些過程是可以實(shí)現(xiàn)并行的,比如xgboost對增益計(jì)算就采用并行計(jì)算。
Bagging的經(jīng)典算法有隨機(jī)森林等,Boosting的經(jīng)典算法有GBDT等。
以下,本文解釋為何Bagging算法通過降低方差提高模型性能,而Boosting算法通過降低模型偏差提高性能。
Bagging對樣本有放回地重采樣,對于每一次采樣訓(xùn)練得到的模型,其偏差和方差是差不多近似相等,假設(shè)bias=E[Xi],var=Var(Xi)。
因?yàn)锽oosting算法框架,其子模型之間是有強(qiáng)相關(guān)性的,無法顯著降低模型方差。