機器學習算法(六)——集成學習一

在這之前已經介紹了不少機器學習迴歸和分類的方法,今天將整理一下集成學習也可以說是組合學習算法。
集成學習ensemble learning是通過構建並結合多個學習器來完成學習任務。其一般結構爲:
先產生一組“個體學習器”(individual learner) 。個體學習器通常由一種或者多種現有的學習算法從訓練數據中產生。
如果個體學習器都是從某一種學習算法從訓練數據中產生,則稱這樣的集成學習是同質的homogenerous。
此時的個體學習器也稱作基學習器base learner,相應的學習算法稱作基學習算法。
如果個體學習器是從某幾種學習算法從訓練數據中產生,則稱這樣的集成學習是異質的heterogenous 。
再使用某種策略將它們結合起來。集成學習通過將多個學習器進行組合,通常可以獲得比單一學習器顯著優越的泛化性能。
通常選取個體學習器的準則是:
個體學習器要有一定的準確性,預測能力不能太差。
個體學習器之間要有多樣性,即學習器之間要有差異。
通常基於實際考慮,往往使用預測能力較強的個體學習器(即強學習器,與之對應的爲弱學習器)。
強學習器的一個顯著的好處就是可以使用較少數量的個體學習器來集成就可以獲得很好的效果。
根據個體學習器的生成方式,目前的集成學習方法大概可以分作兩類:
個體學習器之間存在強依賴關係、必須串行生成的序列化方法,每一輪迭代產生一個個體學習器。其中以Boosting爲代表。
個體學習器之間不存在強依賴關係、可同時生成的並行化方法。其中以Bagging和隨機森林Random Forest爲代表。

一、集成學習誤差
在這裏插入圖片描述
二、Boosting

1.提升方法(boosting) 是一種常用的統計學習方法。在分類問題中,它通過改變訓練樣本的權重學習多個分類器,並將這些分類器們進行線性組合來提高分類的能力。

2.提升方法的基本思想是:對於一個複雜任務來說,將多個專家的判斷進行適當的綜合所得出的判斷,要比其中任何一個專家單獨的判斷要好。類似於”三個臭皮匠頂一個諸葛亮“。

3.提升方法的理論基礎是:強可學習與弱可學習是等價的。

在概率近似正確(probably approximately correct,PAC)學習的框架下:

強可學習:一個概念(或一個類別),若存在一個多項式的學習算法能夠學習它並且正確率很高,那麼稱這個概念是強可學習的。
弱可學習:一個概念(或一個類別),若存在一個多項式的學習算法能夠學習它,學習的正確率僅比隨機猜測略好,那麼稱這個概念是弱可學習的。
可以證明:強可學習與弱可學習是等價的。

即:若在學習中發現了 ”弱學習算法“ ,則可以通過某些辦法將它提升爲 ”強學習算法“。

4.對於分類問題而言,求一個比較粗糙的分類規則(弱分類器)要比求精確的分類規則(強分類器)要容易得多。

5.Boosting 就是一族可以將弱學習器提升爲強學習器的算法。

這族算法的工作原理類似:

先從初始訓練集訓練出一個基學習器。
再根據基學習器的表現對訓練樣本分佈進行調整,使得先前基學習器做錯的訓練樣本在後續受到更多關注。
然後基於調整後的樣本分佈來訓練下一個基學習器。
如此重複,直到基學習器數量達到事先指定的值M 。
最終將這M個基學習器進行加權組合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章