1. 程式人生 > >機器學習boosting演算法—梯度提升樹(GBDT)

機器學習boosting演算法—梯度提升樹(GBDT)

1 迴歸樹演算法分析

Adaboost演算法是提升樹的特殊情況,主要用於分類問題,對於迴歸問題怎麼處理呢??

已知一個訓練資料集T={(x1,y1),(x2,y2),...,(xN,yN)},假設輸入空間為χ,如果將輸入空間劃分為J個互不相交的區域R1,R2,...,RJ並在每個區域上確定輸出的常量cj,那麼迴歸樹可以表示為:

T(x;Θ)=j=1JcjI(xRj)
其中,引數Θ={(R1,c1),(R2,c2),...,(RJ,cJ)}表示樹的區域劃分和各區域上的常數,J是迴歸樹的葉節點個數


所以迴歸演算法模型可以表示成:
fM(x)=m=1MT(x;Θm)


在前向分佈演算法的第m步,給定當前模型f
m1
(x)
,優化目標為:
Θ̂ m=argminΘmi=1NL(yi,fm1(xi)+T(xi;Θm))


損失函式-平方損失:
L(y,f(x))=(yf(x))2=L(yi,fm1(xi)+T(xi;Θm))=[yfm1(xi)T(xi;Θm)]2=[rT(xi;Θm)]2
其中r=yfm1(x)為當前模型擬合的殘差,所以迴歸問題的提升樹只需要簡單的擬合當前模型的殘差。

2 示例解析

訓練資料如下,x的取值範圍為區間[0.5,10.5],y的取值範圍為區間[5.0,10.0],學習這個迴歸問題的提升樹模型,考慮只用樹樁作為基函式

xi 1 2 3 4 5 6 7 8 9 10
yi 5.56 5.70 5.91 6.40 6.80 7.05 8.90 8.70 9.00 9.05

尋找切分點方式:

mins[minc1xiR1(yic1)2+minc2xiR2(yic2)2]
其中:
R1=x

相關推薦

機器學習boosting演算法梯度提升(GBDT)

1 迴歸樹演算法分析 Adaboost演算法是提升樹的特殊情況,主要用於分類問題,對於迴歸問題怎麼處理呢?? 已知一個訓練資料集T={(x1,y1),(x2,y2),...,(xN,yN)},假設輸入空間為χ,如果將輸入空間劃分為J個互不相交的區域R1,R2

機器學習筆記10-梯度提升GBDT

機器學習筆記10-梯度提升樹(GBDT) 在上一節中講到了整合學習的Boosting方法,並詳細解釋了其中的代表性演算法AdaBoost演算法。除了AdaBoost演算法外,Boosting中還有另一個非常常用的演算法:提升樹和梯度提升樹(GBDT)。 提升樹 提升樹是以分

機器學習sklearn19.0——整合學習——boosting梯度提升演算法GBDT)、Adaboost演算法

一、boosting演算法原理 二、梯度提升演算法 關於提升梯度演算法的詳細介紹,參照部落格:http://www.cnblogs.com/pinard/p/6140514.html 對該演算法的sklearn的類庫介紹和調參,參照網址:http://

機器學習(七)—Adaboost 和 梯度提升GBDT

獲得 決策樹 info gin 否則 它的 均方差 但是 ont 1、Adaboost算法原理,優缺點:   理論上任何學習器都可以用於Adaboost.但一般來說,使用最廣泛的Adaboost弱學習器是決策樹和神經網絡。對於決策樹,Adaboost分類用了CART分類樹,

【R機器學習筆記】梯度提升迴歸——gbm包

gbm包 gbm包是梯度提升迴歸樹(GBRT)在R 中的實現。GBRT,全稱為Gradient Boosting Regression Tree, 有時也稱為GBDT。 wiki中對GBRT的定義 Gradient boosting is a

機器學習基礎】梯度提升決策

引言 上一節中介紹了《隨機森林演算法》,該演算法使用bagging的方式作出一些決策樹來,同時在決策樹的學習過程中加入了更多的隨機因素。該模型可以自動做到驗證過程同時還可以進行特徵選擇。 這一節,我們將決策樹和AdaBoost演算法結合起來,在AdaBoos

機器學習】筆記--梯度提升(Gradient boosting)

1 提升的概念 提升是機器學習技術,可以用於迴歸和分類問題,它每一步產生一個弱預測模型(如決策樹),並加權累加到總模型中

