快速了解Bagging算法
快速了解Bagging算法
- Boostrap sampling 自助采樣
- Bagging算法
- Bagging性能
Boostrap sampling 自助采樣
?之前已經講過模型的評估方法中有留一法(將數據集劃分為兩個互不相交的集合,一個做測試集,一個做訓練集)和交叉驗證方法(將數據分成k個大小相似互不相交的子集,每次使用k-1個子集做訓練集,剩下的一個子集做測試集,以此循環進行k次的訓練和測試,最后返回k次測試結果的均值。)。但是上述兩種方法中都保留了一部分樣本用于測試,所以實際模型所使用的訓練集比源數據都要小,因此就會引入一些因訓練樣本規模不同而導致的估計偏差。另外一方面留一法受訓練樣本影響較小,但是計算復雜度又太高。因此為了解決減少訓練樣本規模不同造成的影響,同時還能比較高效地進行測試集的評估。自助法就是很好的解決方案。
?boostrap抽樣:
?在樣本集D(樣本數為m)內有放回的抽樣,抽取數為m,每次抽取的概率為1/m,一個樣本可能被重復抽取.我們做一個簡單的估計,樣本m此采樣中始終不被采樣的概率為:
?m趨近于正無窮時求極限,得到原數據集D中36.8%的樣本沒有出現在采用數據集D1中,我們可以使用D1作為訓練集,D-D1作為測試集.這樣實際評估的模型與期望的模型都使用m個訓練樣本,而我們仍有數據總量的1/3沒有在訓練集中出現.將其用于測試集.術語”包外估計”可以解釋上述過程.
Bagging算法
?Bagging基本流程:通過上述自助采樣,采出T個含m個訓練樣本的采樣集,然后基于每個采樣集訓練出一個基學習器(默認決策樹,且是并行),在將這些基學習器進行組合。
?在對預測輸出進行結合的時候,Bagging通常對分類任務使用簡單投票法,對回歸任務進行簡單的平均法。但是如果投票個數一致,則最簡單的做法是隨機選擇一個類別,當然也可以進一步考察學習器投票的置信度來確定最終的分類。
Bagging性能
?1.Bagging是一個很高效的集成學習算法
?2.Bagging與下面講的AdaBoost只適用于二分類不同,它能不經修改地用于多分類、回歸任務。
?3.自助bootstrap采樣過程還給Bagging帶來了另一個優點:由于每個基學習器只使用了初始訓練集中約63.2%的樣本,剩下的約36.8%樣本可用作驗證集來泛化性能進行“包外樣本評估(即:不同于訓練數據的樣本)”。
?4.從偏差-方差分解角度看,Bagging主要關注降低方差,因此他在不剪枝決策樹、神經網絡等易受樣本擾動的學習器上效果更為明顯。
總結
以上是生活随笔為你收集整理的快速了解Bagging算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聚类分析与相关算法(Kmeans等)详解
- 下一篇: AdBoost算法详解