天天看點

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

本文介紹的論文的題目為《Translation-based Factorization Machines for Sequential Recommendation》

論文下載下傳位址為:https://cseweb.ucsd.edu/~jmcauley/

在本系列的第五十八篇文章中,我們介紹了一種基于“翻譯”(Translation-based,本文仍然延續基于“翻譯”這種解釋方法)的序列推薦方法TransRec,本篇咱們一起來看看這種方法與FM相結合,會擦出什麼樣的火花。

1、背景

這裡,首先簡單回顧一下TransRec的内容,其基本的思路就是使用者對應的向量和使用者上一個互動過的物品向量之和,要和使用者下一個要互動的物品向量在距離上相近。

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

這裡的距離計算一般選擇平方距離。上面的思路借鑒了度量學習(metric learning)和知識圖譜補全(knowledge-graph completion)的思路,取得了不錯的效果。

而FM模型是推薦系統領域非常重要的模型,其對每一個特征賦予一個k維的向量,并通過對應向量的内積來當作特征交叉的權重,其預估公式如下:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

那麼,将FM中基于内積來計算交叉特征權重的方法,改為距離計算方法,便得到了本文中提出的Translation-based Factorization Machines,即TransFM。

2、TransFM

2.1 問題描述

下面的表格是對一些符号的定義:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

x是特征向量,該向量包含四個部分,分别是使用者特征、使用者前一個互動的物品i、使用者下一個互動的物品j,還有一部分的上下文特征。總共的特征長度是n(one-hot之後的長度,而不是field的個數),這裡給每個特征兩個對應的k維向量,一個我們稱作embedding vector,這個和FM是一緻的,另一個稱作translation vector,分别記作vi 和 v'i。

2.2 TransFM模型及分析

TransFM模型示意圖如下:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

在融合基于“翻譯”的思想後,TransFM的點選率計算公式變為:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

其中, d2是平方距離計算公式:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

使用距離計算公式的一個好處是如果特征組(a,b)和(b,c)的距離很近,那麼特征組(a,c)的距離也會很近,因為三角形兩邊之和一定大于第三邊的長度。

下圖展示了幾種不同的方法的可視化展示:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結
RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

PRME的全稱是Personalized Ranking Metric Embedding ,其核心是計算使用者embedding和物品embedding的距離;FM是通過計算特征對應的向量的内積來計算二者相關性的;TransRec和TransFM也是兩種基于距離的學習方法。

看到這裡你可能會和我有一樣的疑問,這裡為什麼要對一個特征搞兩個向量?每一個特征對應一個embedding vector,然後把内積計算改成距離計算不就好了麼?按照這個思路,計算點選率的公式應該為:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

文中作者在實驗部分也對比了這麼做和TransFM的效果,TransFM的效果是較優的。

2.3 模型計算複雜度

我們都知道,FM是可以通過化簡來極大降低計算的時間複雜度的,同樣的TransFM也可以進行化簡,一起來看一下。

首先,距離公式可以改寫為:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

是以,互動部分可以進一步化簡:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

咱們還是來拆解一下上面的步驟:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結
RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

别看第一項可以細分為六個部分,每一個部分都是可以繼續化簡的,比如:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

這樣,假設有n個feature,向量長度為k,那麼時間複雜度是O(nk),而非O(n2k)

2.4 模型訓練

模型的訓練采用pair-wise的方式,在已知使用者u上一個互動過的物品i的情況下,我們知道下一個使用者互動的物品j,那麼除去j之外的所有物品都可以當作負樣本,優化目标如下:

RS Meet DL(60)-FM家族的新朋友之TransFM1、背景2、TransFM 3、總結

3、總結

本文将Translation-based的思想和FM相結合,提出了TransFM方法,在幾個資料集上的效果均好于FM模型和TransRec模型。