機器學習筆記9-整合學習
阿新 • • 發佈:2019-01-03
機器學習筆記9-整合學習
整合學習(ensemble learning)通過構建並結合多個學習器來完成學習任務。下圖展示了整合學習的一般結構:先產生一組個體學習器,再用某種策略將它們結合起來。個體學習器通常由一個現有的演算法從訓練資料產生,如決策樹演算法、支援向量機演算法等。關於如何產生並結合“好而不同”的個體學習器是整合學習研究的核心。整合學習通過將多個學習器進行組合,常可獲得比單一學習器顯著優越的泛化效能。
根據個體學習器的生成方式,目前的整合學習方法大致分為兩類,即個體學習器間存在強依賴關係、必須序列生成的序列化方法,以及個體學習器間不存在強依賴關係、可同時生成的並行化方法;前者代表是Boosting,後者的代表是Bagging和“隨機森林”。
-
Boosting
Boosting的工作機制是:先從初始訓練集中訓練出一個基學習器,再根據基學習器的表現對訓練資料分佈(權值)進行調整,使得先前基學習器做錯的訓練樣本在後續受到更多關注,然後基於調整後的樣本分佈來訓練下一個基學習器;如此反覆進行,直至基學習器的數目達到事先指定的值T,最終將這T個基學習器進行加權結合。這其中,最具代表性的就是AdaBoost演算法。AdaBoost包含以下步驟:
(1)初始化訓練資料的權值分佈
(2)對
(a)使用具有權值分佈 的訓練資料集學習,得到基分類器
(b)計算 在訓練資料集上的分類誤差率
(c)計算 的係數
(d)更新訓練資料集的權值分佈
(3)構建基分類器的線性組合