梯度提公升演算法使用損失函式的負梯度在當前模型的值,
不再去學習殘差,而是學習乙個損失函式關於梯度的負值。
\[\begin\begin
-\left[\frac \right]_(x)}
\end\end
\]作為回歸問題提公升決策樹演算法中殘差的近似值,擬合乙個回歸樹。
如果xgboost在這裡改進的話可以採用二階梯度,因為乙個函式泰勒展開項階數越高精度約大。(xgboost第乙個改進)
為什麼用負梯度?
首先我們要學習的是從輸入空間x到輸出空間y的乙個對映f。
因為這樣的f有很多個,所以構建乙個f叫假設空間。
要在假設空間f中找乙個\(f*\)最優的對映。
f的最終表示可以用w和b這種權重和偏置來表示。
所以最終的學習,是學習使損失函式最小的引數的問題。
所以除了f假設空間外,還有個p空間,也就是引數空間。
在引數空間找w和b,由最優w和b去確定f,由f去完成對映。
而最優引數\(w*\) 如何學習,就是由
\(\begin\begin
\frac =0
\end\end\) 求得 \(w*\)
\(w*\)如何求得?
\(w^* =arg\min l(w)\)
就是由 \(w-\alpha\frac \) 迭代求得,也就是梯度下降法。
也就是在引數空間下來做的。
那麼能不能直接在假設空間f上來做?
\(f^w = arg\min l(f) \\ \frac =0\\ f=f-\beta\frac ,\beta=1\)
那麼沒有了引數,函式如何表示?
\[\begin\begin
t(x;\theta) = \sum_^j c_ji(x\in r_j)
\end\end
\]還是決策樹的本質問題,把輸入空間劃分為不同的離散區域,確定每個區域的輸出值。這樣直接對一棵樹進行學習就好了。
梯度提公升演算法過程:
這個地方也是將來xgboost要改進的點。經驗風險最小化容易導致過擬合,可以採用正則化項。(xgboost第二個改進)
(3)得到回歸梯度提公升決策樹
\[\begin\begin
\hat f(x)=f_m(x)=\sum_^m\sum_^jc_i(x \in r_)
\end\end
\]
決策樹 公式推導
目錄決策樹中涉及到了資訊熵 資訊增益 資訊增益率 基尼係數等公式,作為相應演算法 id3 c4.5 cart樹 的衡量標準,今天就來稍微推導一下這些公式 已知集合d的資訊熵的定義為 operatorname d sum p log p 其中,mathcal 表示樣本類別總數,p k 表示第k類樣本所...
GBDT 梯度提公升決策樹的簡單推導
gb,梯度提公升,通過進行m次迭代,每次迭代產生乙個回歸樹模型,我們需要讓每次迭代生成的模型對訓練集的損失函式最小,而如何讓損失函式越來越小呢?我們採用梯度下降的方法,在每次迭代時通過向損失函式的負梯度方向移動來使得損失函式越來越小,這樣我們就可以得到越來越精確的模型。假設gbdt模型t有4棵回歸樹...
GBDT 梯度提公升決策樹
gbdt gradient boosting decision tree 又叫 mart multiple additive regression tree 是一種迭代的決策樹演算法,該演算法由多棵決策樹組成,所有樹的結論累加起來做最終答案。它在被提出之初就和svm一起被認為是泛化能力較強的演算法。...