論文|一種基於 Embedding 和 Mapping 的跨域推薦方法

遷移學習(Transfer Learning)作爲機器學習的一大分支,已經取得了長足的進步。在人工智能領域,無論是圖像識別、NLP、搜索推薦都離不開遷移學習的身影。遷移學習的核心問題是找到源域和目標域的某種相似性,繼而將已知的知識應用到目標域中。

遷移學習的一個核心要解決的問題是冷啓動、數據稀疏性,當然其前提是同一個公司有不同的業務或者 APP 數據可以供不同部門進行使用和挖掘,比如阿里、騰訊、美團等,業務模型豐富,可以進行相應的遷移學習。

當遷移學習應用到推薦系統中時就被稱爲跨域推薦(Cross-Domain Recommendation)。

論文 PDF 地址:https://www.ijcai.org/proceedings/2017/0343.pdf

  1. 問題介紹 =======

數據稀疏是推薦系統中最有挑戰的問題之一,解決數據稀疏性的一種方法是交叉域推薦,它以協同的方式利用用戶在多個領域的打分和 feedback 來提高推薦的準確性。

目前交叉域推薦分爲兩種類型:

這篇論文作者從 embedding 和 mapping 的角度研究交叉域學習問題,也就是對稱的方式。作者研究了交叉域推薦的 2 個主要問題:

雖然非線性函數可以學習到更復雜的交叉域 mapping 關係,但是這也意味着需要更多的數據,而且對於數據稀疏的交叉域來說,非常容易過擬合。另外,研究表明在 2 個域中都不是很活躍的用戶對於 mapping 函數的學習是不利的。針對這些問題,作者提出了 EMCDR 模型。

2.EMCDP 模型

2.1 概述

假設我們有 2 個域,它們共享用戶或者物品,只在一個域中出現的用戶或者物品可以被認爲是另外一個域中即將來的用戶或者物品。這兩個域都可以爲源域或者目標域。

該模型包含三部分:

其模型結構爲:

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 函數來建模。

  1. 實驗 ========

使用採用的數據集是 MovieLens-Netflix 和豆瓣 books-movies,其中 Netflix 數據集和 MovieLens 數據集中有 5000 多電影是共享的,但是用戶有很大區別,所以是 item-based 交叉域。作者把 MovieLens 當作源域,Netflix 當作目標域。

Douban 上可以提取出基於 user 的交叉域。user 都對 books 和 movies 打分,作者把 movies 當作源域,books 當作目標域。

在這裏插入圖片描述

實驗預處理:作者隨機刪除了目標域中的一部分實體(item 或者 user)的打分信息,並把這些刪除的實體作爲目標域推薦的冷啓動實體。

論文中提出了四種模型(上文提到的兩種 lfm 和兩種 mapping):

對比了幾種模型

實驗結果(其中 K 表示的是隱向量的長度)

mapping 的對比:

p=0.1 表示選取前 10% 的活躍實體學習 mapping 函數,可以看到數據太少和太多的話學到的 mapping 函數都不是很好,說明不太活躍的實體不利於 mapping 函數的學習,而太少的數據不能有效的捕獲到交叉域間的信息。非線性的 mapping 函數更有利於捕獲交叉域間的關係。

  1. 總結 =====

作者利用 mapping 函數來解決交叉域推薦問題,主要是對冷啓動物品或者用戶用交叉域信息作爲一種附加信息,而非冷啓動用戶和物品仍然用原來的域信息。和之前研究中目標域中所有的用戶和物品都通過 mapping 從源域映射到目標域不同,因爲這種映射還是有一定偏差的,所以只對冷啓動物品和用戶採用 mapping 比較合理,實驗也表明這種效果會更好一些。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/OcxwZHmqRhMjT6YEcQyFuQ