久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    推薦算法設計綜述

     taotao_2016 2019-06-19

    全文PDF見:

    http://www./paper_178.html

    SIGAI特約作者

    李東勝     博士

    IBM研究院高級研究員

    研究方向:推薦系統算法

    免責聲明:本文所述內容全部為作者本人觀點,與其工作單位無關

     一、前言

    推薦系統能夠根據用戶的興趣推薦可能喜歡的條目,目前已經成為互聯網中最常見的應用之一[1],被廣泛應用于電商(亞馬遜、淘寶、京東)、新聞媒體(今日頭條)、內容提供商(豆瓣、微博、優酷)等各個領域。據統計,亞馬遜約有30%的銷售額、Netflix中約有60%的觀看時長、谷歌新聞中約38%的新聞點擊都來源于各自的推薦系統,由此可見推薦系統對于互聯網來說是至關重要的應用之一。

    在推薦系統設計中,最關鍵的一個環節就是設計其背后的推薦算法,然后根據算法的預測為用推薦相關的條目,如商品、電影、電影、音樂等等。本文針對推薦系統中的算法設計問題進行綜述,介紹近二十年來主流的推薦算法所采用的基本方法和關鍵技術,同時分析推薦算法設計中常見的難題以及解決思路,最后簡要總結當前國內外推薦算法研究中的熱點方向。

    二、推薦問題與評價

    2.1 推薦問題

    目前,推薦系統主要解決兩個推薦的問題[1]:一、評分預測,即預測一個用戶對于未知條目的評分,例如在豆瓣上用戶對電影的評分;二、條目排序,即預測一個用戶對未知條目的興趣排名,例如在亞馬遜網站中根據用戶點擊的商品推薦最相關的若干其他商品。

    圖1. 豆瓣電影評分

    圖2. 亞馬遜商品推薦列表

    2.2 準確性評價指標

    對于這兩個不同的推薦問題,衡量推薦質量的指標也各不相同。對于評分預測問題來說,常用的衡量算法準確性的指標有下述兩個[2]:

    其中,R表示用戶對條目的評分矩陣,Rij表示第i個用戶對于第j個條目的評分,表示推薦算法預測的評分。Ω表示觀測到的評分的集合,N是觀測到的評分數量。對于MAE和RMSE來說,數值越小代表推薦的準確性越高。


    對于條目排序推薦來說,常用的衡量算法準確性的指標類似于分類問題,需要首先定義推薦是否正確,如下表所示[1]:

    然后,針對一個用戶的推薦列表,我們可以定義條目排序的準確性指標,如下[2]:

    其中#表示相應的數目,比如#TP表示推薦并且用戶喜歡的條目數量。對于Precision和Recall來說,數值越大代表推薦的準確性越高。除了這兩個指標之外,還有很多論文采用了其他的指標衡量,如AUC (Area Under ROC Curve),NDCG (Normalized discounted cumulative gain),AP (Average Precision),MAP (Mean Average Precision) 等等。由于篇幅有限,本文不對這些指標進行一一介紹,感興趣的讀者可以參考其他論文,如參考文獻[3]。

    2.3 其他評價指標

    除了準確性以外,還有其他的衡量推薦系統性能的指標,如[1]:

    * 效率:包括模型的數據預處理時間、訓練時間、預測時間等。
    * 可擴展性:衡量系統是否可以處理大規模數據,如海量用戶的訓練是否可以并行等。
    * 多樣性(Diversity):衡量推薦的條目是否過于同質化,主要指標有基尼系數(Ginni Index)、信息熵等。
    * 意外性(Serendipity):衡量推薦的條目是否能給用戶帶來驚喜,即是否能為用戶帶來從未知道的條目。
    * 實用性(Utility):衡量推薦系統的收益,如銷售額的提升、點擊數量的提升等。
    * 魯棒性(Robustness):衡量推薦系統面臨攻擊時能否有效的抵御,比如消除虛假用戶評分對推薦的影響等。
    * 隱私(Privacy):推薦系統在訓練模型的時候需要收集各類用戶的信息,如個人信息、瀏覽歷史、評分記錄等等,這些可能會帶來隱私的泄漏,如何在不收集這些信息的前提下進行推薦也是一個重要的研究問題。

    2.4 評估方式

    針對上述各種評價指標,我們可以對一個推薦系統進行全面的評估,具體的評價方式有下述三種[1]:

    * 離線評估:將歷史數據集進行劃分,分成訓練集、驗證集和測試集三部分,然后根據訓練集訓練模型,根據驗證集上的效果確定模型的超參數,最后得到的模型在測試集上驗證準確性等指標。數據集劃分的方式有多種,比如隨機劃分、按照時間序列劃分等。


    * 在線評估:在線評估比離線評估更接近于真實的使用場景,是在系統運行時根據實際的用戶行為與推薦列表進行比較,判斷算法性能指標的好壞。一般的在線評估會采用A/B測試,即將用戶分成兩部分采用不同的推薦算法,然后通過兩部分用戶上評價指標的差異判斷不同推薦算法的優劣。


    * 用戶調查:有些推薦算法需要用戶與系統進行交互或者不同的上下文信息,這些真實場景難以通過離線數據模擬,而在線評估也難以對各個環節(如推薦展示位置、推薦列表長度是否合理等等)進行評測,就需要尋找真實用戶做調查。例如,在用戶與推薦系統交互的過程中,通過預先設計的問卷,獲取用戶真實的感受。

    三、常用推薦算法介紹


    從推薦算法所利用的信息來看,目前常用的推薦算法主要可以分為三類:1)基于內容的推薦算法,主要通過對條目特征的相似性比較來推薦條目,如根據網頁文本的相似性為用戶推薦與其過去瀏覽的網頁內容相似的新網頁;2)基于協同過濾的推薦算法,根據用戶之間歷史記錄的相似性找到每個用戶的鄰居,然后利用鄰居的興趣來預測目標用戶的興趣;3)混合的推薦算法,將上述二者進行結合,解決單一算法面臨的問題,如冷啟動等等。

    3.1 基于內容的推薦算法

    基于內容的推薦算法根據用戶過去喜歡的條目的特征來尋找具有類似特征的新條目。通常來說,基于內容的方法包含三個主要步驟:

    1. 條目表示:即確定每個條目用哪些特征進行描述。例如,下面表格是一個餐廳推薦的條目表示,其中每行表示一個具有不同特征的餐廳[1]:

    2. 用戶描述:即通過下述兩類信息了解用戶的偏好:
    * 用戶偏好。如,用戶個人信息中包含對法國菜的偏好。
    * 用戶歷史。如,用戶在歷史中所就餐的餐廳的歷史,如102,103,105等。
    3. 推薦計算:即根據用戶和條目的特征,計算出每個條目的評分,具體的計算方法包含:
    * 分類算法,例如決策樹、k近鄰、樸素貝葉斯等,主要用于結構化數據。
    * 其他機器學習方法,如PLSA、LDA等,可以用于文本等非結構化數據。
    優點:
    * 用戶之間不相互依賴,只要有目標用戶的描述就可以進行推薦。
    * 推薦的結果容易解釋,可以通過特征的匹配來解釋推薦結果。
    * 不會受新條目的影響,新的條目的屬性信息只要是歷史數據中出現的,那么可以用訓練好的分類模型而不需要重新訓練。
    缺點:
    * 特征的表達能力有限,很多復雜的信息無法建模,如電影的好壞、音樂的好壞等都難以用固定的特征去描述。
    * 推薦結果的多樣性差,推薦的結果往往更集中在用戶過去感興趣的條目上,而缺乏具有其他特征但是用戶可能感興趣的條目。
    * 推薦的準確性較低,在很多應用場景下基于內容的推薦準確性都差于協同過濾方法。

    3.2 協同過濾方法


    協同過濾方法主要包含兩類:1)基于記憶的協同過濾(memory-based collaborative filtering),通過歷史上用戶和相似鄰居之間的行為計算出相似度,然后利用相似度為用戶推薦新的條目。通常來說,這里的“記憶”是指對每個目標用戶存儲k個最相似的鄰居,然后在推薦階段僅依賴于這k個鄰居的行為而不用考慮其他非鄰居的用戶;2)基于模型的協同過濾(model-based collaborative filtering),首先根據用戶的歷史數據學習一個模型,然后該模型就可以預測用戶在未來的興趣。

    3.2.1 基于記憶的協同過濾方法

    基于記憶的協同過濾方法主要有兩種:1)基于用戶的協同過濾方法(user-based collaborative filtering),即針對每個用戶尋找最相似的k個用戶,然后根據鄰居喜歡的條目加權平均進行推薦;2)基于條目的協同過濾方法(item-based collaborative filtering),即針對每個條目尋找最相似的k個條目,然后根據用戶喜歡的條目對最相似的條目加權平均進行推薦。

    * 基于用戶的協同過濾方法。主要包含下面四個步驟[4]:

    - 收集用戶對條目的評分,對于每個用戶u,得到評分向量Ru;

    - 計算用戶與鄰居之間的相似度,例如用戶u和用戶v之間的cosine similarity為:

    - 根據最相似的k個鄰居的評分,計算用戶對某個條目的評分,如用戶u對于條目i的評分可以按照如下公式計算(表示用戶u的平均評分,Nu表示用戶u的k個最相似的鄰居集合):

     - 得到評分之后,可以將預測評分最高的條目推薦給用戶

    * 基于條目的協同過濾方法。與上述方法相似,具體步驟如下[5]:

     * 收集用戶對條目的評分,對于每個條目i,得到評分向量Ri;

     * 計算每個條目與鄰居之間的相似度,例如條目i和條目j之間的cosine similarity為:

    * 根據用戶喜歡的歷史條目H_u,計算用戶對某個條目的評分,如用戶u對于條目i的評分可以按照如下公式計算(表示條目i的平均評分,Nu表示用戶u的k個最相似的鄰居集合):

     - 得到評分之后,可以將預測評分最高的條目推薦給用戶

    在上述兩個方法中,最關鍵的步驟是計算用戶-用戶之間或條目-條目之間的相似度,除了最常用的cosine相似度之外,還有Pearson correlation,Spearman correlation,Jaccard相似度等等,感興趣的讀者可以參考其他論文,如參考文獻[4], [5], [6]等。另外,對于鄰居的選擇也有一些常用的優化方法,如鄰居數的選擇可以是固定的k個或者是按照相似度大于某個設定的閾值來選取等[4]。此外,相似度的計算可能收到數據稀疏的影響,比如兩個評分很少的用戶或條目的相似度可能不可靠,需要進行一定的懲罰[4]。

    優點:
    * 算法簡單,易于實現
    * 算法計算效率高
    * 準確性優于基于內容的方法

    缺點:

    * 易受稀疏數據的影響,即兩個興趣相似的用戶可能共同評分的條目比較少,導致相似度很低
    * 無法解決冷啟動的問題,即新用戶或新條目無法推薦的問題

    3.2.2 基于模型的協同過濾方法

    基于模型的協同過濾方法很多,這里主要介紹最常用的基于矩陣分解的協同過濾方法。矩陣分解算法在Netflix Prize競賽[7]中表現出了卓越的準確性。在很多參賽團隊的論文中,矩陣分解算法都是最準確的單模型[8]。假設用戶-條目的評分矩陣為(其中每行表示一個用戶,每列表示一個條目),矩陣分解算法通常學習兩個低秩的矩陣,使得

    其中表示R的近似矩陣,U表示用戶的特征矩陣(每行代表一個用戶的特征向量),V表示條目的特征矩陣(每行代表一個條目的特征向量)。一般來說,兩個特征矩陣U和V的秩k是遠小于m和n的,因此上述矩陣分解也叫做低秩矩陣分解。學習到U和V之后,用戶i對于條目j的評分可以按照如下公式預測:

    為了學習到最優的,通??梢詢灮率瞿繕撕瘮担?/p>

    其中,第一項為矩陣分解的近似誤差,第二、三項為正則項可以防止模型過擬合,μ是正則項的系數。

    上述優化目標是非凸的,一般采用隨機梯度下降或交替最小二乘法來進行求解,迭代公式如下:

    * 隨機梯度下降(Stochastic gradient descent, SGD):

    * 交替最小二乘法(Alternating least squares, ALS):

    經過若干次迭代后,訓練誤差的變化很小或者驗證集的誤差開始上升,表示模型已經收斂,這時需要停止訓練,得到的模型(U和V)即是所求的最優模型。上述兩個求解方法中,隨機梯度下降的準確性較好,但是難以并行計算。交替最小二乘法準確性一般不如隨機梯度下降,但是很容易并行求解,可擴展性較好。

    3.3 混合推薦方法

    實際上,很多推薦系統中并不采用單一的基于內容的方法或者協同過濾方法,而往往采用多種方法的結合,可以解決單一算法的缺陷,我們稱這一類方法為混合推薦方法?;旌贤扑]方法具有很多優勢,如[9]:

    * 實現更高的準確性,比如利用集成學習來融合多種模型,提升算法的準確性。
    * 解決單模型的缺陷,比如針對冷啟動問題,協同過濾方法很難進行推薦,但是基于內容的方法可以解決。
    * 能利用附加的信息,比如推薦中可能會獲取到除評分以外的用戶信息(如上下文信息、評論信息等),這些不同信息需要利用不同的方法來建模,然后進行融合以達到更優的效果。

    常用的混合方法有以下集中[9]:

    * 加權平均:對每個算法設定一個權重,然后通過多個模型結果的加權平均作為最終的推薦結果。
    * 分支或級聯:對不同的情況采用不同的算法或者設計類似樹形結構的級聯進行模型混合。
    * 元學習:將不同算法的輸出作為特征,訓練一個新的模型(如神經網絡、邏輯回歸等)作為最終的模型輸出。

    四 推薦算法設計中的挑戰

    4.1 數據稀疏性

    在實際的推薦系統中,系統觀測到的用戶評分往往非常稀疏,例如在Netflix Prize競賽的數據集中只有1.18%的用戶電影對的評分是已知的。這種稀疏性對很多算法帶來了挑戰,如下面的例子:用戶A對電影哈利波特1、2、3評了高分,用戶B對電影哈利波特5、6、7評了高分,在基于記憶的方法中,用戶A和B的相似度為0,但實際中我們很容易得知A和B的興趣很相似。為了解決數據稀疏性的問題,相關研究主要集中在下述兩類方法:數據降維和利用附加信息。

    4.1.1 數據降維
    數據降維的基本思想是將高維稀疏的用戶評分向量降到稠密的低維度,這樣在高維空間距離很遠的點可能在低維空間中距離較近,前面提到的矩陣分解方法就是常用的降維手段之一。除了矩陣分解之外,還有很多常用的數據降維方法,如PCA等,這里介紹一個基于自編碼器的數據降維方式(AutoRec[10])。

    圖3 AutoRec方法示意圖[10]


    如上圖所示,自編碼器的目標是重構一個用戶或者一個條目的評分向量。我們以條目為例,假設為條目i的評分向量,網絡首先通過V將映射到隱層(低維空間),然后通過W將隱層映射回到,即確保輸出層能夠盡可能的重構輸入層。模型訓練好之后,未觀測到的評分,也可以通過模型在輸出層重構出來。


    算法的重構目標為最小化輸入層和輸出層之間的誤差,如下所示:

    編解碼函數的定義如下:

    最終,通過引入二范數正則項,模型求解的優化目標如下:

    4.1.2 利用附加信息

    附加信息,如用戶個人信息(性別、年齡、職業等)、條目屬性信息(電影導演、演員、類別等)等,可以幫忙獲得更多的用戶興趣信息,進而解決評分數據過于稀疏甚至缺失時的推薦問題。如何利用附件信息推薦是研究的熱點之一,這里介紹其中的一個流行算法因子分解機(factorization machine)[11]。

    圖4 因子分解機數據組織方式[11]


    上圖以電影評分預測為例,展示了因子分解機的數據組織方式,其中藍色部分表示用戶的id,紅色部分表示電影的id,黃色部分表示用戶評分過的所有電影,綠色部分表示評分的時間,紫色部分表示當前評分前用戶最后一次評分過的電影,除了這些信息之外,還有其他的信息也可以加入到特征向量x中,比如用戶和電影相關的附加信息。右側的目標y為用戶對電影的實際評分。

    針對上述的數據組織形式,因子分解機通過多項式的方式去建模特征向量x與目標y的關系,具體如下:

    在上式中,w0為全局的bias,wi建模特征之間的一次線性關系,vi和vj建模第i個特征和第j個特征之間的二次關系。上面的公式還可以繼續擴展,建模更高階的特征交互,但是一般來說階數越高越容易過擬合,所以二次是比較常用的一個選擇。如果去掉附加信息,只有用戶和電影之間的二次關系,那么上述函數與Biased Matrix Factorization方法[8]是等價的,這意味著因子分解機是矩陣分解方法的一個泛化。

    4.2 冷啟動

    冷啟動問題與數據稀疏問題類似,但是更加具有挑戰。因為在冷啟動場景中,我們沒有用戶或條目的任何評分,因此只能依賴其他信息,如基于流行度的推薦、基于各類附加信息的推薦或主動學習等辦法來進行推薦。在利用附加信息方面,前文已經有過介紹。因此,這里著重介紹如何通過主動學習的辦法解決冷啟動的問題。主動學習的思想是通過選擇一些能夠獲取最大信息的條目讓用戶去評分,通過盡可能少的評分獲取更多的用戶興趣。這里主要介紹發表在SIGIR 2011上的Functional matrix factorization (fMF)方法[12]。

    圖5 fMF方法示意圖[12].


    如上圖所示,fMF方法試圖構建一個樹模型來挖掘用戶興趣,通過用戶不同答案來尋找不同的主動學習路徑,優化主動學習的效果。fMF方法假設用戶的興趣未知,因此通過一個樹模型T(ai)得到用戶i的特征向量,假設條目j的特征向量為vj,那么算法的優化目標為:

    上述優化目標為非凸的,因此作者選擇了一個交替優化的策略:

    1. 給定決策樹T,求解item特征向量

    2. 給定item特征向量,求解決策樹T

    經過多次迭代,模型收斂后即可得到一個決策樹來挖掘用戶興趣并將用戶興趣映射為用戶特征向量,同時得到條目的特征向量,然后用戶特征向量與條目特征向量的點積做為推薦評分。

    4.3 可解釋性

    可解釋性是人工智能領域的一個通用概念,即通過黑盒模型預測的結果如何使得人類能夠更好的理解和使用。由于推薦推薦系統需要與用戶直接交互,可解釋的推薦可以起到多種效果,比如幫助用戶更快決策、說服用戶購買商品、原諒不喜歡的推薦、建立用戶對系統的信任、幫助用戶理解推薦系統等等[13, 15]。在推薦系統領域,推薦結果的可解釋性往往通過用戶或條目本身或者用戶或條目的附件信息來獲得,如這部電影與您過去喜歡的另一部電影很相似等等。例如,下圖展示了四種不同的生成解釋的方式。

    圖6 四種生成解釋的方式[14]


    1. 通過用戶之間的相似性,比如跟目標用戶相似的另一個用戶也喜歡某個條目
    2. 通過條目屬性之間的相似性,比如某個條目與用戶過去??吹臈l目具有相同屬性(相同電影類型、演員等)
    3. 通過條目之間的相似性,比如跟用戶喜歡的條目相似的條目
    4. 根據用戶需求產生解釋,比如某些條目滿足用戶當前的某個需求(如最近上映的電影等)

    4.4 上下文感知

    很多推薦場景需要感知用戶的上下文信息才能做出合理的推薦,如旅行路徑推薦需要知道用戶當前的地理位置、餐廳推薦要考慮時間信息等。上下文信息不同于前文提到的附加信息,因為上下文信息往往是動態的、可變的,而附加信息通常是靜態的、不變的。上下文信息在不同的文獻中的定義各不相同,相關文獻總結發現上下文信息的定義超過了150種[15]。常見的上下文信息有時間、地理位置、天氣、用戶意圖、用戶情緒等。

    在相關研究中,主要采用三種方式來引入上下文信息:1)預過濾[17],在推薦計算之前將數據進行過濾,去除不符合上下文的條目;2)后過濾[18],在推薦產生之后,根據上下文信息將推薦結果進行過濾;3)對上下文進行建模[19],即將上下文信息作為附加信息考慮到模型的學習中。前兩種做法相對比較簡單,這里著重介紹第三種做法,即如何在模型學習的過程中考慮上下文信息。

    圖7 基于因子分解機的上下文感知的推薦[19]


    上圖是一個基于因子分解機的上下文感知推薦方法,通過將上下文信息引入到特征向量中來學習不同上下文信息與用戶和條目之間的關系。例如,上圖中黃色部分表示用戶的心情(通過one-hot編碼方式),綠色部分表示與用戶一起看電影的其他用戶(為集合特征),此外數值型的特征如位置遠近等也可以很容易的編入上述特征表達中。將上下文信息編入模型的特征后,即可以學習到不同上下文特征對于不同用戶和條目的影響,在新的上下文出現后即可計算出相應的推薦評分。這里的模型訓練方式與之前介紹的因子分解機類似,因此不再贅述。

    4.5 用戶隱私

    由于推薦系統需要采集用戶的信息,如用戶的個人信息、用戶評分歷史、瀏覽記錄等,這些會對用戶的隱私帶來一定的泄漏風險。目前,相關研究中的一個重要方向就是探索如何在推薦系統不獲取用戶隱私的前提下做出準確的推薦。相關方法主要可以分為三類:1)基于數據隨機化的方法,即通過隨機擾動改變用戶的評分,使得服務器無法獲得真實的用戶評分;2)基于同態加密的方法,同態加密方法可以保證計算都在密文上進行,而最終結果只有用戶可以解密;3)多方安全計算,通過多個用戶之間計算協議確保計算能夠得到預期的結果但是對每個用戶的隱私都不造成泄漏。

    * 基于數據噪聲的方法[20]。通過將用戶的評分添加一個均值為0的隨機高斯噪聲,然后將隨機擾動后的評分發給服務器,用來計算推薦結果。添加了噪聲之后,數據的加法和乘法與添加噪聲之間相比得到的結果是近似相同的。

     乘法:

     加法:

    這種隨機擾動的方法會對推薦的準確性造成一定的影響,并且高斯噪聲的方差越大,準確性損失也會更大。但由于加法和乘法的結果與擾動之前接近,因此對于推薦結果的準確性影響不會很大。

    * 基于同態加密的方法[21]。該方法利用El-Gamal加密方式對用戶數據進行加密,這種加密方式也叫做同態加密,因為其滿足加法和乘法同態,即對于加密操作E滿足:

     由于采用了同態加密,用戶可以將評分加密后與其他用戶共同求解一個矩陣分解模型,得到模型后可以通過一個分布式密鑰管理的辦法進行分布式解密,保證只要超過一半的用戶不與服務器合謀的前提下用戶的隱私就不會被泄漏。由于同態加密算法對于原始推薦算法沒有改變,所以最終并不會影響推薦的準確性。

    * 基于多方安全計算的方法[22]。該方法通過將用戶數據在多個用戶之間進行交換的方式達到計算的目的,在計算之后只能得到聚合的結果而不能得到每個人的隱私。例如,三個用戶A、B、C每人擁有一個實數,對三個數的求和可以采取下述方式。A將自己擁有的數隨機分成三個實數,保證三個實數之和與原來的數相同,然后將其中的兩個實數隨機發送給B和C,然后B和C也做同樣的操作,A、B、C各自將得到的數字相加,最后再把三個人的計算結果求和即得到真實的求和。通過這種做法,可以很容易的計算條目之間的相似度,然后利用條目之間的相似度,用戶可以采用基于條目的協同過濾方法在本地得到推薦結果,而不泄漏自己的隱私。由于計算是分布式進行的,這種多方安全計算的方法比上述隨機擾動的方法計算快14倍左右,比上述基于同態加密的方法快386倍左右。

    五 研究熱點:基于深度學習的推薦方法


    近年來,隨著深度學習方法的不斷進步,推薦算法領域的研究人員也開始嘗試利用深度學習技術更強的模型表達能力來解決推薦系統面臨的各種問題。本章將簡要介紹其中的一些方向,感興趣的讀者可以參考其他文獻(如[23])來更深入的了解基于深度學習的推薦方法。神經網絡比傳統的矩陣分解等方法更擅長于處理復雜的數據,因此本文嘗試從數據類型的角度來介紹基于深度學習的推薦方法。

    5.1 基于序列信息的推薦

    傳統的推薦算法中,如矩陣分解,假設用戶的興趣是固定的,因此只需要用一個靜態模型來預測用戶的未來興趣。但是在實際系統中,用戶的興趣可能會隨著時間發生變化或者用戶當前的興趣與過去的某些行為有相關性,因此需要對用戶的行為序列進行建模。針對這類與用戶歷史序列信息相關的問題,基于循環神經網絡的方法可以很好的進行處理。相關研究較多,如[24, 25],本文主要介紹recurrent recommender network (RRN)方法[24]。

    圖8 循環推薦網絡(recurrent recommender network, RRN)示意圖[24]


    RRN方法采用基于LSTM的循環神經網絡來建模用戶和電影特征的動態變化。對于用戶i和電影j來說,假設ui是用戶i的靜態特征向量,mj是電影j的靜態特征向量。在t時刻,假設uit是用戶i的動態特征向量,mjt是電影j的動態特征向量。然后,動態的特征可以通過LSTM來序列化的求解,如下:

    其中,g和h是需要學習的函數。有了用戶的動態特征和靜態特征,就可以預測用戶當前的興趣,具體如下:

    其中,f也是需要學習的函數。

    建模了序列信息之后,推薦的準確性可以得到顯著的提升,例如下圖是RRN方法的準確性(在模型參數數量相似的情況下能夠比其他算法更準確)。

    圖9 RRN方法與PMF、SVD++、AutoRec方法的準確性對比[24]

    5.2 基于文本信息的推薦

    在推薦系統中,很多數據中包含豐富的文本信息,如電影的簡介、商品的介紹、用戶對商品的評價等等。這些信息對于提升推薦的準確性具有關鍵的作用[26, 27, 28, 29]。對于文本特征的提取,常用的方法是基于卷積神經網絡(Convolutional Neural Network, CNN),比如[26, 27]。本文主要介紹發表在RecSys 2016上的基于卷積神經網絡的矩陣分解方法(ConvMF)[26]。

    圖10 ConvMF方法示意圖[26]


    ConvMF方法基于傳統的概率矩陣分解(PMF)方法[30]。對于條目特征向量vj,除了用評分來學習以外,還可以通過每個條目對應的文本信息xj來幫助學習更優的vj。對于問題信息的提取,ConvMF方法采用的是CNN的方法。首先,將通過word2vec方法(如GloVe方法[31])將條目對應的文本進行嵌入表達,每個詞表示成一個向量,所有詞合并為一個矩陣,然后通過卷積層提取特征,通過max pooling層獲取最重要的信息,然后輸出層將每個xj的特征映射到V對應的隱空間。方法所求解的優化目標如下:

    對于上式的求解可以采用坐標下降法(Coordinate descent),即固定CNN的參數W和條目特征V,訓練U,然后依次類推,直到模型收斂。

    5.3 其他

    除了上述序列信息和文本信息之外,基于深度學習的推薦方法還被廣泛應用在各種新推薦問題。主要包括:

    * 基于會話的推薦(session-based recommendation)。在很多場景,如電商中,用戶在不同的會話中會有不同的意圖。如果不能識別用戶當前的意圖,會對推薦的準確性造成損失。比如,用戶當前想購買電子產品,那么推薦用戶可能喜歡的食品不會獲得用戶點擊。當前的工作主要根據用戶在會話開始時的第一次點擊,推測用戶的意圖,然后基于循環神經網絡進行條目的推薦。較早的工作為GRU4Rec[32],其他代表性的工作有p-RNN[33]、NARM[34]等。


    * 多媒體推薦。傳統的多媒體推薦場景主要考慮用戶與條目的交互,不考慮多媒體條目本身,如圖像、音頻、視頻等。這些多媒體條目包含豐富的特征,對于提升推薦的準確性有很重要的作用。由于深度學習的強大特征提取能力,因此很多工作采用深度學習技術來提取多媒體特征提升推薦準確性。比如,ACF [35]方法首先通過ResNet來提取圖片或視頻幀中間的特征,然后用注意力機制將圖片或視頻中重要的特征應用到推薦中。


    * 多任務推薦。深度學習可以對不同任務學習不同的特征,同時從不同任務中學習到的特征可以共享來提升其他任務的學習效果。此外,多任務學習也可以看作是一種正則方法,通過使學到的特征適合多個任務而不過于偏向一個特定任務來防止過擬合。比如,Bansal等人[36]將用戶推薦和標簽推薦兩個任務共同學習,通過多任務學習的做法來防止過擬合。

    除此之外,還有一類工作嘗試將傳統的推薦方法用深度學習的方式來做改進,利用深度學習更強的建模能力來提升算法的準確性。比如,NCF[37]通過多層神經網絡來建模用戶特征向量與條目特征向量之間的關系,比傳統的矩陣分解方法中點積方式的表達能力更強。DMF[38]采用了Deep Structured Semantic Models (DSSM)的思想,用深度神經網絡來建模用戶和條目間的關系。還有一些工作嘗試對因子分解機進行改進,如Neural Factorization Machine (NFM) [39]、DeepFM[40]、xDeepFM[41]等。

    六 總結與展望


    隨著推薦技術的不斷發展,推薦系統的重要性也在逐步提高,并在特定場景下超過了搜索引擎的重要性。比如,在2018年的淘寶雙十一活動后,淘寶總裁蔣凡提到:在今年雙11我們也可以看到,基于個性化推薦的流量已經超過了搜索等方式帶來的流量,這是一個非常非常大的變化,這在過去是完全不可想象的。因此,我們相信推薦系統在未來會有更廣闊的的應用范圍和發展前景。在推薦算法的研究中,尤其是應用推薦技術解決真實的推薦問題時,仍然存在著若干關鍵的技術難題亟待解決,總結如下:

    *表達能力。推薦系統的數據較為復雜,體現在:1)包含多種數據類型,如評分數據、數值特征、文本、圖片、音頻等等。針對這類問題,常見的解決思路是提升模型建模復雜數據的能力,比如因子分解機[11]。2)特征之間的關系復雜,如線性關系和非線性關系。針對特征見復雜的關系,可以采用神經網絡的方式去進行建模,如NCF[37];3)數據中存在復雜的內部結構,例如電影評分矩陣通常不是一個單一的簡單結構而是一個混合秩的結構[42]。針對數據中存在的復雜內部結構,可以采用混合模型的方式去抓出數據內部的隱含結構,如MRMA[42]。

    *泛化能力。泛化能力是所有機器學習算法面臨的通用問題。在推薦系統中,由于數據不完整或者數據噪聲大等問題,很多算法的泛化能力較差,即算法在訓練集表現較好但是在新的測試集上表現較差。解決算法泛化能力差的方法主要有下面三類:1)基于機器學習理論的方法,即設計理論上泛化能力更強的方法,如穩定矩陣分解(Stable Matrix Approximation) [43];2)多任務學習,通過多個任務互相約束來防止單個任務過擬合,如混合概率矩陣分解(mixture probabilistic matrix approximation) [44];3)集成學習,通過多個弱模型的結合降低預測的方差,達到提升泛化能力的目的,如WEMAREC [45]。

    *可擴展性。面臨著當前互聯網中用戶產生的大量數據,幾乎每個推薦算法在實際應用中都會面臨可擴展性的問題。一般來說,可擴展性主要體現在兩個方面:數據的可擴展性和模型的可擴展性。在數據可擴展性方法,常見的解決思路是將數據分成若干片段,然后在片段上進行模型學習,比如GraphChi [46]。在模型可擴展性方面,常見的解決思路是在數據片段上進行建模,然后將子模型合并計算推薦結果(如DFC [47])或者單獨使用進行推薦(如GLOMA [48])。

    參考文獻
    [1] Ricci, F., Rokach, L., Shapira, B., Kantor, P.B. (Eds.). Recommender Systems Handbook. 2011. Springer.
    [2] Gunawardana, Asela, and Guy Shani. 'A survey of accuracy evaluation metrics of recommendation tasks.' *Journal of Machine Learning Research* 10.Dec (2009): 2935-2962.
    [3] Chen, Wei, et al. 'Ranking measures and loss functions in learning to rank.' *Advances in Neural Information Processing Systems*. 2009.
    [4] Herlocker, Jonathan L., et al. 'An algorithmic framework for performing collaborative filtering.' The *22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, SIGIR 1999*. Association for Computing Machinery, Inc, 1999.
    [5] Sarwar, Badrul Munir, et al. 'Item-based collaborative filtering recommendation algorithms.' 10th International World Wide Web Conference (2001): 285-295.
    [6] Hyung Jun Ahn. 2008. A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem. *Inf. Sci.* 178, 1 (January 2008), 37-51.
    [7] James Bennett, Stan Lanning, and Netflix Netflix. The Netflix Prize. In In KDD Cup and
    Workshop in conjunction with KDD, 2007.
    [8] Koren, Yehuda, Robert Bell, and Chris Volinsky. 'Matrix factorization techniques for recommender systems.' *Computer* 8 (2009): 30-37.
    [9] Burke, Robin. 'Hybrid web recommender systems.' *The adaptive web*. Springer, Berlin, Heidelberg, 2007. 377-408.
    [10] Sedhain, Suvash, et al. 'Autorec: Autoencoders meet collaborative filtering.' *Proceedings of the 24th International Conference on World Wide Web*. ACM, 2015.
    [11] Rendle, Steffen. 'Factorization machines.' *2010 IEEE International Conference on Data Mining*. IEEE, 2010.
    [12] Zhou, Ke, Shuang-Hong Yang, and Hongyuan Zha. 'Functional matrix factorizations for cold-start recommendation.' *Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Retrieval*. ACM, 2011.
    [13] Zhang, Yongfeng, and Xu Chen. 'Explainable recommendation: A survey and new perspectives.' *arXiv preprint arXiv:1804.11192* (2018).
    [14] Friedrich, Gerhard, and Markus Zanker. 'A taxonomy for generating explanations in recommender systems.' *AI Magazine* 32.3 (2011): 90-98.
    [15] Herlocker, Jonathan L., Joseph A. Konstan, and John Riedl. 'Explaining collaborative filtering recommendations.' *Proceedings of the 2000 ACM conference on Computer supported cooperative work*. ACM, 2000.
    [16] Bazire, Mary, and Patrick Brézillon. 'Understanding context before using it.' *International and Interdisciplinary Conference on Modeling and Using Context*. Springer, Berlin, Heidelberg, 2005.
    [17] Adomavicius, G., Sankaranarayanan, R., Sen, S., and Tuzhilin, A., Incorporating contextual
    information in recommender systems using a multidimensional approach. ACM Transactions
    on Information Systems (TOIS), 23(1):103–145, 2005.
    [18] Panniello, U., Tuzhilin, A., Gorgoglione, M., Palmisano, C., and Pedone, A., Experimental
    comparison of pre-vs. post-filtering approaches in context-aware recommender systems. In
    Proceedings of the 3rd ACM conference on Recommender systems, pages 265–268. ACM,
    2009.
    [19] Rendle, Steffen, et al. 'Fast context-aware recommendations with factorization machines.' *Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Retrieval*. ACM, 2011.
    [20] Polat, Huseyin, and Wenliang Du. 'Privacy-preserving collaborative filtering using randomized perturbation techniques.' *Third IEEE International Conference on Data Mining*. IEEE, 2003.
    [21] Canny, John. 'Collaborative filtering with privacy.' *Proceedings 2002 IEEE Symposium on Security and Privacy*. IEEE, 2002.
    [22] Li, Dongsheng, et al. 'An algorithm for efficient privacy-preserving item-based collaborative filtering.' *Future Generation Computer Systems* 55 (2016): 311-320.
    [23] Zhang, Shuai, et al. 'Deep learning based recommender system: A survey and new perspectives.' *ACM Computing Surveys (CSUR)* 52.1 (2019): 5.
    [24] Wu, Chao-Yuan, et al. 'Recurrent recommender networks.' *Proceedings of the tenth ACM international conference on web search and data mining*. ACM, 2017.
    [25] Yin Zheng, Bangsheng Tang, Wenkui Ding, and Hanning Zhou. 2016. A neural autoregressive approach to collaborative filtering. In *Proceedings of the 33rd International Conference on International Conference on Machine Learning - Volume 48* (ICML'16), Vol. 48. JMLR.org 764-773.
    [26] Kim, Donghyun, et al. 'Convolutional matrix factorization for document context-aware recommendation.' *Proceedings of the 10th ACM Conference on Recommender Systems*. ACM, 2016.
    [27] Lei Zheng, Vahid Noroozi, and Philip S. Yu. 2017. Joint Deep Modeling of Users and Items Using Reviews for Recommendation. In WSDM ’17. 425–434.
    [28] Yi Tay, Anh Tuan Luu, and Siu Cheung Hui. 2018. Multi-Pointer Co-Attention Networks for Recommendation. In KDD ’18. 2309–2318.
    [29] Wang, Hao, Naiyan Wang, and Dit-Yan Yeung. 'Collaborative deep learning for recommender systems.' *Proceedings of the 21th ACM SIGKDD international conference on knowledge discovery and data mining*. ACM, 2015.
    [30] Mnih, Andriy, and Ruslan R. Salakhutdinov. 'Probabilistic matrix factorization.' *Advances in neural information processing systems*. 2008.
    [31] Pennington, Jeffrey, Richard Socher, and Christopher Manning. 'Glove: Global vectors for word representation.' *Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP)*. 2014.
    [32] Hidasi, Balázs, et al. 'Session-based recommendations with recurrent neural networks.' *arXiv preprint arXiv:1511.06939*(2015).
    [33] Hidasi, Balázs, et al. 'Parallel recurrent neural network architectures for feature-rich session-based recommendations.' *Proceedings of the 10th ACM Conference on Recommender Systems*. ACM, 2016.
    [34] Li, Jing, et al. 'Neural attentive session-based recommendation.' *Proceedings of the 2017 ACM on Conference on Information and Knowledge Management*. ACM, 2017.
    [35] Jingyuan Chen, Hanwang Zhang, Xiangnan He, Liqiang Nie, Wei Liu, and Tat-Seng Chua. 2017. Attentive Collaborative Filtering: Multimedia Recommendation with Item- and Component-Level Attention. (2017).
    [36] Trapit Bansal, David Belanger, and Andrew McCallum. 2016. *Ask the GRU*: Multi-task Learning for Deep Text Recommendations. In *Proceedings of the 10th ACM Conference on Recommender Systems* (RecSys '16). ACM, New York, NY, USA, 107-114.
    [37] He, Xiangnan, et al. 'Neural collaborative filtering.' *Proceedings of the 26th International Conference on World Wide Web*. International World Wide Web Conferences Steering Committee, 2017.
    [38] Xue, H. J., Dai, X., Zhang, J., Huang, S., & Chen, J. (2017, August). Deep Matrix Factorization Models for Recommender Systems. In *IJCAI* (pp. 3203-3209).
    [39] He, Xiangnan, and Tat-Seng Chua. 'Neural factorization machines for sparse predictive analytics.' *Proceedings of the 40th International ACM SIGIR conference on Research and Development in Information Retrieval*. ACM, 2017.
    [40] Guo, Huifeng, et al. 'DeepFM: a factorization-machine based neural network for CTR prediction.' *arXiv preprint arXiv:1703.04247* (2017).
    [41] Lian, Jianxun, et al. 'xDeepFM: Combining explicit and implicit feature interactions for recommender systems.' *Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining*. ACM, 2018.
    [42] Dongsheng Li, Chao Chen, Wei Liu, Tun Lu, Ning Gu, and Stephen M. Chu. 2017. Mixture-rank matrix approximation for collaborative filtering. In *Proceedings of the 31st International Conference on Neural Information Processing Systems* (NIPS'17). Curran Associates Inc., USA, 477-485.
    [43] Dongsheng Li, Chao Chen, Qin Lv, Junchi Yan, Li Shang, and Stephen M. Chu. 2016. Low-rank matrix approximation with stability. In *Proceedings of the 33rd International Conference on International Conference on Machine Learning - Volume 48* (ICML'16), Vol. 48. JMLR.org 295-303.
    [44] Chao Chen, Dongsheng Li, Qin Lv, Junchi Yan, Stephen M. Chu, and Li Shang. 2016. MPMA: mixture probabilistic matrix approximation for collaborative filtering. In *Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence* (IJCAI'16), Gerhard Brewka (Ed.). AAAI Press 1382-1388.
    [45] Chao Chen, Dongsheng Li, Yingying Zhao, Qin Lv, and Li Shang. 2015. WEMAREC: Accurate and Scalable Recommendation through Weighted and Ensemble Matrix Approximation. In *Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval* (SIGIR '15). ACM, New York, NY, USA, 303-312.
    [46] Aapo Kyrola, Guy Blelloch, and Carlos Guestrin. 2012. GraphChi: large-scale graph computation on just a PC. In *Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation* (OSDI'12). USENIX Association, Berkeley, CA, USA, 31-46.
    [47] Mackey, Lester W., Michael I. Jordan, and Ameet Talwalkar. Divide-and-conquer matrix factorization. *Advances in neural information processing systems*. 2011.
    [48] Chao Chen , Dongsheng Li , Qin Lv , Junchi Yan , Li Shang , Stephen M. Chu, GLOMA: embedding global information in local matrix approximation models for collaborative filtering, Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, February 04-09, 2017, San Francisco, California, USA.

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 成人久久免费网站| 久久精品免视看国产成人| 婷婷久久香蕉五月综合加勒比| 潮喷失禁大喷水无码| 亚洲日韩VA无码中文字幕| 亚洲av无码精品色午夜蛋壳| 亚洲中文字幕无码一区无广告 | 久在线精品视频线观看| 国产精品白丝喷水在线观看| 另类 专区 欧美 制服| 午夜久久久久久禁播电影| 国产成人啪精品视频免费APP | 播放灌醉水嫩大学生国内精品| 欧美熟妇乱子伦XX视频| 少妇被躁爽到高潮无码人狍大战| 老司机精品成人无码AV| 亚洲夂夂婷婷色拍ww47| 精品无码久久久久国产| 最新国产精品中文字幕| 久久精品夜夜夜夜夜久久| 午夜福利片1000无码免费| 日本不卡一区二区三区| 好吊妞人成视频在线观看| 最新亚洲av日韩av二区| 国产精品自产拍在线观看| 久久综合九色综合97婷婷| 国产一区二区四区不卡| 久久久久无码国产精品不卡| 换着玩人妻中文字幕| 国产亚洲精AA在线观看SEE| 青青草国产线观看| 少妇又爽又刺激视频| 美女自卫慰黄网站| 人妻人人做人做人人爱| 十八禁午夜福利免费网站| 双乳奶水饱满少妇呻吟免费看| 精品人妻伦九区久久AAA片| 少妇私密推油呻吟在线播放| 国产国产午夜福利视频| 精品女同一区二区三区免费站| 欧美亚洲另类 丝袜综合网|