集成方法Ensemble Method(bagging, AdaBoost)
1 主要思想
- 將原始數(shù)據(jù)分成幾個組
- 訓練一組分類器,里面有很多種弱分類器
- 每個分類器的標簽看作一次投票,投票最多的標簽為最終標簽
其架構如下所示:
2 為什么集成方法可行
假設這里有25個訓練的弱分類器,且這些分類器獨立工作,不會相互影響。
每一個分類器的出錯率
集成分類器的最終做出一個錯誤預測的概率(超過一半的基礎分類器都預測錯了)為:
其中:X為做出錯誤預測的弱分類器的數(shù)量
由此可見,集成分類器做出一個錯誤預測的概率比弱分類器低很多。
下圖顯示了,弱分類器(有的文檔也稱base classifier)的錯誤率(做出錯誤預測的概率)與集成分類器(ensemble classifier)的錯誤率之間的關系
由上圖可見,當弱分類器的錯誤率低于0.5時,集成分類器才有效。
集成分類器主要分為兩種,一種處理數(shù)據(jù)的分布,例如bagging,boosting;
另一種處理輸入特征,例如 random forests
?
3 Bagging Algorithm
3.1 Pseudo code
- 放回抽樣(sampling with replacement)
3.2 實例
已知一維原始數(shù)據(jù)集:
弱分類器是一個單層決策樹(desicion stump)
抽樣,分類
統(tǒng)計各標簽的得票數(shù)(正票數(shù)+負票數(shù)):
上圖中最后一行為預估類(或標簽)
?
4 AdaBoosting Algorithm
4.1 Boosting
在bagging中,每一輪sampling,數(shù)據(jù)被取得概率都是一樣的,而Boosting更加關注哪些被誤分類的數(shù)據(jù)。
在Boosting算法中,首先,在第一輪Boosting中,所有的數(shù)據(jù)都被分配相同的權重(被抽取的概率),
在以后的幾輪抽取中,被抽取的權重發(fā)生變化,錯誤分類的數(shù)據(jù)的被抽取的權重將會提升,
而正確分類的數(shù)據(jù)被抽取的權重將會降低。
4.2 AdaBoosting?
4.2.1 Pseudo code
首先初始化權重w=1/n 并訓練弱分類器:C1, C2, …, CT
其次,計算錯誤率:
計算一個分類器的重要性:
更新權重:
?使所有??之和為1.
如果錯誤率高于0.5,所有權重再次被分配為1/n
分類公式:
4.2.2 實例
3.2中的一維原始數(shù)據(jù)集:
基本分類器任然是一個單層決策樹(desicion stump)
訓練數(shù)據(jù)過程:
總結:
計算權重:
分類:
預測分類的計算:
總結
以上是生活随笔為你收集整理的集成方法Ensemble Method(bagging, AdaBoost)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PyTorch框架学习九——网络模型的构
- 下一篇: C语言有参函数调用时参数间数据传递问题