iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
AI & Data

親手打造推薦系統系列 第 20

Day20 - GBDT + LR 是如何找出特徵組合做推薦? - 親手打造推薦系統

  • 分享至 

  • xImage
  •  

之前介紹了 FM 及 FFM 演算法,他們對於特徵交換都只留在二階上,也就是只討論兩個特徵若同時出現時的情況。但難道不能討論3個4個或更多嗎?

可以,但會遇到組合爆炸問題,所以FM 及FFM都只留在二階上,那還有什麼好方法,讓我們可以不用暴力法,也能知道哪些特徵組合有用?進而做推薦預測?

2014 年 FB 提出的 GBDT + LR 演算法,就是在解決找出特徵組合又能做預測的辦法。

回顧 LR 演算法

要做推薦預測,傳統的 LR 模型即可運作,它有以下特點:

  1. 計算複雜度低
  2. 易於平行化處理
  3. 比起協作過濾法,可以參考很多的特徵做學習,例如使用者的資料、電影的簡介資訊、電影卡斯、電影預算等等。

但他也有缺點:LR 並不知道哪特徵組合是有用的,他會一股腦全部學進去,這要怎麼辦呢?

用 GBDT 產生特徵組合編碼

GBDT 是梯度上升決策樹,它可以拿來做回歸或是要做分類。它有個特色,將它訓練完之後,會得到 N 顆樹,每次做預測時,就是這 N 顆樹一起運算得到結果。

那既然 GBDT 可以做回歸,也可以做分類,那還要 LR 做什麼?

GBDT + LR 有什麼好處?

還記得 LR 裡,它無法識別哪些特徵是有用的。我們若把 GBDT 用法改一下,我們讓每顆樹的葉節點分別表示 0 或 1 ,把輸入 x 丟到 GBDT 訓練出來的 N 顆樹裡,當 x 可以到每顆樹的葉節點時,我們便把該節點當 1 ,其它當 0 ,這樣每顆樹就會產生 一個 one-hot 的序列,然後把每一顆樹產生序列集合起來,就可以成為這個輸入 x 的特徵向量。

這個特徵向量可視為有效的特徵組合重新編碼的結果。既然拿到 x 新的特徵向量了,就把這個特徵向量拿去做 LR。這樣就可以有特徵組合的好處,又有LR的好處了!

架構如下:

https://ithelp.ithome.com.tw/upload/images/20221005/20152556o3y4tOnf5B.png

小結

GBDT + LR 是個有趣的設計,它採用了兩個演算法的精華合成起來。因為計算複雜度小,效果又好,在深度學習還沒有流行起來的時代, GBDT + LR 就有一點深度學習裡用 embedding 的味道在,所以在 2014 年時流行起來,他的原理和思路也一直影響之後的演算法,算是個推薦預測演算法的里程碑。

參考資料: 原 FB 提出的論文


上一篇
Day19 - FFM 因數分解機的拓展 - 親手打造推薦系統
下一篇
Day21 - 3 個影片資料集的介紹 - 親手打造推薦系統
系列文
親手打造推薦系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言