1. 程式人生 > >機器學習筆記(七) 整合學習概述

機器學習筆記(七) 整合學習概述

       整合學習(ensemble learning)是通過組合多個基分類器(baseclassifier)來完成學習任務。基分類器一般採用的是弱可學習分類器,通過整合學習,組合成一個強可學習分類器。

      LeslieValiant提出了“強可學習(strongly learnable)”和”弱可學習(weakly learnable)”的概念,指出:在概率近似正確(probably approximately correct, PAC)學習的框架中,一個概念(一個類),如果存在一個多項式的學習演算法能夠學習它,並且正確率很高,那麼就稱這個概念是強可學習的,如果正確率不高,僅僅比隨即猜測略好,那麼就稱這個概念是弱可學習的。那麼對於分類問題而言,給定一個訓練資料,求一個比較粗糙的分類器(即弱分類器)要比求一個精確的分類器(即強分類器)容易得多,整合學習就是這一點。

      整合學習主要分為兩類:一是個體學習器間存在強大依賴關係、必須序列生成的序列化方法,代表演算法:Boosting;二是個體學習器間不存在依賴關係、可同時生成的並行化方法,代表演算法Bagging和“隨機森林”。

1.  偏差和方差

      偏差bias度量了學習演算法與真實結果的偏離程度,刻畫了學習演算法本身的擬合能力;方差variance度量了同樣大小的訓練集的變動所導致的學習效能的變化,刻畫了資料擾動所造成的影響。

      偏差-方差分解說明,泛化能力是由學習演算法的能力,資料的充分性和學習任務本身的難度共同決定的。給定學習任務,為了取得較好的泛化能力,需要偏差較小來充分擬合數據,並且使方差較小來是資料擾動的影響小。但是,兩者往往是不可兼得的,當訓練不足時,學習器的擬合能力不夠強,資料擾動不足以產生較大的影響,此時偏差主導了泛化錯誤率;隨著訓練加深時,擬合能力隨之加強,資料擾動漸漸能被被學習器學習到,方差主導了泛化錯誤率。在訓練充足後,學習器的擬合能力已經很強,訓練資料發生的輕微擾動都會導致學習器發生發生顯著變化,若是訓練集自身的非全域性的特性被學習器學習到,就會發生過擬合。

      從“偏差-方差分解”的角度看,Bagging關注於降低方差variance,而Boosting則是降低偏差bias(Boosting的基分類器是強相關的,並不能顯著降低方差variance)。

2.  Boosting演算法

       Boosting是一種可以將弱學習器提升為強學習器的演算法,代表演算法為AdaBoost。這類演算法一般從弱學習演算法出發,反覆學習,得到一系列弱分類器,然後組合這些弱分類器,構成一個強分類器。大多數都是改變訓練資料的概率分佈(訓練資料中的各個資料點的權值分佈),呼叫弱學習演算法得到一個弱分類器,再改變訓練資料的概率分佈,再呼叫弱學習演算法得到一個弱分類器,如此反覆,得到一系列弱分類器。。

3.  Bagging演算法

      Bagging是並行式整合學習代表方法,代表演算法為隨機森林Random Forest。基於“自助取樣法”(bootstrap sampling)。自助取樣法機制:給定包含m個樣本的資料集,我們先隨機取出一個樣本放入取樣集中,再把該樣本放回初始資料集,使得下一次取樣時該樣本還會被採到。這樣,經過m次樣本採集,我們得到包含m個樣本的取樣集(取樣集中,有的樣本出現過很多次,有的沒有出現過)。基於每個取樣集訓練出一個學習器,再將這些學習器結合,對分類任務使用投票法,對迴歸任務採用平均值法。

      隨機森林RF在以決策樹為基學習器構建Bagging的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。在RF中,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇一個包含k個屬性的子集,然後再從這個子集中選擇一個最優屬性用於劃分。這樣,隨機森林中基學習器的“多樣性”來自樣本擾動和屬性擾動,使得最終整合的泛化效能可能通過個體學習器之間的差異度的增加而進一步提升。

參  考

李航《統計學習方法》

周志華《機器學習》