Adaboost到GDBT到xgboost到lightgbm
最近一直想整理一下從boosting到adaboost,再到GDBT再到xgboost最後到lightgbm,順帶也說一下隨機森林各種,因為樹模型在各行各業的模型使用還是挺廣泛的,如果不梳理一下,總覺得缺點什麼,也整理一下自己的思路,話說最近在研究行業,這幾個月看了金融行業裡面的很多細分市場,每一個細分市場都很大,但是研究進去了發現和現實想的不那麼一樣,所以有點失落,還好,如果行業沒有得到肯定,演算法還是比較實在的東西,還是可以整理的。
什麼是集成演算法
按我的理解,集成學習是通過訓練弱幹個學習分類器,並通過一定的結合策略,從而形成強學習器
這裡不得不提的東西,就是網上說的同質學習,異質學習
何為同質學習:所有的個體學習器都是一種類型
何為異質學習:就是和同質相反,所有的個體學習器不完全是一種
同質學習器也會按照個體學習器之間是否依賴關係可以分為兩類,第一個是個體學習器之間存在強依賴關係,一系列個體學習器基本都需要串列生成,代表演算法大部分boosting演算法都是這種
第二個是個體學習器之間不存在依賴關係,一系列演算法可以並行生成,代表演算法是bagging和隨機森林(Random Forest)演算法
隨機森林
隨機森林其實在我的分類裡面有一篇文章介紹,大家可以自己去看
或者我給一個連接吧
jason:隨機森林不過還是要說一下cat如果做分類用的guni公式
cat分類有兩種一種回歸,一種分類,回歸可以用最下二乘,分類可以用gini
Gini(D,A)=D1DGini(D1)+D2DGini(D2)
剪枝包括兩種,一種是預剪枝,一種是後剪枝,預剪枝不常用就一筆帶過,預剪枝就是通過提前停止樹的構建而對樹剪枝,預剪枝主要的方法是通過定義樹的高度,定義閥值,當達到某個節點實列小於閥值停止樹的生長,增益值,gini值小於某一個值時停止樹的生長。
後剪枝:
後剪 先構造完整的樹,然後對置信度不高的節點子樹用葉子節點來代替,該葉子的類標記號用該節點子樹中最頻繁的類標記。
介紹boosting
boosting是將弱學習器提升為強學習器的演算法。
接下來的這幾天會完善
推薦閱讀: