1. 程式人生 > >推薦系統中基於深度學習的混合協同過濾模型

推薦系統中基於深度學習的混合協同過濾模型

【宣告:鄙人菜鳥一枚,寫的都是入門級部落格,如遇大神路過鄙地,請多賜教;內容有誤,請批評指教,如有雷同,屬我偷懶轉運的,能給你帶來收穫就是我的部落格價值所在。】
  歡迎各路大神小妖精來這看我的部落格,這周太忙了,明早要趕飛機參加一個沙漠拓展活動,就匆匆整了篇本人翻譯的論文,這是攜程網BI團隊發表在國際人工智慧頂級會議AAAI 2017上的文章《A Hybrid Collaborative Filtering Model with Deep Structure for Recommender Systems》,是深度學習與推薦系統綜合領域的研究與應用。雖說基於協同過濾演算法的推薦模型已經被“整容”了多年,但仍有可整之處,只要刀子好,哪裡整不好,是吧~閒話不多扯,翻譯的論文如下:
原文來源:Xin Dong, Lei Yu, ZhonghuoWu, Yuxia Sun,Lingfeng Yuan, Fangxi Zhang. “A Hybrid Collaborative Filtering Model with DeepStructure for Recommender Systems”, AAAI 2017


摘要:協同過濾演算法是推薦系統解決許多現實問題方面普遍使用的一種方法,傳統的基於協同過濾方法使用使用者-物品(user-item)矩陣來進行推薦,這種矩陣是對模型學習所需的使用者對物品的個人偏好(資料)進行編碼而得到的。在實際應用中,這種評分矩陣通常是十分稀疏的,這就導致基於協同過濾的方法在推薦效能上有顯著的下降,倘若這樣,一些改進的協同過濾方法利用增加輔助資訊的方法來解決資料稀疏性和冷啟動問題。然而, 因為user-item矩陣和輔助資訊的稀疏性質的緣故,學習到的潛在因子可能沒有什麼作用效果。為了解決這個問題,我們利用深度學習中學習有效的代表,提出一種混合模型,該模型著眼於從輔助資訊中學習以及從評分矩陣中協同過濾得到的深度使用者與物品的潛在因子,綜合運用了這兩個潛在因子。經過在三個真實資料集上的實驗,大量的實驗結果表明我們提出的混合模型在輔助資訊的有效利用和效能提高方面有著優於其他方法的表現。

1 前言

  近年來,隨著線上可供選擇的增加,推薦系統變得越來越不可或缺了。推薦系統的目標是幫助使用者從大量的物品中篩選出最適合其偏好的個性化物品,除此之外,許多商業公司將推薦系統運用到了實際中,通過推按物品來確定他們的目標使用者。多年來,用於推薦系統的不同演算法已得到了發展。這種演算法大致能被分成兩大類(Shi, Larson, and Hanjalic 2014):基於內容的方法和基於協同過濾的方法。基於內容的方法(Lang 1995)使用使用者資料或者用於推薦的物品內容資訊,基於協同過濾方法。另一方面,基於協同過濾的方法(Salakhutdinov and Mnih 2011)忽略了使用者或物品內容資訊,並且是使用歷史行為或歷史偏好,如使用者的購買或瀏覽歷史,或者使用者對物品的評分來進行推薦的。然而,基於協同過濾的方法常傾向於基於內容的方法,因為基於內容的方法有著很好的效果(Su and Khoshgoftaar 2009)。
  在基於協同過濾的方法中,最成功的就是通過矩陣分解的方法,從使用者-物品評分矩陣中學習出有效的潛在因子。然而實際中的評分矩陣往往是非常稀疏的,這導致基於協同過濾的方法在學習合適的潛在因子時效能顯著下降。尤其是,這種現象在線上旅遊代理(OTA)網站(如:攜程網)的應用中發生得更加嚴重,因為使用者訪問這些網站的頻率要更低。此外,基於協同過濾方法的另一個缺陷就是當系統中出現新的物品時如何提供推薦的問題,也就是冷啟動問題。冷啟動存在的原因是系統無法推薦還未得到使用者評分的新物品。
  為了克服冷啟動和資料稀疏問題,基於協同過濾的方法不可避免的要尋求更多的資訊資源。所以近些年來,混合協同過濾方法得到越來越多研究人員的青睞(Shi, Larson, and Hanjalic 2014)。我們可以從使用者資訊和物品內容資訊之類的資訊中獲取輔助資訊,一些混合基於協同過濾的方法(Singh and Gordon 2008; Nickel, Tresp,and Kriegel 2011; Wang and Blei 2011)將輔助資訊整合到矩陣分解過程中,以學習有效的潛在因子。然而,這些方法將輔助資訊應用成正則化,且學習出的潛在因子往往是無效的,特別是在評分矩陣和輔助資訊非常稀疏的情況下(Agarwal, Chen, and Long 2011)。因此,實現潛在因子從這種資料集中學習相關問題是十分需要的。
  最近,學習有效代表的強大方法之一便是深度學習(Hinton and Salakhutdinov, 2006; Hinton,Osindero, Teh 2006)。因此,隨著大規模評分和豐富的附加輔助資訊,將深度學習與推薦系統相結合,來學習潛在因子。由此,一些研究已經直接利用深度學習來進行協同過濾的任務。 某研究(Salakhutdinov,Mnih和Hinton 2007)使用受限的玻爾茲曼機執行協同過濾。雖然這種方法結合深度學習和協同過濾,但它不包含輔助資訊,這對於準確的推薦至關重要。此外,有研究(Van den Oord,Dieleman and Schrauwen,2013; Wang and Wang 2014)直接使用卷積神經網路(CNN)或深層信念網路(DBN)來獲取內容資訊的潛在因子,但它們是基於內容的方法,僅推斷物品的潛在因子,且這種方法特別適合音樂資料集。此外,有研究工作(Wang,Wang,and Yeung 2015; Li,Kawaleand Fu 2015)利用貝葉斯疊加的自動編碼器(SDAE)或邊緣化的SDAE來進行協同過濾,但是需要學習大量的手動調整的超引數。
  在本文中,為了解決上述挑戰,我們提出了一種具有深度結構的推薦系統的混合協同過濾模型。我們首先提出一種稱為附加堆疊去噪自動編碼器(aSDEA)的新型深度學習模型,其擴充套件了堆疊去噪自動編碼器,以將附加的輔助資訊整合到輸入中,然後克服了冷啟動問題和資料稀疏問題。接下來,將介紹我們的混合模型,它將深度表徵學習緊密結合在一起,用於評分矩陣的附加輔助資訊和協同過濾。實驗表明,我們提出的混合模型相比現有技術有著顯著的優勢。具體來說,本文的主要貢獻可概括為以下三個方面:

