機器學習中,有一個分支為集成式學習(ensemble learning),顧名思義,集成式學習不是指單一的演算法框架,是一種團體的合作演算法框架,既然一個演算法無法得到好的預測結果,那如果是把不同方法用來訓練,理論上,應該會得到更好的預測結果,集成式學習就是這樣的概念。集成式的做法包含了BaggingBoostingStacking,預測的準不準基本上有兩個面向,”Bias””Variance”,詳細的介紹可參考筆者之前寫過的文章(機器學習-Bias-Variance Tradeoff),所有的機器學習模式不外乎想降低”Bias””Variance”來得到更好的預測結果,但BiasVariance從下圖來看就是一種取捨的過程,所以各種機器學習的優化糾是想在這兩個概念中取得最佳的平衡。

 

1.jpg

2.jpg

 

因為之後的文章會提到XGboost的內容,但在那之前,我們需要先了解何謂BaggingBoosting,因為XGboost是具有BaggingBoosting好處的演算法,Bagging做的事情就是產生不同的資料集(透過從原始資料隨機抽樣產生),再利用不同的資料集各自去training出複雜的 model,雖然每一個單獨的model獨自拿出來variance都很大,但如果把不同variance很大的model集合起來以後,最後會透過投票(分類問題)或取平均(迴歸問題),最後我們就會得到一個variance較低的模型。

相較於Bagging是透過產生新資料來去訓練強模型(每一套模型的結果都重要性都一樣)的方式,Boosting則是透過訓練一個弱模型,然後每一次去修正模型錯誤的部分,經過多次的訓練,一開始的弱模型,經過每一次錯誤的修正,這個模型的能力會越來越強,最後留下來的模型對於資料的預測(Bias會降低)會最好。

 

3.jpg

4.jpg

5.jpg

 

筆者本次文章先針對XGboost包含的一些基本概念做介紹,之後的文章會針對梯度提升(GB)XGboost做進一步的說明。

參考資料:

  1. https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205
  2. http://violin-tao.blogspot.com/2018/01/ml-ensemble.html
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 晨晰部落格新站 的頭像
    晨晰部落格新站

    晨晰統計部落格新站(統計、SPSS、BIG DATA討論園地)

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()