丁曉旸
【摘 要】梯度增強機器并不是獨立的某種技術(shù),而是一系列強大的機器學(xué)習(xí)技術(shù)的集合,它在廣泛的實際應(yīng)用中取得了相當(dāng)大的成功。它們是高度可定制的,可以滿足特殊需求的應(yīng)用,就像是學(xué)會了尊重和適應(yīng)不同的損失函數(shù)。本文介紹了梯度增強方法的入門教程,重點介紹了建模的機器學(xué)習(xí)方面。
【關(guān)鍵詞】梯度增強機器(GBM);機器;應(yīng)用
一、研究背景
梯度增強器(GBM)實際上是從Boosting算法發(fā)展演化而來,Boosting算法其實思想相當(dāng)?shù)暮唵危蟾攀?,對一份?shù)據(jù),建立M個模型(比如分類),一般這種模型比較簡單,稱為弱分類器(weak learner)每次分類都將上一次分錯的數(shù)據(jù)權(quán)重提高一點再進行分類,這樣最終得到的分類器在測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)上都可以得到比較好的成績。
訓(xùn)練集中一共有n個點,我們可以為里面的每一個點賦上一個權(quán)重Wi(0 <= i < n),表示這個點的重要程度,通過依次訓(xùn)練模型的過程,我們對點的權(quán)重進行修正,如果分類正確了,權(quán)重降低,如果分類錯了,則權(quán)重提高,初始的時候,權(quán)重都是一樣的。上圖中綠色的線就是表示依次訓(xùn)練模型,可以想象得到,程序越往后執(zhí)行,訓(xùn)練出的模型就越會在意那些容易分錯(權(quán)重高)的點。當(dāng)全部的程序執(zhí)行完后,會得到M個模型,分別對應(yīng)上圖的y1(x)…yM(x),通過加權(quán)的方式組合成一個最終的模型YM(x)。
我覺得Boosting更像是一個人學(xué)習(xí)的過程,開始學(xué)一樣?xùn)|西的時候,會去做一些習(xí)題,但是常常連一些簡單的題目都會弄錯,但是越到后面,簡單的題目已經(jīng)難不倒他了,就會去做更復(fù)雜的題目,等到他做了很多的題目后,不管是難題還是簡單的題都可以解決掉了。
Gradient Boosting方法:
其實Boosting更像是一種思想,Gradient Boosting是一種Boosting的方法,它主要的思想是,每一次建立模型是在之前建立模型損失函數(shù)的梯度下降方向。這句話有一點拗口,損失函數(shù)(loss function)描述的是模型的不靠譜程度,損失函數(shù)越大,則說明模型越容易出錯(其實這里有一個方差、偏差均衡的問題,但是這里就假設(shè)損失函數(shù)越大,模型越容易出錯)。如果我們的模型能夠讓損失函數(shù)持續(xù)的下降,則說明我們的模型在不停的改進,而最好的方式就是讓損失函數(shù)在其梯度(Gradient)的方向上下降。
如果我們考慮與早期發(fā)展的聯(lián)系,就會得出眾所周知的級聯(lián)相關(guān)神經(jīng)網(wǎng)絡(luò)可以被認為是算法中定義的特殊類型的梯度增強模型。由于每個神經(jīng)元的輸入側(cè)權(quán)重在添加到網(wǎng)絡(luò)之后變得固定,所以整個模型可以被認為是GBM,其中基礎(chǔ)學(xué)習(xí)者模型只是一個神經(jīng)元,損失函數(shù)是標(biāo)準(zhǔn)平方誤差。這個算法也最大化了整個網(wǎng)絡(luò)的誤差與新創(chuàng)建的神經(jīng)元之間的相關(guān)性,而且比較明顯。
二、梯度增強器在決策樹中的應(yīng)用
一種計算可行的捕獲相互作用的方式。GBM模型中的變量基于使用決策樹模型。雖然幾個解釋變量之間的相互作用會消除加性模型的可解釋性,但這不能被認為是一個顯著的缺點,因為還有幾種用于基于樹的GBM解釋的工具。
決策樹背后的想法是分配空間,通過樹形輸入變量到均勻的矩形區(qū)域規(guī)則制度。每個樹分裂對應(yīng)于if-then規(guī)則一些輸入變量。這種結(jié)構(gòu)的決策樹自然而然編碼和模擬預(yù)測變量之間的相互作用,ABLES。這些樹通常用數(shù)字參數(shù)化分裂,或等效地相互作用深度。它也是可能的,可以將其中一個變量拆分成特定的幾倍。
只有一個分裂的決策樹(即具有兩個終端節(jié)點的樹)的特殊情況稱為樹樁。因此,如果想要使用樹型基礎(chǔ)學(xué)習(xí)者來擬合一個加法模型,那么可以使用樹狀樹來做到這一點。在許多實際應(yīng)用中,小樹和樹樁提供了相當(dāng)準(zhǔn)確的結(jié)果(Wenxin,2002)。此外,有很多證據(jù)表明,即使是具有豐富的樹結(jié)構(gòu)(相互作用深度>20)的復(fù)雜模型幾乎不會對緊湊的樹(相互作用)提供任何好處。
決策樹的一個重要特征是,通過設(shè)計,單個決策樹總是以常量值推斷函數(shù)。這意味著,即使像一個非零角度的直線的簡單函數(shù)也不能用單個決策樹正確地近似。
三、梯度增強器的模型泛化能力
從數(shù)據(jù)建立機器學(xué)習(xí)模型的最重要的關(guān)注是產(chǎn)生的模型的泛化能力。如果學(xué)習(xí)算法不適用,該模型可以輕松地過載數(shù)據(jù)。這意味著它會預(yù)測訓(xùn)練數(shù)據(jù)比輸入和響應(yīng)變量之間的功能依賴性。這些關(guān)切顯然是相同的GBM。很容易想像一個情況,即新的基礎(chǔ)學(xué)習(xí)者被添加到合奏,直到數(shù)據(jù)被完全過度使用。使用不同類型的基礎(chǔ)學(xué)習(xí)者可能適應(yīng)GBM具有非常不同的損失功能。
為GBM引入的最簡單的正則化程序是二次抽樣。子采樣程序已經(jīng)顯示提高模型的泛化屬性,同時減少所需的計算量。這種方法背后的想法是引入一些隨機變量進入擬合程序。僅在每次學(xué)習(xí)迭代時訓(xùn)練數(shù)據(jù)的隨機部分用于適應(yīng)充足的基礎(chǔ)學(xué)習(xí)者。訓(xùn)練數(shù)據(jù)通常是采樣的替換,但是,替換抽樣,就像它做的一樣引導(dǎo),是另一種可能的設(shè)計選擇。子采樣過程需要一個稱為的參數(shù)“袋子分?jǐn)?shù)”。袋子分?jǐn)?shù)是不大于正值一個,其規(guī)定了在每個itera-glue。例如,袋=0.1對應(yīng)于采樣和使用每次迭代只有10%的數(shù)據(jù)。另一個有用的屬性的抽樣是自然地適應(yīng)了GBM學(xué)習(xí)程序到大數(shù)據(jù)集時沒有理由使用全部一次潛在的巨大數(shù)據(jù)量。當(dāng)數(shù)據(jù)量,由數(shù)據(jù)量測量N點不是實際值得關(guān)注的,設(shè)置默認值bag=0.5給出了許多實際任務(wù)的合理結(jié)果。如果一個最佳的袋子部分是感興趣的,可以簡單的估計它通過比較不同參數(shù)下的預(yù)測性能值。
在GBM的背景下,收縮用于減少或縮小每個額外安裝的基礎(chǔ)學(xué)習(xí)者的影響。它減少增量步長的大小,從而懲罰每次連續(xù)迭代的重要性。這種技術(shù)是通過采取改進模型更好許多小步驟比采取較少的大步驟。如果其中之一增強迭代證明是錯誤的,它的負面影響可以在隨后的步驟中輕松校正。通過收縮的最簡單的正規(guī)化形式是直接比例收縮。在這種情況下,收縮的影響直接定義為參數(shù)λ∈(0,1),正則化應(yīng)用于最終梯度提升算法的一步。
四、梯度增強器的缺點
梯度增壓機是一種強大的方法,可以有效捕獲復(fù)雜的非線性函數(shù)依賴性。這個模型系列在各種各樣的顯示器上取得了相當(dāng)大的實際應(yīng)用。此外,GBM非常靈活,可以輕松地根據(jù)不同的實際需要進行定制。然而,所有這些結(jié)果和好處并不是免費的。雖然GBM可以被認為是一種方法論框架比一個特定的方法,他們還有幾個缺點:
GBM出現(xiàn)的最明顯的問題是存儲預(yù)測模型的成本取決于用于學(xué)習(xí)的升壓迭代次數(shù)。正如我們在正則化部分中討論的,為了減少過擬合的影響,我們要尋求最優(yōu)迭代次數(shù)對于合適的收縮參數(shù)可以相當(dāng)大。在一些精確密集的應(yīng)用程序(如入侵檢測系統(tǒng))中,所需的迭代次數(shù)可以很容易地達到范圍數(shù)萬。處理這種大規(guī)模模型需要存儲每個適合的基礎(chǔ)學(xué)習(xí)者的所有參數(shù)。
GBM的另一個問題自然來自于高內(nèi)存消耗是評估速度。使用擬合GBM模型獲得預(yù)測,一個必須評估所有合奏中的基礎(chǔ)學(xué)習(xí)者。盡管每個人都很簡單的基礎(chǔ)學(xué)習(xí)者,當(dāng)合奏相當(dāng)大時,以快速的速度獲得預(yù)測可能變得耗時。因此,在密集的在線任務(wù)中使用GBM最多可能要求從業(yè)者接受這種權(quán)衡模型復(fù)雜性和所需數(shù)量的函數(shù)評估-每個時間間隔。然而,當(dāng)GBM合奏是已經(jīng)學(xué)會了,可以充分利用并行化獲得預(yù)測。盡管功能評估的并行化,學(xué)習(xí)過程本質(zhì)上是順序的,并且通過設(shè)計并行化存在問題。
目前,GBM的另一個缺點是沒有快速有效的模式和執(zhí)行順利持續(xù)的基礎(chǔ)學(xué)習(xí)者捕獲相互作用。我們從應(yīng)用實例可以看出,可以在特定的預(yù)測模型中發(fā)揮至關(guān)重要的作用設(shè)計。然而,只有決策樹才能有效地捕獲非在合理計算中,變量之間的微不足道的相互作用時間。值得注意的是,基礎(chǔ)學(xué)習(xí)者可能會忽略這個問題,但是這種算法目前在實踐中并沒有被使用GBM模型設(shè)計。