集成學習方法是一類先進的機器學習方法,這類方法訓練多個學習器并將它們結(jié)合起來解決一個問題,在實踐中獲得了巨大成功,并成為機器學習領(lǐng)域的“常青樹”,受到學術(shù)界和產(chǎn)業(yè)界的廣泛關(guān)注。
本文選自周志華教授專著《集成學習:基礎(chǔ)與算法》,帶你進一步了解集成學習方法及應用。
集成學習方法
和傳統(tǒng)學習方法訓練一個學習器不同,集成學習方法訓練多個學習器并結(jié)合它們來解決一個問題。通常,集成學習也被稱為基于委員會的學習(committee-based learning)或多分類器系統(tǒng)(multiple classifier system)。
下圖為一個通用的集成學習框架。
一個集成由多個基學習器(base learner)構(gòu)成,而基學習器由基學習算法(base learning algorithm)在訓練數(shù)據(jù)上訓練獲得,它們可以是決策樹、神經(jīng)網(wǎng)絡或其他學習算法。
大多數(shù)集成學習方法使用同一種基學習算法產(chǎn)生同質(zhì)的基學習器,即相同種類的學習器,生成同質(zhì)集成(homogeneous ensemble);同時,也有一些方法使用多種學習算法訓練不同種類的學習器,構(gòu)建異質(zhì)集成(heterogeneous ensemble)。在異質(zhì)集成中,由于沒有單一的基學習算法,相較于基學習器,人們更傾向于稱這些學習器為個體學習器(individual learner)或組件學習器(component learner)。
通常,集成具有比基學習器更強的泛化能力。實際上,集成學習方法之所以那么受關(guān)注,很大程度上是因為它們能夠把比隨機猜測稍好的弱學習器(weak learner)變成可以精確預測的強學習器(strong learner)。因此,在集成學習中基學習器也稱為弱學習器。
由于使用多個模型解決問題的思想在人類社會中有悠久的歷史,我們難以對集成學習方法的歷史進行溯源。例如,作為科學研究的基本假設(shè),當簡單假設(shè)和復雜假設(shè)都符合經(jīng)驗觀測時,奧卡姆剃刀(Occam’s razor)準則偏好簡單假設(shè);但早在此之前,希臘哲學家伊壁鳩魯(Epicurus,公元前 341—270)提出的多釋準則(principle of multiple explanations) [Asmis,1984] 主張應該保留和經(jīng)驗觀測符合的多個假設(shè)。
集成學習領(lǐng)域的發(fā)展得益于三個方面的早期研究,即:分類器結(jié)合、弱分類器集成和混合專家模型(mixture of experts)。
分類器結(jié)合主要來自模式識別領(lǐng)域。這方面的研究關(guān)注強分類器,試圖設(shè)計強大的結(jié)合規(guī)則來獲取更強的結(jié)合分類器,在設(shè)計和使用不同的結(jié)合規(guī)則上積累深厚。
弱分類器集成方面的研究主要集中在機器學習領(lǐng)域。這方面的研究關(guān)注弱分類器,試圖設(shè)計強大的算法提升弱分類器的效果,產(chǎn)生了包括 AdaBoost 和 Bagging 等眾多著名的集成學習算法,并且在將弱學習器提升為強學習器方面有深入的理論理解。
混合專家模型的研究主要集中在神經(jīng)網(wǎng)絡領(lǐng)域。在此,人們通??紤]使用分而治之的策略來共同學習一組模型,并結(jié)合使用它們獲得一個總體解決方案。
20 世紀 90 年代以來,集成學習方法逐漸成為一個主要的學習范式,這主要得益于兩項先驅(qū)性工作。其中,[Hansen & Salamon,1990] 是實驗方面的工 作, 如下圖,它指出一組分類器的集成經(jīng)常會產(chǎn)出比其中最優(yōu)個體分類 器更精準的預測;
集成通常比最優(yōu)個體學習器更準確,其中橫坐標為噪聲水平(noise level),縱坐標為分類錯誤率(error),三種對比方法分別為平均法(average)、最優(yōu)個體法(best single)和結(jié)合方法(combination)[Hansen & Salamon,1990]。
[Schapire,1990] 是理論方面的工作,它構(gòu)造性地證明了弱學習器可以被提升為強學習器。雖然我們所需的高精度學習器難以訓練,但弱學習器在實踐中卻容易獲得,這個理論結(jié)果為使用集成學習方法獲得強學習器指明了方向。
一般來講,構(gòu)建集成有兩個步驟:首先產(chǎn)生基學習器,然后將它們結(jié)合起來。為了獲得一個好的集成,通常認為每個基學習器應該盡可能準確,同時盡可能不同。
值得一提的是,構(gòu)建一個集成的計算代價未必會顯著高于構(gòu)建單一學習器。這是因為使用單一學習器時,模型選擇和調(diào)參經(jīng)常會產(chǎn)生多個版本的模型,這與在集成學習中構(gòu)建多個基學習器的代價是相當?shù)?;同時,由于結(jié)合策略一般比較簡單,結(jié)合多個基學習器通常只會花費很低的計算代價。
集成學習方法的應用
KDD Cup作為最著名的數(shù)據(jù)挖掘競賽,自 1997 年以來每年舉辦,吸引了全球大量數(shù)據(jù)挖掘隊伍參加。競賽包含多種多樣的實際任務,如網(wǎng)絡入侵檢測(1999)、分子生物活性和蛋白質(zhì)位點預測(2001)、肺栓塞檢測(2006)、客戶關(guān)系管理(2009)、教育數(shù)據(jù)挖掘(2010)和音樂推薦(2011)等。在諸多機器學習技術(shù)中,集成學習方法獲得了高度的關(guān)注和廣泛的使用。例如,在連續(xù)三年的 KDD Cup 競賽中(2009—2011),獲獎的冠軍和亞軍都使用了集成學習方法。
另一項著名的賽事 Netflix Prize由 Netflix 公司舉辦。競賽任務是基于用戶的歷史偏好提升電影推薦的準確度,如果參賽隊伍能在 Netflix 公司自己的算法基礎(chǔ)上提升 10% 的準確度,就能夠獲取百萬美元大獎。2009 年 9 月 21 日,Nexflix 公司宣布,百萬美元大獎由 BellKor’s Pragmatic Chaos 隊獲得,他們的方案結(jié)合了因子模型、回歸模型、玻爾茲曼機、矩陣分解、k-近鄰等多種模型。另外還有一支隊伍取得了和獲獎隊伍相同的效果,但由于提交結(jié)果晚了 20 分鐘無緣大獎,他們同樣使用了集成學習方法,甚至使用 “The Ensemble” 作為隊名。
除了在競賽上獲得顯赫戰(zhàn)績,集成學習方法還被成功應用到多種實際應用中。實際上,在幾乎所有的機器學習應用場景中都能發(fā)現(xiàn)它的身影。例如,計算機視覺的絕大部分分支,如目標檢測、識別、跟蹤,都從集成學習方法中受益。
基于 AdaBoost 和級聯(lián)結(jié)構(gòu),Viola & Jones [2001,2004] 提出了一套通用的目標檢測框架。Viola & Jones [2004] 顯示在一臺 466MHz 計算機上,人臉檢 測器僅需 0.067 秒就可以處理 384×288 的圖像,這幾乎比當時最好的技術(shù)快 15倍,且具有基本相同的檢測精度。在隨后的十年間,這個框架被公認為計算機視覺領(lǐng)域最重大的技術(shù)突破。
Huang et al. [2000] 設(shè)計了一套集成學習方法解決姿態(tài)無關(guān)的人臉識別問題。它的基本思路是使用特殊設(shè)計的模型集成多個特定視角的神經(jīng)網(wǎng)絡模型。和需要姿態(tài)信息作為輸入的傳統(tǒng)方法相比,這個方法不需要姿態(tài)信息,甚至能在輸出識別結(jié)果的同時輸出姿態(tài)信息。Huang et al. [2000] 發(fā)現(xiàn)這個方法的效果甚至優(yōu)于以完美姿態(tài)信息作為輸入的傳統(tǒng)方法。類似的方法后來被用于解決多視圖人臉檢測問題 [Li et al.,2001]。
目標跟蹤的目的是在視頻的連續(xù)幀中對目標對象進行連續(xù)標記。通過把目標檢測看成二分類問題,并訓練一個在線集成來區(qū)分目標對象和背景,Avidan [2007] 提出了集成跟蹤(ensemble tracking)方法。該方法通過更新弱分類器來學習由于對象外觀和背景發(fā)生的變化。Avidan [2007] 發(fā)現(xiàn)這套方法能處理多種 具有不同大小目標的不同類別視頻,并且運行高效,能應用于在線任務。
在計算機系統(tǒng)中,用戶行為會有不同的抽象層級,相關(guān)信息也會來自多個渠道,集成學習方法就非常適合于刻畫計算機安全問題 [Corona et al.,[2009]。Giacinto et al. [2003] 使用集成學習方法解決入侵檢測問題??紤]到有多種特征刻畫網(wǎng)絡連接,他們?yōu)槊恳环N特征構(gòu)建了一個集成,并將這些集成的輸出結(jié)合 起來作為最終結(jié)果。Giacinto et al. [2003] 發(fā)現(xiàn)在檢測未知類型的攻擊時,集成學習方法能夠獲得最優(yōu)的性能。此后,Giacinto et al. [2008] 提出了一種集成方法解決基于異常的入侵檢測問題,該方法能夠檢測出未知類型的入侵。
惡意代碼基本上可以分為三類:病毒、蠕蟲和木馬。通過給代碼一個合適的表示,Schultz et al. [2001] 提出了一種集成學習方法用以自動檢測以往未見的惡意代碼?;趯Υa的 n-gram 表示,Kolter & Maloof [2006] 發(fā)現(xiàn)增強決策樹(boosted decision tree)能夠獲得最優(yōu)的檢測效果,同時他們表示這種方法可以在操作系統(tǒng)中檢測未知類型的惡意代碼。
集成學習方法還被應用于解決計算機輔助醫(yī)療診斷中的多種任務,尤其用于提升診斷的可靠性。周志華等人設(shè)計了一種雙層集成架構(gòu)用于肺癌細胞檢測任務 [Zhou et al.,2002a],其中當且僅當?shù)谝粚又械乃袀€體學習器都診斷為“良性”時才會預測為“良性”,否則第二層會在“良性”和各種不同的癌癥類型間進行預測。他們發(fā)現(xiàn)雙層集成方法能同時獲得高檢出率和低假陽性率。
對于老年癡呆癥的早期診斷,以往的方法通常僅考慮來自腦電波的單信道數(shù)據(jù)。Polikar et al. [2008] 提出了一種集成學習方法來利用多信道數(shù)據(jù);在此方法中,個體學習器基于來自不同電極、不同刺激和不同頻率的數(shù)據(jù)進行訓練,同時它 們的輸出被結(jié)合起來產(chǎn)生最終預測結(jié)果。
除了計算機視覺、安全和輔助診斷,集成學習方法還被應用到多個其他領(lǐng)域和任務中。例如,信用卡欺詐檢測 [Chan et al.,1999;Panigrahi et al.,2009],破產(chǎn)預測 [West et al.,2005],蛋白質(zhì)結(jié)構(gòu)分類 [Tan et al.,2003;Shen & Chou,2006],種群分布預測 [Araujo & New,2007],天氣預報 [Maqsood et al.,2004;Gneiting & Raftery,2005],電力負載預測 [Taylor & Buizza,2002], 航空發(fā)動機缺陷檢測 [Goebel et al.,2000;Yan & Xue,2008],音樂風格和藝 術(shù)家識別 [Bergstra et al.,2006] 等。
評論
查看更多