梯度提升(GBDT)原理小結

 在整合學習之Adaboost演算法原理小結中,我們對Boosting家族的Adaboost演算法做了總結,本文就對Boosting家族中另一個重要的演算法梯度提升樹(Gradient Boosting Decison Tree, 以下簡稱GBDT)做一個總結。GBDT有很多簡稱,有GBT(Gradient

機器學習 —— Boosting演算法

Boosting演算法(提升法) 演算法的三個要素 (1)函式模型:Boosting的函式模型是疊加型的,即F(x)=∑i=1kfi(x;θi)F(x)=∑i=1kfi(x;θi) (2)目標函式:選定某種損失函式作為優化目標E{F(x)}=E{∑i=

梯度提升(GBDT)原理

在整合學習之Adaboost演算法原理小結中,我們對Boosting家族的Adaboost演算法做了總結,本文就對Boosting家族中另一個重要的演算法梯度提升樹(Gradient Boosting Decison Tree, 以下簡稱GBDT)做一個總結。G

sklearn.linear_model——梯度提升(GBDT)調參小結

1. scikit-learn GBDT類庫概述     在sacikit-learn中,GradientBoostingClassifier為GBDT的分類類, 而GradientBoostingRegressor為GBDT的迴歸類。兩者的引數型別完全相同,當

梯度提升GBDT原理

1.模型 提升方法實際採用加法模型(即基函式的線性組合)與前向分佈演算法。以決策樹為基函式的提升方法稱為提升樹(boosting tree)。對分類問題決策樹是二叉分類樹,對迴歸問題決策樹是二叉決策樹

筆記︱決策族——梯度提升(GBDT

每每以為攀得眾山小,可、每每又切實來到起點,大牛們,緩緩腳步來俺筆記葩分享一下吧,please~ ——————————————————————————— 本筆記來源於CDA DSC,L2-R語言課程所學進行的總結。 一、介紹:梯度提升樹(Gradie

機器學習經典演算法之決策

一、背景及問題 決策樹演算法是為了解決二分類問題出現的,是根據歷史經驗(或訓練集)來做判斷,生成決策結果(或樹狀圖)的過程。 /*請尊重作者勞動成果,轉載請標明原文連結:*/ /* https://www.cnblogs.com/jpcflyer/p/11037256.html 

簡單易學的機器學習演算法——梯度提升決策GBDT

梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)演算法是近年來被提及比較多的一個演算法,這主要得益於其演算法的效能,以及該演算法在各類資料探勘以及機器學習比賽中的卓越表現,有很多人對GBDT演算法進行了開原始碼的開發,比較火的是陳

機器學習總結(四)——隨機森林與GBDT(梯度提升決策)

1. 隨機森林簡介 隨機森林採用的是bagging的思想,bagging即:通過在訓練樣本集中進行有放回的取樣得到多個取樣集,基於每個取樣集訓練出一個基學習器,再將基學習器結合起來共同實現分類或者回歸。隨機森林在對決策樹進行bagging的基礎上,

機器學習 | 詳解GBDT梯度提升原理,看完再也不怕面試了

本文始發於個人公眾號:TechFlow,原創不易,求個關注 今天是機器學習專題的第30篇文章,我們今天來聊一個機器學習時代可以說是最厲害的模型——GBDT。 雖然文無第一武無第二,在機器學習領域並沒有什麼最厲害的模型這一說。但在深度學習興起和流行之前,GBDT的確是公認效果最出色的幾個模型之一。雖然現在

Python機器學習梯度提升

pri () 糾正 ensemble depth del gbrt 1.5 cer #和隨機森林一樣,基於決策樹,采用連續的方式構建樹,深度很小max_depth<5.重要的參數n_estimate和learning_rate,這兩個參數的y作用在於對模型過擬合化得調

GBDT梯度提升演算法原理小結(三)

首先我們回顧一下Gradient Boosting 的本質,就是訓練出,使損失函式最小,即 其求解步驟如下: 所以,我們首先得定義出損失函式,才能談求解的事情。接下來我們針對不同場景,介紹相應的損失函式。 迴歸 對於迴歸問題,定義好損失函式後,Gradient B

機器學習--boosting家族之GBDT

輸入 com art 則無 img 小結 .org uber multiple   本文就對Boosting家族中另一個重要的算法梯度提升樹(Gradient Boosting Decison Tree, 以下簡稱GBDT)做一個總結。GBDT有很多簡稱,有GBT(Grad