斯坦福吳恩達團隊提出NGBoost:用於機率預測的天然梯度提高

在此論文中,來自斯坦福的研究者們提出了 NGBoost 梯度提高方法以解決現有梯度提高方法難以處理的通用機率預測中的技術難題。算法

選自arXiv, 做者:Tony Duan、Anand Avati等,機器之心編譯,參與:熊貓。


天然梯度提高(NGBoost / Natural Gradient Boosting)是一種算法,其以通用的方式將機率預測能力引入到了梯度提高中。預測式不肯定性估計在醫療和天氣預測等不少應用中都相當重要。機率預測是一種量化這種不肯定性的天然方法,這種模型會輸出在整個結果空間上的完整機率分佈。梯度提高機(Gradient Boosting Machine)已經在結構化輸入數據的預測任務上取得了普遍的成功,但目前尚未用於實數值輸出的機率預測的簡單提高方案。NGBoost 這種梯度提高方法使用了天然梯度(Natural Gradient),以解決現有梯度提高方法難以處理的通用機率預測中的技術難題。這種新提出的方法是模塊化的,基礎學習器、機率分佈和評分標準均可靈活選擇。研究者在多個迴歸數據集上進行了實驗,結果代表 NGBoost 在不肯定性估計和傳統指標上的預測表現都具有競爭力。app

連接:https://arxiv.org/pdf/1910.03225v1.pdf機器學習

引言
模塊化

不少真實世界的監督機器學習問題都具備表格式的特徵和實數值的目標。但模型不多應該對預測結果有絕對的信心。在這樣的任務中,估計預測結果中的不肯定性就很重要了,尤爲是當預測結果與自動化決策直接相關時——由於機率式不肯定性估計在肯定工做流程中的人工後備方案方面很是重要。函數

氣象學已經將機率式預測用做天氣預測的首選方法。在這種設置中,模型會根據觀察到的特徵輸出在整個輸出空間上的機率分佈。模型的訓練目標是經過優化最大似然估計(MLE)或更穩健的連續分級機率評分(CRPS)等評分規則來最大化銳度(sharpness),從而實現校準。這會獲得通過校準的不肯定度估計。

而梯度提高機(GBM)是一系列能很好地處理結構化輸入數據的高度模塊化的方法,即便數據集相對較小時也能很好地完成。可是,若是方差被假定爲常數,那麼這種機率式解釋就沒什麼用處。預測獲得的分佈須要有至少兩個自由度(兩個參數),纔能有效地體現預測結果的幅度和不肯定度。正是這個基礎學習器多個參數同時提高的問題使得 GBM 難以處理機率式預測,而 NGBoost 經過使用天然梯度可以解決這個問題。學習

這篇論文提出了天然梯度提高,這是一種用於機率預測的模塊化的提高算法,其使用了天然梯度,從而能夠靈活地整合不一樣的如下模塊:
測試

  • 基礎學習器(好比決策樹)優化

  • 參數機率分佈ui

  • 評分規則(MLE、CRPS 等)spa

NGBoost:天然梯度提高

NGBoost 算法是一種用於機率預測的監督學習方法,其實現提高的方式是以函數形式預測條件機率分佈的參數。研究者這裏的實驗關注的重點是實數值輸出,但他們也表示這些方法全均可用於其它模式的預測,好比分類和事件發生時間預測。

該算法有三個模塊化組件,可在配置中預先選擇:
  • 基礎學習器(f)

  • 參數機率分佈(P_θ)

  • 合適的評分規則(S)

對新輸入 x 的預測 y|x 是以條件分佈 P_θ 的形式完成的,其參數 θ 經過 M 個基礎學習器輸出(對應於 M 個梯度提高階段)與一個初始分佈 θ(0) 的疊加組合獲得。注意 θ 多是一個參數向量(不限定於標量值),這些參數徹底決定了機率預測 y|x。爲了獲得某個 x 的預測結果參數 θ,每一個基礎學習器 f 都以 x 爲輸入。預測獲得的輸出使用一個特定於階段的縮放因子 ρ 和一個通用學習率 η 進行縮放。

模型是按序列形式學習的,每一個階段都有一組基礎學習器 f 和一個縮放因子 ρ。學習算法首先會估計一個共同的初始分佈 θ(0),這樣使它能最小化評分規則 S 在全部訓練樣本的響應變量上的總和,這本質上就是擬合 y 的邊際分佈。這就變成了全部樣本的初始預測參數 θ(0)。

在每次迭代 m,對於每一個樣本 i,算法都會根據該樣本直到該階段的預測結果參數計算評分規則 S 的天然梯度 g_i。注意 g_i 和維度與 θ 一致。該迭代的一組基礎學習器 f 將進行擬合,以便預測每一個樣本 x_i 的天然梯度的對應份量。

擬合後的基礎學習器的輸出是天然梯度在該基礎學習器類別的範圍上的投射。而後,經過縮放因子 ρ 對投射後的梯度進行縮放,由於局部近似可能離開當前參數位置後不久就會失效。選取縮放因子的標準是以線搜索的形式最小化沿投射梯度方向的總體真實評分規則損失
肯定了縮放因子以後,再更新每一個樣本的預測參數。

實驗

實驗使用的數據集來自 UCI Machine Learning Repository,並遵循了 Hernández-Lobato 和 Adams (2015) 最早提出的協議。全部數據集都隨機選取了 10% 做爲測試集。在另外的 90% 中,首先先保留 20% 做爲驗證集,以選擇能給出最佳對數似然的 M(提高階段的數量),而後再使用所選的 M 從新擬合那 90% 總體。而後,使用從新擬合的模型在留存的 10% 測試集上進行預測。對於全部數據集,整個過程重複 20 次;但 Protein 和 Year 數據集除外,這兩個數據集分別重複 5 次和 1 次。

表 1: 在迴歸基準 UCI 數據集上的表現比較。 MC dropout 和 Deep Ensembles 的結果分別來自 Gal and Ghahramani (2016) 和 Lakshminarayanan et al. (2017)。 NGBoost 在 RMSE 和 NLL 上的表現都頗有競爭力,尤爲是在更小型的數據集上。
相關文章
相關標籤/搜索