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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

机器学习算法总结--提升方法

發布時間:2023/12/10 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习算法总结--提升方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考自:

  • 《統計學習方法》
  • 淺談機器學習基礎(上)
  • Ensemble learning:Bagging,Random Forest,Boosting

簡介

提升方法(boosting)是一種常用的統計學習方法,在分類問題中,它通過改變訓練樣本的權重,學習多個分類器,并將這些分類器進行線性組合,提供分類的性能。

boosting和bagging

boosting和bagging都是集成學習(ensemble learning)領域的基本算法,boosting和bagging使用的多個分類器的類型是一致的。

Bagging

bagging也叫自助匯聚法(bootstrap aggregating),比如原數據集中有N個樣本,我們每次從原數據集中有放回的抽取,抽取N次,就得到了一個新的有N個樣本的數據集,然后我們抽取S個N次,就得到了S個有N個樣本的新數據集,然后拿這S個數據集去訓練S個分類器,之后應用這S個分類器進行分類,選擇分類器投票最多的類別作為最后的分類結果。一般來說自助樣本的包含有63%的原始訓練數據,因為:

假設共抽取N個樣本,則N次都沒有抽到的概率是p=(1?1N)N

則一個樣本被抽到的概率有p=1?(1?1N)N

所以,當N很大時有:p=1?1e=0.632

這樣,在一次bootstrap的過程中,會有36%的樣本沒有被采樣到,它們被稱為out-off-bag(oob),這是自助采樣帶給bagging的里一個優點,因為我們可以用oob進行“包外估計”out-of-bag estimate

bagging通過降低基分類器的方差改善了泛化誤差,bagging的性能依賴于基分類器的穩定性。如果基分類器是不穩定的,bagging**有助于減少訓練數據的隨機波動導致的誤差,如果基分類器是穩定的,即對訓練數據集中的微小變化是魯棒的,則組合分類器的誤差主要由基分類器偏移所引起的,這種情況下,**bagging可能不會對基分類器有明顯的改進效果,甚至可能降低分類器的性能。

boosting與bagging的區別

  • bagging通過有放回的抽取得到了S個數據集,而boosting用的始終是原數據集,但是樣本的權重會發生改變。
  • boosting對分類器的訓練是串行的,每個新分類器的訓練都會受到上一個分類器分類結果的影響。
  • bagging里面各個分類器的權重是相等的,但是boosting不是,每個分類器的權重代表的是其對應分類器在上一輪分類中的成功度。

AdaBoost是boosting方法中最流行的版本

AdaBoosts算法

AdaBoost(adaptive boosting)是元算法,通過組合多個弱分類器來構建一個強分類器。我們為訓練數據中的每一個樣本都賦予其一個權重,這些權重構成了向量D,一開始,這些權重都初始化成相等值,然后每次添加一個弱分類器對樣本進行分類,從第二次分類開始,將上一次分錯的樣本的權重提高,分對的樣本權重降低,持續迭代。此外,對于每個弱分類器而言,每個分類器也有自己的權重,取決于它分類的加權錯誤率,加權錯誤率越低,則這個分類器的權重值α越高,最后綜合多個弱分類器的分類結果和其對應的權重α得到預測結果,AdaBoost是最好的監督學習分類方法之一。

其算法過程如下所示:

其中,注意:

訓練誤差分析

AdaBoost算法的最基本性質是在學習過程中不斷減小訓練誤差,對訓練誤差的上界有如下定理:

定理1:AdaBoost最終分類器的訓練誤差界為:
>1Ni=1NI(G(xi)yi)1Niexp(?yif(xi))=mZm>
定理2:二類分類問題

>m=1MZm=m=1M[2em(1?em)?????????]=m=1M[1?4γ2m???????exp(?2m=1Mγ2m)>

算法解釋

AdaBoost算法還可以解釋為模型是加法模型,損失函數是指數函數,學習算法是前向分步算法的二類分類學習方法。

加法模型是形如f(x)=Mi=1βmb(x;γm)的函數形式,其中b(x;γm)是基函數,而βm是基函數的系數,γm是基函數的參數。對于AdaBoost算法,其基本分類器的線性組合為f(x)=Mm=1αmGm(x)正是一個加法模型。

AdaBoost算法的損失函數是指數函數,公式為E=Ni=1exp(?yiGm(xi))

此外,經過m輪迭代可以得到fm(x)=fm?1(x)+αmGm(x)。而前向分步算法的過程如下所示:

通過上述步驟,前向分步算法將同時求解從m=1M所有參數βm,γm的優化問題簡化為逐步求解各個βm,γm的優化問題。

優缺點

優點

  • 泛化誤差低
  • 容易實現,分類準確率較高,沒有太多參數可以調
  • 缺點

    對異常值比較敏感

    總結

    以上是生活随笔為你收集整理的机器学习算法总结--提升方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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