論文|一種基於 Embedding 和 Mapping 的跨域推薦方法
遷移學習(Transfer Learning)作爲機器學習的一大分支,已經取得了長足的進步。在人工智能領域,無論是圖像識別、NLP、搜索推薦都離不開遷移學習的身影。遷移學習的核心問題是找到源域和目標域的某種相似性,繼而將已知的知識應用到目標域中。
遷移學習的一個核心要解決的問題是冷啓動、數據稀疏性,當然其前提是同一個公司有不同的業務或者 APP 數據可以供不同部門進行使用和挖掘,比如阿里、騰訊、美團等,業務模型豐富,可以進行相應的遷移學習。
當遷移學習應用到推薦系統中時就被稱爲跨域推薦(Cross-Domain Recommendation)。
論文 PDF 地址:https://www.ijcai.org/proceedings/2017/0343.pdf
- 問題介紹 =======
數據稀疏是推薦系統中最有挑戰的問題之一,解決數據稀疏性的一種方法是交叉域推薦,它以協同的方式利用用戶在多個領域的打分和 feedback 來提高推薦的準確性。
目前交叉域推薦分爲兩種類型:
-
一種是非對稱的方式,利用附加域中的數據來解決目標域的數據稀疏性,具體來說是把在附加域中學到的知識或者某種模式直接應用到目標域中充當先驗或者正則。這種方法的關鍵之處是需要從附加域數據中識別出可以應用到目標域的知識。然而因爲沒有完全利用附加域和目標域的數據,所以是有很大侷限的。
-
另外一種是對稱的方式,假設附加域和目標域都有數據稀疏的問題,並且它們可以互相應用對方的數據知識。以這種方式來看,這兩個域是可以同等對待的,兩個域都以協同的方式應對數據稀疏問題。通常這種方式會在域之間學習一個 mapping 函數,把域獨有的因子和域間共享的因子明確區分開來,主要的缺點是學習域獨有的因子和域間共享的因子本身就放大了數據的稀疏性問題。
這篇論文作者從 embedding 和 mapping 的角度研究交叉域學習問題,也就是對稱的方式。作者研究了交叉域推薦的 2 個主要問題:
-
怎樣表示交叉域的 mapping 函數,linear or nonlinear?
-
是所有的數據還是隻有部分數據用來學習 mapping 函數呢?
雖然非線性函數可以學習到更復雜的交叉域 mapping 關係,但是這也意味着需要更多的數據,而且對於數據稀疏的交叉域來說,非常容易過擬合。另外,研究表明在 2 個域中都不是很活躍的用戶對於 mapping 函數的學習是不利的。針對這些問題,作者提出了 EMCDR 模型。
-
隱向量建模
-
隱空間的 mapping
-
交叉域推薦
2.EMCDP 模型
2.1 概述
假設我們有 2 個域,它們共享用戶或者物品,只在一個域中出現的用戶或者物品可以被認爲是另外一個域中即將來的用戶或者物品。這兩個域都可以爲源域或者目標域。
該模型包含三部分:
-
隱向量建模
-
隱空間的 mapping
-
交叉域推薦
其模型結構爲:
EMCDR 結構
其推薦算法流程爲:
EMCDR 算法流程
2.2 隱向量模型
模型的第一步是學習 user、item 的向量,論文中採用了兩種方式來構建隱向量:MF、BRP
2.2.1 MF
把打分矩陣分解成 2 個低維矩陣的乘積,假設打分是服從高斯分佈的,給定一對 user 和 item,它們的得分概率建模如下:
MF 的優化目標是:
優化函數使用的是:隨機梯度下降(stochastic gradient descent,SGD),MF 對應的更新函數爲:
2.2.2 BRP
不同於 MF 優化基於目標函數的打分,BPR 優化基於目標函數的 rank,BPR 的數據集重新構建爲:
對於給定的一對數據,BRP 的建模方式爲:
BRP 的優化目標爲:
BRP 使用的也是 SGD 優化函數,其參數對應的更新函數爲:
2.3 隱空間 mapping
EMCDP 算法假設不同域之間是存在映射的,最上邊提到這種映射函數包括線性的非線性的,同樣論文中也提到了兩種不同的 mapping 函數,假設用戶側和 item 側的映射函數表達式爲:
2.3.1 Linear Mapping
其中 M 爲遷移矩陣
2.3.2 MLP-based Nonlinear Mapping
2.4 交叉域推薦
對於目標域中信息很少的用戶和物品,直接使用 MF 或者 BPR 建模出的隱向量是不準確的,有很大偏差,這時可以使用源域建模出的隱向量以及 mapping 函數來建模。
- 實驗 ========
使用採用的數據集是 MovieLens-Netflix 和豆瓣 books-movies,其中 Netflix 數據集和 MovieLens 數據集中有 5000 多電影是共享的,但是用戶有很大區別,所以是 item-based 交叉域。作者把 MovieLens 當作源域,Netflix 當作目標域。
Douban 上可以提取出基於 user 的交叉域。user 都對 books 和 movies 打分,作者把 movies 當作源域,books 當作目標域。
在這裏插入圖片描述
實驗預處理:作者隨機刪除了目標域中的一部分實體(item 或者 user)的打分信息,並把這些刪除的實體作爲目標域推薦的冷啓動實體。
論文中提出了四種模型(上文提到的兩種 lfm 和兩種 mapping):
-
MF_EMCDR_LIN
-
MF_EMCDR_MLP
-
BRP_EMCDR_LIN
-
BRP_EMCDR_MLP
對比了幾種模型
-
AVE:對於目標域中的冷啓動實體,用目標域中所有實體的平均打分來代替
-
CMF:源域和目標域中實體的隱向量是共享的
-
CST:把源域中學到的隱向量映射到目標域中
-
LFM:每個實體在交叉域中有個全局的共享隱向量,每個實體在每個域中的隱向量是全局共享隱向量乘以每個域的轉化矩陣得到
實驗結果(其中 K 表示的是隱向量的長度)
mapping 的對比:
p=0.1 表示選取前 10% 的活躍實體學習 mapping 函數,可以看到數據太少和太多的話學到的 mapping 函數都不是很好,說明不太活躍的實體不利於 mapping 函數的學習,而太少的數據不能有效的捕獲到交叉域間的信息。非線性的 mapping 函數更有利於捕獲交叉域間的關係。
- 總結 =====
作者利用 mapping 函數來解決交叉域推薦問題,主要是對冷啓動物品或者用戶用交叉域信息作爲一種附加信息,而非冷啓動用戶和物品仍然用原來的域信息。和之前研究中目標域中所有的用戶和物品都通過 mapping 從源域映射到目標域不同,因爲這種映射還是有一定偏差的,所以只對冷啓動物品和用戶採用 mapping 比較合理,實驗也表明這種效果會更好一些。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/OcxwZHmqRhMjT6YEcQyFuQ