gbm算法

gbm簡介

gbm是通用梯度迴歸模型(Generalized Boosted Regression Models)簡稱。GBDT(Gradient Boosting Decision Tree)又叫 MART(Multiple Additive Regression Tree),是一種迭代的決策樹算法,該算法由多棵決策樹組成,所有樹的結論累加起來做最終結果。gbm擴展了Freund and Schapire的Adaboost算法和Friedman的梯度提升機(gradient boosting machine)。

[圖片上傳失敗...(image-32b7ea-1540222324149)]

gbm包

實際上,梯度提升算法並不特指某個特定模型,而是一種機器學習思想,被人們運用到許多傳統的模型中而形成了一類強大的機器學習方法。有趣的是,gbm包的全稱也並不是Gradient Boost Machine,而是generalized boosted regression models—廣義提升迴歸模型,即運用了boosting算法的廣義迴歸模型,既可以解決迴歸問題,也可以解決分類問題。

gbm包中最主要的函數爲gbm/gbm.fit。函數提供了很多參數以進行模型調優。

(1)distribution:模型計算損失函數時,需要對輸出變量的數據分佈做出假設。對於分類問題,選擇bernoulli或者adaboost;對於連續因變量,選擇gaussian或者laplace。

(2)shrinkage:學習速率,一般來說學習速率越小,模型表現越好。令shrinkage=0.001得出的模型幾乎一定比shrinkage=0.01的模型好,然而代價是前者運算所需的時間和所耗內存將是後者的10倍。所以選擇的準則是在可以承受的時間和內存範圍內,shrinkage越小越好。

(3)n.trees:即number of iteration—迭代次數。選擇這個參數要特別注意,因爲這個值過大,可能會導致過擬合。

(4) interaction.depth:每棵樹的分叉數目,這個參數控制着提升集成的複雜程度。更通俗地說,這個參數控制着提升模型的交互順序。在實踐中,取值爲1通常就有比較好的效果。

GBM有以下特點:

  • 可以和隨機森林這樣的高性能算法競爭。
  • 能保持可靠的預測表現,並且能避免無意義的預測。
  • 能明確地處理缺失數據。
  • 無需進行特徵縮放。
  • 能處理的因子水平比隨機森林更高。
  • 沒有已知的對特徵變量數目的限制。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章