梯度提公升樹(gradient boosting decison tree,gbdt)是整合學習boosting重要演算法。該方法是針對模型的偏差進行的優化。而隨機森林是基於對模型的方差進行優化。即使在整合演算法中,adaboost是利用前一輪迭代器弱學習器的誤差率來更新訓練集的權重。
gbdt演算法中,限定了只能使用cart回歸模型。一般的cart是這樣的:用於分類任務時,樹的**準則採用基尼指數,用於回歸任務時,用mse(均方誤差)。前一輪迭代得到的強學習器是
關於損失函式擬合方法,freidman提出了用損失函式的負梯度來擬合本輪損失的近似值,進而擬合新的cart回歸樹。與xgboost的明顯區別,就是這樣的一階導數與二階導數的擬合方式。在不同任務中區別僅僅在損失函式不同導致的負梯度不同而已。
gbdt演算法過程
輸入:訓練集樣本
1) 初始化弱學習器
2) 對迭代輪數
a)對樣本
,計算負梯度:
b)利用
擬合一顆cart回歸樹,得到第
顆回歸樹,其對應的葉子節點區域為
,其中
為回歸樹
的葉子節點的個數。
c) 對葉子區域
,計算最佳擬合值
d) 更新強學習器:
3) 得到強學習器
的表示式
gbdt回歸與分類
回歸演算法是比較簡單的,畢竟cart就是回歸樹。回歸的問題也可以看成分類任務中一種特殊方法。分類問題的處理,類似與影象識別中的分類任務,分類任務變化成每一類別的概率值**。
二元gbdt分類演算法
對數似然損失函式為:
負梯度誤差為:
各個葉子節點的最佳殘差擬合值為:
上式的計算過於複雜,通常選取近似的方式:
多元gbdt分類演算法
第 類的概率
的表示式為:
計算出第
輪的第
個樣本對應類別
的負梯度誤差為:
其實這裡的誤差就是樣本
對應類別
的真實概率和
輪**概率的差值。
一般使用近似值代替:
gbdt的正則化
模型加入正則是為了防止過擬合。gbdt的正則化主要有三種方法:
gbdt優缺點
優點:缺點:
對應的負梯度誤差為:
gbdt演算法 演算法梳理五 GBDT
真正開始動手寫,才發現以前理解的不夠深。弄懂乙個演算法,要想明白哪些問題?集合裡有m個樣本,n個特徵,gbdt每棵回歸樹怎麼構造 選取多少樣本,多少特徵 它的損失函式怎麼擬合,殘差是怎麼回事,梯度在其中的作用。gbdt有很多簡稱,有gbt gradient boosting tree gtb gra...
GBDT演算法梳理
table of contents 1 gbdt概述 2 前向分布演算法 2.1 加法模型 2.2 前向分布演算法 2.2.1 思想 2.2.2 策略 2.2.3 加法模型求解 3 損失函式 4 負梯度擬合 5 回歸 6 gbdt分類 6.1 二分類 6.2 多分類 7 正則化 8 優缺點 9 sk...
GBDT演算法梳理
人工智慧之gbdt演算法 前言 人工智慧之機器學習主要有三大類 1 分類 2 回歸 3 聚類。今天我們重點 一下gbdt演算法。我們知道,gbm 請參見人工智慧 51 是乙個改善弱學習器效果的計算框架。gbm梯度提公升模組可以根據需要任意插入各種各樣的弱分類器。若弱學習器限定了只能使用cart回歸樹...