機器學習(西瓜書)註解:第8章 集成學習

機器學習(西瓜書)註解:第8章 集成學習

        本次更新第8章,集成學習。針對該章註解有任何問題歡迎在此留言~

        本章內容整體上看並不複雜,可以看成是作者的英文專著《Ensemble Methods: Foundations and Algorithms》(https://book.douban.com/subject/10494228/,據悉該書中文版即將由電子工業出版社出版)的精簡版,但8.2節有關AdaBoost的推導感覺很難吃透,尤其是本節還涉及到如Gradient Boosting、GBDT、XGBoost等概念,因此必須讀一些原始文獻和其它參考資料方能對此有所理解,下面對這些概念進行一個簡單的梳理。

        提升(Boosting)是一族可將弱學習提升爲強學習器的算法,弱學習器間存在強依賴關係、必須串行生成。這族算法的工作機制類似:先從初始訓練集訓練出一個基學習器,再根據基學習器的表現對訓練樣本分佈進行調整,使得先前基學習器做錯的訓練樣本在後續受到更多關注,然後基於調整後打着本分佈來訓練下一個基學習器;如此重複進行,直至基學習器數目達到事先指定的值T,最終將這T個基學習器進行加權結合。(摘自西瓜書P173)

        提升樹(Boosting Tree)是以決策樹爲基學習器的提升方法(i.e., Boosting + Decision Tree)。對分類問題決策樹是二叉分類樹,對迴歸問題決策樹是二叉迴歸樹。(李航《統計學習方法》第8.4節)

        梯度提升(Gradient Boosting)是基於加法模型和前向分步算法一種理論框架,並不限定損失函數,也不限定基分類器的類型(類型包含兩層含義:第1層如分類和迴歸等;第2層如決策樹、SVM、神經網絡等)。

        梯度提升樹(GBDT) = Gradient Boosting + Decision Tree (CART),這裏CART取爲迴歸樹。李航《統計學習方法》第8.4.3節中的算法8.4實際爲GBDT算法,與劉建平Pinard博客《梯度提升樹(GBDT)原理小結》介紹基本一致,林軒田《機器學習技法》課程第11講則特指損失函數爲平方損失。

        特別地,8.2節介紹的AdaBoost(Adaptive Boosting)是當Gradient Boosting中損失函數爲指數損失函數、基分類器爲二分類(只能取+1和-1兩個值)時的特殊形式(i.e., Gradient Boosting + Exponential Loss + Binary base classifier),這裏基分類器可以爲任何二分類器,如決策樹、SVM、神經網絡等。當然,西瓜書作者在第190頁的閱讀材料中提到,這僅是源“統計視角”的一種推導而已,但這派理論產生的推論並不能解釋某些現象,因此這可能僅是一個與AdaBoost相似的學習過程而非AdaBoost本身。

        當AdaBoost的基分類器爲二分類決策樹時,也可以稱爲提升樹,“對二類分類問題,提升樹算法只需將AdaBoost算法8.1中的基本分類器限制爲二類分類樹即可,可以說這時的提升樹是AdaBoost算法的特殊情況”。但這裏與GBDT不一樣,因爲AdaBoost限定了基分類器爲二分類(實際上也可以做迴歸任務),並不像GBDT裏那樣,每輪迭代與殘差(負梯度)擬合;而且已經提到,GBDT一般特指Gradient Boosting與CART迴歸樹的結合。

        XGBoost是GBDT的一個軟件包,類似於LIBSVM是SVM的一個軟件包。XGBoost在實現GBDT時進行了一些細節上的改進和擴展。

        各種概念之間的包含關係如下圖所示:

        以上僅爲個人的初步理解,可能有誤,勿被誤導^_^

(網盤鏈接:https://pan.baidu.com/s/1QtEiNnk8jMzmbs0KPBN-_w) 

第 8 章目錄
第 8 章 集成學習.............................................................................................................................1
       8.1 個體與集成........................................................................................................................1
                1、式(8.1)的解釋.............................................................................................................1
                2、式(8.2)的解釋.............................................................................................................2
                3、式(8.3)的推導.............................................................................................................2
       8.2 Boosting ..............................................................................................................................2
                1、式(8.4)的解釋.............................................................................................................3
                2、式(8.5)的解釋.............................................................................................................3
                3、式(8.6)的推導.............................................................................................................3
                4、式(8.7)的推導.............................................................................................................4
                5、式(8.8)的推導.............................................................................................................5
                6、式(8.9)的推導.............................................................................................................5
                7、式(8.12)的推導[?].......................................................................................................6
                8、式(8.13)的推導...........................................................................................................6
                9、式(8.14)的推導[?].......................................................................................................6
                10、式(8.16)的推導 .........................................................................................................7
                11、式(8.17)的推導 .........................................................................................................7
                12、式(8.18)的推導 .........................................................................................................7
                13、式(8.19)的推導 .........................................................................................................8
                14、 AdaBoost 的個人推導..............................................................................................8
                15、更深一步理解權重更新公式的含義.....................................................................11
                16、能夠接受帶權樣本的基學習算法.........................................................................12
        8.3 Bagging 與隨機森林 ........................................................................................................13
                1、 Bagging 算法的解釋 ................................................................................................13
                2、式(8.20)的解釋.........................................................................................................13
                3、式(8.21)的推導.........................................................................................................13
                4、隨機森林的解釋.......................................................................................................13
        8.4 結合策略..........................................................................................................................14
                1、硬投票和軟投票的解釋...........................................................................................14
                2、元學習器(meta-learner)的解釋................................................................................14
                3、 Stacking 算法的解釋................................................................................................14
        8.5 多樣性..............................................................................................................................14
                1、式(8.28)的解釋.........................................................................................................14
                2、式(8.31)與式(8.28)的等價性推導............................................................................15
                3、式(8.32)的解釋.........................................................................................................16
                4、列聯表(contingency table)的解釋............................................................................16
                5、式(8.40)的解釋.........................................................................................................16
                6、式(8.41)的解釋.........................................................................................................16
                7、式(8.42)的解釋.........................................................................................................16
                8、多樣性增強的解釋...................................................................................................17
        8.6、 GB(Gradient Boosting)/GBDT/XGBoost......................................................................17
                1、梯度下降法...............................................................................................................17
                2、從梯度下降的角度解釋 AdaBoost..........................................................................19
                3、梯度提升(Gradient Boosting)...................................................................................21
                4、梯度提升樹(GBDT) .................................................................................................22
                5、 XGBoost....................................................................................................................22
        8.7 本章小節..........................................................................................................................23

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