最小径集的算法_机器学习的利器——集成算法
最近在打算法競賽的時候用到了集成算法,效果還不錯,索性就總結了一篇集成算法的文章,希望能幫到正在轉行的數據分析師們。
集成算法核心思想
集成算法的核心思想是通過構建并結合多個學習器來完成學習任務,也就是通俗意義上的三個“臭皮匠”頂個“諸葛亮”。
關注問題:1、如何產生一組“個體學習器”?
2、如何利用某種策略將“個體學習器”結合起來?
集成算法種類
根據個體學習器的生成方式,最常用的集成算法可以分為兩大類,即個體學習器間存在強依賴關系(多項式學習算法)必須串行生成的序列化算法【Boosting方法,代表算法:Adaboost算法和Boosting tree】,以及個體學習器之間不存在強依賴關系,通過并行生成的集成算法【bagging方法,代表算法:隨機森林(Randon Forest)】
Bagging
1、算法原理:
- 從原始樣本集中抽取訓練集。每輪從原始樣本集中使用Bootstraping的方法抽取n個訓練樣本(在訓練集中,有些樣本可能被多次抽取到,而有些樣本可能一次都沒有被抽中)。共進行k輪抽取,得到k個訓練集。(k個訓練集之間是相互獨立的)
- 每次使用一個訓練集得到一個模型,k個訓練集共得到k個模型。(注:這里并沒有具體的分類算法或回歸方法,我們可以根據具體問題采用不同的分類或回歸方法,如決策樹、感知器等)
- 對分類問題:將上步得到的k個模型采用投票的方式得到分類結果;對回歸問題,計算上述模型的均值作為最后的結果。(所有模型的重要性相同)
2、采樣策略:
自助采樣法,有放回抽樣n次得到樣本量為n的訓練樣本集用于每次基分類器的訓練
3、基學習器組合策略:
對于分類問題,基分類器采用投票法得到結果,對于回歸問題,通過對基分類器的預測值取平均值得到結果。
4、算法步驟:
4、隨機森林
4.1算法原理:
以決策樹作為基學習器構建bagging集成,并在決策樹的訓練過程中引入隨機屬性選擇。
4.2隨機性:
隨機森林的隨機性體現在樣本的隨機性和特征選擇的隨機性
Boosting
1、算法原理:
通過改變訓練樣本的權重,學習多個分類器,并將這些分類器進行線性組合,提升分類性能。大多數的提升方法都是改變訓練數據的概率分布(權值),針對不同的訓練數據分布調用弱分類算法學習一系列弱分類器。
2、Adaboost
2.1算法原理:
- 提高前一輪弱分類器錯誤分類樣本的權值,降低正確分類樣本的權值
- 弱分類器的組合,采用加權多數表決的方法,具體地,加大分類誤差小的弱分類器的權值,使其在表決中起大作用,減小分類誤差大的弱分類器權值
2.2算法步驟:
2.3機器學習視角的解釋:
ModelSet:加法模型,基學習模型的線性組合
LossFunction:指數損失函數【分類問題】
優化策略:前向分步算法
3、提升樹
3.1核心思想:
以分類樹或回歸樹為基本分類器的提升方法,加法模型,與前向分步算法,以決策樹為基分類器的提升方法,串聯決策樹模型,第一個決策樹擬合具體數學,以后的決策樹擬合前一個決策樹的殘差。
3.2算法步驟:
3.3機器學習視角的解釋:
ModelSet:加法模型,基學習模型的線性組合
LossFunction:指數損失函數【分類問題】、平方誤差損失函數【回歸問題】
優化策略:前向分步算法
常見面試問題
1、bagging與boosting的區別
- 樣本選擇上:Bagging:訓練集是在原始集中有放回選取的,從原始集中選出的各輪訓練集之間是獨立的。Boosting:每一輪的訓練集不變,只是訓練集中每個樣例在分類器中的權重發生變化。而權值是根據上一輪的分類結果進行調整。
- 樣例權重:Bagging:使用均勻取樣,每個樣例的權重相等Boosting:根據錯誤率不斷調整樣例的權值,錯誤率越大則權重越大。
- 預測函數:Bagging:所有預測函數的權重相等。Boosting:每個弱分類器都有相應的權重,對于分類誤差小的分類器會有更大的權重。
- 并行計算:Bagging:各個預測函數可以并行生成
Boosting:各個預測函數只能順序生成,因為后一個模型參數需要前一輪模型的結果。
2、隨機森林與GDBT(提升樹)的區別:
- 隨機森林采用的bagging思想,而GBDT采用的boosting思想。這兩種方法都是Bootstrap思想的應用,Bootstrap是一種有放回的抽樣方法思想。雖然都是有放回的抽樣,但二者的區別在于:Bagging采用有放回的均勻取樣,而Boosting根據錯誤率來取樣(Boosting初始化時對每一個訓練樣例賦相等的權重1/n,然后用該算法對訓練集訓練t輪,每次訓練后,對訓練失敗的樣例賦以較大的權重),因此Boosting的分類精度要優于Bagging。Bagging的訓練集的選擇是隨機的,各訓練集之間相互獨立,弱分類器可并行,而Boosting的訓練集的選擇與前一輪的學習結果有關,是串行的。
- 組成隨機森林的樹可以是分類樹,也可以是回歸樹;而GBDT只能由回歸樹組成。
- 組成隨機森林的樹可以并行生成;而GBDT只能是串行生成。
- 對于最終的輸出結果而言,隨機森林采用多數投票等;而GBDT則是將所有結果累加起來,或者加權累加起來。
- 隨機森林對異常值不敏感;GBDT對異常值非常敏感。
- 隨機森林對訓練集一視同仁;GBDT是基于權值的弱分類器的集成。
- 隨機森林是通過減少模型方差提高性能;GBDT是通過減少模型偏差提高性能。
總結
以上是生活随笔為你收集整理的最小径集的算法_机器学习的利器——集成算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 希奥岛的屠杀是谁画的呢?
- 下一篇: “清虚当服药”下一句是什么