在機(jī)器學(xué)習(xí)中,經(jīng)常會(huì)有一些需要組合的方法:
- 比如集成學(xué)習(xí)脖捻,在分類器的構(gòu)建中很重要兆衅,可以把多個(gè)分類器組合起來(lái),構(gòu)造一個(gè)更合理的分類器
- 比如線性回歸問(wèn)題涯保,可以把多個(gè)簡(jiǎn)單模型組合在一起夕春,可能比單個(gè)復(fù)雜的模型效果更好
在線性回歸問(wèn)題中,經(jīng)典的組合方法有很多及志,隨機(jī)化(比如random forest),Boosting(比如GBDT - Gradient Boosting Decision Tree率寡,逐步梯度決策樹(shù))倚搬,現(xiàn)在學(xué)習(xí)Gradient Boosting方法。
boosting (逐步)
Boosting主要是一種思想每界,表示“知錯(cuò)就改”。在上一步構(gòu)造的模型的損失函數(shù)較大庙楚,但是已經(jīng)不可挽回了趴樱,那么在下一步中構(gòu)造一個(gè)糾錯(cuò)模型函數(shù),與上一步的模型相加叁征,試圖將誤差往小調(diào)整。
對(duì)一份數(shù)據(jù)塞祈,建立M個(gè)模型(比如分類)帅涂,一般這種模型比較簡(jiǎn)單,稱為弱分類器(weak learner)每次分類都將上一次分錯(cuò)的數(shù)據(jù)權(quán)重提高一點(diǎn)再進(jìn)行分類媳友,這樣最終得到的分類器在測(cè)試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)上都可以得到比較好的成績(jī)。
上圖(圖片來(lái)自prml p660)就是一個(gè)Boosting的過(guò)程哼御,綠色的線表示目前取得的模型(模型是由前m次得到的模型合并得到的)焊唬,虛線表示當(dāng)前這次模型。每次分類的時(shí)候液肌,會(huì)更關(guān)注分錯(cuò)的數(shù)據(jù)鸥滨,上圖中,紅色和藍(lán)色的點(diǎn)就是數(shù)據(jù)老速,點(diǎn)越大表示權(quán)重越高凸主,看看右下角的圖片,當(dāng)m=150的時(shí)候卿吐,獲取的模型已經(jīng)幾乎能夠?qū)⒓t色和藍(lán)色的點(diǎn)區(qū)分開(kāi)了。
Gradient Boosting 逐步梯度下降方法
Gradient Boosting是一種Boosting的方法鬓梅,它主要的思想是谨湘,每一次新建立的模型是在之前建立的模型的損失函數(shù)的梯度下降方向。如果我們的模型能夠讓損失函數(shù)持續(xù)的下降紧阔,則說(shuō)明我們的模型在不停的改進(jìn)擅耽,而最好的方式就是讓損失函數(shù)在其梯度(Gradient)的方向上下降。
算法流程:
推導(dǎo)過(guò)程省略