機器學習與深度學習系列連載: 第一部分 機器學習(十二)整合學習(Ensemble)
阿新 • • 發佈:2019-01-25
整合學習(Ensemble)
1. Bagging
我們考慮當結果的 variance 很大,如果降低 variance。
我們可以考慮“平行宇宙”,不同的training set 中生成不同的模型,然後做平均或者voting。
2. Decision Tree(Review)
我們複習上一節的決策樹的概念。
來一個有意思的實驗,分辨出漫畫人物
當單棵決策樹的深度為20的時候,得到的結果已經很不錯了,但是很有可能會出現一個結果:overfitting。 如果解決overfitting呢?我們看隨機森林
3. 隨機森林(Random Forest)
Decision tree 很容易在訓練資料中誤差為0,但是產生overfitting。
Random Forest 就是 bagging of decision tree ,是眾多決策樹的集合。
我們使用沒有選擇的資料做validation資料
4. Boosting
對於Boosting 我們有:
- 當我們使用機器學習演算法得出的分類器的錯誤率在訓練資料中小於50%
- 我們使用Boosting 可以讓最後的錯誤結果達到0%
Boosting 的框架結構:- 首先獲得分類器
- 找到另一個分類器 來幫助
- 但是, 如果與相似,對於結果的幫助不太大
- 如果我們想讓成為的補充(我們將怎樣去做) - 找到第二個分類器
- … 最後整合所有的分類器
- 所有的分類學習都是序列的
(1)怎樣獲取不同的分類器?
- 在不同的訓練資料集中進行訓練
- 獲得不同訓練資料集的方法
- 重新抽樣資料集
- 給資料集的資料分配權重
- 在實作中,僅僅需要修改cost 函式
(2) Adaboost的思路(Idea of Adaboost)
思路: 分類器的錯誤分類小於50%,我們調整訓練資料權重,是的 中的訓練資料權重,在出錯的地方提高,正確的地方降低。
究竟訓練資料的權重增大或者降低多少呢???
推導過程:
(2) Adaboost演算法
舉例說明:
5.General Formulation of Boosting
6.Stacking
Voting