【推薦系統】GBDT+LR

ocean_R 發表於 2020-10-30

01 GBDT

​ GBDT全稱梯度下降樹,在傳統機器學習演算法裡面是對真實分佈擬合的最好的幾種演算法之一,在前幾年深度學習還沒有大行其道之前,gbdt在各種競賽是大放異彩。原因大概有幾個,一是效果確實挺不錯。二是即可以用於分類也可以用於迴歸。三是可以篩選特徵。這三點實在是太吸引人了,導致在面試的時候大家也非常喜歡問這個演算法。

​ GBDT通過多輪迭代,每輪迭代產生一個弱分類器,每個分類器在上一輪分類器的殘差基礎上進行訓練。對弱分類器的要求一般是足夠簡單,並且是低方差和高偏差的。因為訓練的過程是通過降低偏差不斷提高最終分類器的精度。

​ 弱分類器一般會選擇為CART TREE(也就是分類迴歸樹)。由於上述高偏差和簡單的要求每個分類迴歸樹的深度不會很深。最終的總分類器是將每輪訓練得到的弱分類器加權求和得到的(也就是加法模型)。

02 LR

​ LR即邏輯迴歸(Logistic Regression),由於其存在易於實現、可解釋性好以及擴充套件容易等優點,被廣泛應用於點選率預估(CTR)、計算廣告(CA)以及推薦系統(RS)等任務中。邏輯迴歸雖然稱之為迴歸,但實際上確實一種分類的學習方法。

03 GBDT+LR

​ 2014年, Facebook提出了一種利用GBDT自動進行特徵篩選和組合, 進而生成新的離散特徵向量, 再把該特徵向量當做 LR模型的輸入, 來產生最後的預測結果, 這就是著名的GBDT+LR模型了。GBDT+LR 使用最廣泛的場景是CTR點選率預 估,即預測當給使用者推送的廣告會不會被使用者點選。
在這裡插入圖片描述

圖3.1 模型結構

​ 訓練時,GBDT 建樹的過程相當於自動進行的特徵組合和離散化,然後從根結點到葉子節點的這條路徑就可以看成是不同 特徵進行的特徵組合,用葉子節點可以唯一的表示這條路徑,並作為一個離散特徵傳入 LR 進行 。

​ 與測試,資料首先通過GBDT的每棵樹,得到某個葉子節點對應的一個離散特徵,然後把該特徵以one-hot形式傳入到LR中進行線性加權預測。

注意:

  • 通過GBDT進行特徵組合之後得到的離散向量是和原訓練資料的特徵塊。
  1. 建樹的時候用ensemble建樹的原因就是一棵樹的表達能力很弱,不足以表達多個有區分性的特徵組合,多棵樹的表達 能力更強一些。GBDT每棵樹都在學習前面棵樹尚存的不足,迭代多少次就會生成多少棵樹。
  2. RF也是多棵樹,但從效果上有實踐證明不如GBDT。且GBDT前面的樹,特徵分裂主要體現對多數樣本有區分度的特 徵;後面的樹,主要體現的是經過前N顆樹,殘差仍然較大的少數樣本。優先選用在整體上有區分度的特徵,再選用 針對少數樣本有區分度的特徵,思路更加合理,這應該也是用GBDT的原因。
  3. 在CRT預估中, GBDT一般會建立兩類樹(非ID特徵建一類, ID類特徵建一類), AD,ID類特徵在CTR預估中是非常 重要的特徵,直接將AD,ID作為feature進行建樹不可行,故考慮為每個AD,ID建GBDT樹。
  4. 非ID類樹:不以細粒度的ID建樹,此類樹作為base,即便曝光少的廣告、廣告主,仍可以通過此類樹得到有區分 性的特徵、特徵組合
  5. ID類樹:以細粒度的ID建一類樹,用於發現曝光充分的ID對應有區分性的特徵、特徵組合。