使用GBDT+LR作点击率预测
生活随笔
收集整理的這篇文章主要介紹了
使用GBDT+LR作点击率预测
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主要內容來源于facebook的論文:Practical Lessons from Predicting Clicks on Ads at Facebook》
1、基本思路
使用GBDT根據用戶特征轉換生成新的特征,每棵樹的每個葉子均作為一個特征,然后將這些特征代入LR。
舉個例子:
(1)訓練GBDT樹:我們現在m個樣本,總共有6000個標簽,將這些樣本用于訓練GBDT,生成10棵樹,每棵樹100個葉子(當然各棵樹的葉子數可能不同),總共1000個葉子。上述的1000個葉子會作為特征。
(2)使用GBDT樹轉換特征:還是上面的m個樣本,我們將這m個樣本代入上面生成的10棵樹,這些樣本在每棵樹上都會被分類到其中一個葉子,將這個葉子對應的位置設置為1,其余為0。這樣就得到我們轉換后的特征了。
(3)使用轉換特征訓練LR:使用上面轉換后的特征作為樣本特征,用于訓練LR,得到最終的模型。
(4)當有新樣本需要預測時,使用步驟2生成轉換特征后代入第3步生成的模型,得出最終的預測結果。
附一張facebook的圖:
2、問題 (1)使用GBDT抽取特征以后,這些特征就應該固定了,也就是說第一天GBDT就固定了,以后不再訓練,只是用這棵樹來根據樣本生成特征。 但是我們的特征是會變化的,如果增加了一個特征,由于GBDT樹不再發生變化,因此這個特征不會再被加入模型。唯一的處理方法是,重新訓練GBDT樹,但這樣的話由于轉換生成的特征發生了變化,因此LR要從最初的數據開始全部訓練。 解決辦法:原有特征繼續進入GBDT,新來的特征作為一新特征開始訓練。然后每隔一段時間重新訓練GBDT,并且全部重新進入LR。
2、問題 (1)使用GBDT抽取特征以后,這些特征就應該固定了,也就是說第一天GBDT就固定了,以后不再訓練,只是用這棵樹來根據樣本生成特征。 但是我們的特征是會變化的,如果增加了一個特征,由于GBDT樹不再發生變化,因此這個特征不會再被加入模型。唯一的處理方法是,重新訓練GBDT樹,但這樣的話由于轉換生成的特征發生了變化,因此LR要從最初的數據開始全部訓練。 解決辦法:原有特征繼續進入GBDT,新來的特征作為一新特征開始訓練。然后每隔一段時間重新訓練GBDT,并且全部重新進入LR。
總結
以上是生活随笔為你收集整理的使用GBDT+LR作点击率预测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 点击率预估算法:FM与FFM
- 下一篇: 深度学习在CTR中的应用