机器学习:集成学习(ensemble),bootstrap,Bagging,随机森林,Boosting
文章目錄
- 集成學習的樸素思想
- Bootstrap理論
- Bagging
- 隨機森林
- Boosting
集成學習的樸素思想
集成學習基于這樣的思想:對于比較復雜的任務,綜合許多人的意見來進行決策會比“一家獨大”要更好。換句話說、就是通過適當的方式集成許多“個體模型”所得到的最終模型要比單獨的“個體模型”的性能更優。
我們面臨兩個問題:如何選擇、生成弱分類器和如何對它們進行提升(集成)?
第一種做法期望各個弱分類器之間依賴性不強、可以同時進行生成。這種做法又稱并行方法,其代表為 Bagging,而 Bagging 一個著名的拓展應用便是隨機森林(Random Forest,常簡稱為 RF)。
第二種做法中弱分類器之間具有強依賴性、只能序列生成。這種做法又稱串行方法,其代表為 Boosting,而 Boosting 族算法中的代表即是AdaBoost。
Bootstrap理論
bootstrap翻譯為自舉,簡單理解為自采樣,通過不斷自采樣模擬真實隨機變量生成的數據集,那么測試樣本就豐富起來了,這個和數據加強有一定的異曲同工之妙。
Bagging
Bagging全稱為bootstrap aggregating(匯聚),操作過程:使用bootstrap生成M個數據集,使用這些數據集生成M個分類器,最終模型為這M個分類器的簡單組合,要么投票表決,要么取平均。
結合 Bagging 的特點、我們可以得出這樣一個結論:對于“不穩定”(或說對訓練集敏感:若訓練樣本稍有改變,得到的從樣本空間到類別空間的映射 g 就會產生較大的變化)的分類器,Bagging 能夠顯著地對其進行提升。
隨機森林
1、用 Bootstrap 生成出 M 個數據集
2、用這 M 個數據集訓練出 M 顆不進行后剪枝決策樹,且在每顆決策樹的生成過程中,每次對 Node 進行劃分時、都從可選特征(比如說有 d 個)中隨機挑選出 k 個(k≤d)特征,然后依信息增益的定義從這 k 個特征中選出信息增益最大的特征作為劃分標準
3、最終模型即為這 M 個弱分類器的簡單組合
一般情況下、推薦取k=log2?dk=log_2?dk=log2??d
Boosting
Boosting 事實上是一族算法、該族算法有一個類似的框架:
- 1、根據當前的數據訓練出一個弱模型
- 2、根據該弱模型的表現調整數據的樣本權重。具體而言:
- 3、最后再根據該弱模型的表現決定該弱模型的“話語權”、亦即投票表決時的“可信度”。自然、表現越好就越有話語權。
在該學習框架下,對于一個學習問題,只要我們找到了一個“弱學習算法”,就可以把它變成一個“強學習算法”。這當然是意義深刻的,因為往往比較粗糙的“弱學習算法”比較好找、而相對精確的“強學習算法”卻難得一求。
總結
以上是生活随笔為你收集整理的机器学习:集成学习(ensemble),bootstrap,Bagging,随机森林,Boosting的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习:决策树过拟合与剪枝,决策树代码
- 下一篇: 机器学习:随机森林算法及其实现