日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[Mechine Learning Algorithm] 集成学习方法——Bagging和 Boosting

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Mechine Learning Algorithm] 集成学习方法——Bagging和 Boosting 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  使用機器學習方法解決問題時,有較多模型可供選擇。 一般的思路是先根據數據的特點,快速嘗試某種模型,選定某種模型后, 再進行模型參數的選擇(當然時間允許的話,可以對模型和參數進行雙向選擇)

  因為不同的模型具有不同的特點, 所以有時也會將多個模型進行組合,以發揮"三個臭皮匠頂一個諸葛亮的作用", 這樣的思路, 反應在模型中,主要有兩種思路:Bagging和Boosting

1. Bagging

  Bagging 可以看成是一種圓桌會議, 或是投票選舉的形式,其中的思想是:"群眾的眼光是雪亮的",可以訓練多個模型,之后將這些模型進行加權組合,一般這類方法的效果,都會好于單個模型的效果。 在實踐中, 在特征一定的情況下,大家總是使用Bagging的思想去提升效果。 例如kaggle上的問題解決,因為大家獲得的數據都是一樣的,特別是有些數據已經過預處理。

  以下為Data Mining Concepts and Techniques 2nd 中的偽代碼

  基本的思路比較簡單,就是:訓練時,使用replacement的sampling方法, sampling一部分訓練數據k次并訓練k個模型;預測時,使用k個模型,如果為分類,則讓k個模型均進行分類并選擇出現次數最多的類(每個類出現的次數占比可以視為置信度);如為回歸,則為各類器返回的結果的平均值。

  在該處,Bagging算法可以認為每個分類器的權重都一樣。

2. Boosting

  在Bagging方法中,我們假設每個訓練樣本的權重都是一致的; 而Boosting算法則更加關注錯分的樣本,越是容易錯分的樣本,約要花更多精力去關注。對應到數據中,就是該數據對模型的權重越大,后續的模型就越要拼命將這些經常分錯的樣本分正確。 最后訓練出來的模型也有不同權重,所以boosting更像是會整,級別高,權威的醫師的話語權就重些。

  以下為Data Mining Concepts and Techniques 2nd 中adaboost偽代碼:

?

  訓練:先初始化每個訓練樣本的權重相等為1/d,d為樣本數量; 之后每次使用一部分訓練樣本去訓練弱分類器,且只保留錯誤率小于0.5的弱分類器,對于分對的訓練樣本,將其權重 調整為 error(Mi)/(1-error(Mi)) ,其中error(Mi)為第i個弱分類器的錯誤率(降低正確分類的樣本的權重,相當于增加分錯樣本的權重);

  測試:每個弱分類器均給出自己的預測結果,且弱分類器的權重為log(1-error(Mi))/error(Mi) ) 權重最高的類別,即為最終預測結果。

  在adaboost中,弱分類器的個數的設計可以有多種方式,例如最簡單的就是使用一維特征的樹作為弱分類器。

  adaboost在一定弱分類器數量控制下,速度較快,且效果還不錯。

  我們在實際應用中使用adaboost對輸入關鍵詞和推薦候選關鍵詞進行相關性判斷。隨著新的模型方法的出現, adaboost效果已經稍顯遜色,我們在同一數據集下,實驗了GBDT和adaboost,在保證召回基本不變的情況下,簡單調參后的Random Forest準確率居然比adaboost高5個點以上,效果令人吃驚。。。。

  Bagging和Boosting都可以視為比較傳統的集成學習思路。 現在常用的Random Forest,GBDT,GBRank其實都是更加精細化,效果更好的方法。 后續會有更加詳細的內容專門介紹。

  具體adaboost在百度關鍵詞搜索推薦中的應用參見:《分類模型在關鍵詞推薦系統中的應用》

3. 參考內容

  [1]?Dustinsea

  [2]?Data Mining Concepts and Techniques 2nd

  [3] Soft Margin for Adaboost

  [4]?一個版本的adaboost實現

總結

以上是生活随笔為你收集整理的[Mechine Learning Algorithm] 集成学习方法——Bagging和 Boosting的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。