我們提出一種混合協同過濾模型,它將深度表徵學習與矩陣分解相結合。 同時,它從輔助資訊中提取有效的潛在因子,並捕獲使用者和物品之間的隱含關係。
我們提出一種新的深度學習模型aSDAE,它是SDAE的一個變體,可以將輔助資訊有效地融入學習到的潛在因子中。
我們對三個實際資料集進行實驗,以評估我們的混合模型的有效性。 實證結果表明,我們的混合模型在均方根誤差(RMSE)和迴歸指標方面優於四種最先進的方法。

2 前期準備工作

  在本節中,我們先對本文討論的問題做出定義,然後對矩陣分解進行簡要說明。

2.1 問題定義

  類似於一些現有的研究工作(Hu, Koren, and Volinsky 2008),本文還將隱含的反饋作為訓練和測試資料來完成推薦任務。在一個標準的推薦設定中,我們有 m 個使用者,n 個物品和一個非常稀疏的評分矩陣 RRm×nR 的每個元素 Rij 對應於 i 使用者對物品 j 的評分。如果 Rij0,這意味著使用者 i 對物品 j 的評分是可觀測的,否則不可觀測。每個使用者 i 都可以用部分觀測向量 s(u)i=(Ri1,...,Rin)Rn 來識別。同樣地,每個物品 j 可由部分觀測向量 s(i)j=(R1j,...,Rmj)Rm 來表示。此外,表示使用者和物品的附加輔助資訊矩陣分別為 XRm×pYRn×q
 令使用者 i 的隱向量和物品 j 的隱向量分別為ui,vjRk,其中k是隱空間的維數。因此,使用者和物品潛在因子的相應矩陣形式分別為U=u1:mV=v1:n。給定稀疏評分矩陣 R 和輔助資訊矩陣 XY,目標是學習使用者潛在因子 U 和物品潛在因子 V,從而預測 R 中的缺失評分。

2.2 矩陣分解

  矩陣分解(Koren等人,2009)是有效的協同過濾方法,通過對使用者-物品互動矩陣進行分解,矩陣分解可以將使用者和物品對映到聯合潛在因子空間。因此,使用者-物品互動被建模為該空間中的內部結果。原則上,矩陣分解將原始評分矩陣 R 分解為由使用者和物品隱向量組成的兩個低階矩陣 UV,使得 RUV。給定使用者和物品的隱向量,使用者對某部電影的評分可通過這些向量的內部結果預測得到。
矩陣分解的目標函式可以寫為:

argminU,VL(R,UVT+λ(U2F+V2F))
 其中 L(.,.) 是測量相同大小的兩個矩陣之間的距離的損失函式,最後兩個項是用於避免過度確定的正則化,F 表示Frobenius範數。已經通過指定不同的 L(.,.) 提出了許多矩陣分解模型,例如,非負矩陣分解(Lee和Seg,2001),概率矩陣分解(Salakhutdi- nov和Mnih 2011),貝葉斯概率矩陣因子化(Salakhutdinov和Mnih 2008),最大邊緣矩陣因子(Srebro,Ren​​nie ,和Jaakkola2004)等。
  當輔助資訊可用時,一些矩陣因子分解模型從包含使用者或物品的附加資訊的隱向量的乘積產生評分。各種模型表明,附加資訊可以作為一個有用的資訊先驗分佈,可顯著地優化結果(Porteous,Asuncion和Welling 2010; Singh和Gordon2008)。

3 附加堆疊去噪自動編碼器

  在本節中,我們首先介紹附加去噪自動編碼器,然後詳細說明附加堆疊去噪自動編碼器(aSDAE)。

3.1 附加去噪自動編碼器

  自動編碼器是一種特定的神經網路,由編碼器和解碼器組成。編碼器 g() 取一個給定的輸入,並將其對映到隱含觀測量g(s),而解碼器 將這個隱含觀測量映射回 s 的重構值,使得 f(g(s))s。學習自動編碼器的引數,以最小化重構誤差,而重構誤差可通過一些損失值 L(s,f(g(s))) 測量得到。為了從損失值重構輸入,需進行一個設定,即從輸入中學習更有效的觀測量,然而去噪自動編碼器(DAE)對該設定進行了輕微的修改(Vincent et al. 2008)。這裡對一個去噪自動編碼器進行了訓練,使它能通過最小化 L(s,f(g(

相關推薦

no