基于物品相似度的推薦算法_第1頁
基于物品相似度的推薦算法_第2頁
基于物品相似度的推薦算法_第3頁
基于物品相似度的推薦算法_第4頁
基于物品相似度的推薦算法_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于物品相似度的推薦算法技術(shù)創(chuàng)新,變革未來智慧IT1. 基于矩陣分解的推薦算法2. FISM(FISM-Factored Item Similarity Methods)3. DICF(Deep Item-based Collaborative Filtering for Top-N Recommendation)1. 基于矩陣分解的推薦算法2. FISM(FISM-Factored Item Similarity Methods)3. DICF(Deep Item-based Collaborative Filtering for Top-N Recommendation)目 錄010203

2、矩陣分解算法簡介矩陣分解算法模型矩陣分解算法運行與結(jié)果分析MovieLens 是一份電影評分?jǐn)?shù)據(jù)集,廣泛應(yīng)用于推薦算法效果的驗證。MovieLens 具有多個版本,在實驗中我們選擇含有大約 10W 條交互記錄的版本ML-100k。在這個版本的 MovieLens 數(shù)據(jù)集中,每個用戶至少有 20 條交互記錄。 數(shù)據(jù)集描述 1. 矩陣分解算法簡介SVD算法是從Netflix大賽中脫穎而出的一個推薦算法。歷史事件Netflix是一家從事DVD出租業(yè)務(wù)的互聯(lián)網(wǎng)公司,2007年又轉(zhuǎn)為提供線上視頻流媒體服務(wù)。2006年,netflix宣布了一個消息:他們將舉辦一次大賽,獎金高達100萬美元。SVD: S.

3、 Funk, “Netflix Update: Try This At Home”,/simon/journal/20061211.html, 2006. 1. 矩陣分解算法簡介在Netflix大賽后,SVD算法由于其形式優(yōu)美,被廣范使用和研究。后來衍生出了多個版本,例如BiasSVD、SVD+等。SVD算法中,SVD不是直接使用數(shù)學(xué)中的矩陣SVD分解技術(shù),而是借助矩陣SVD分解思想,經(jīng)過改良的SVD推薦技術(shù)。SVD+: Koren Y. Factorization meets the neighborhood: a multifaceted collaborative filtering m

4、odelC/Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2008: 426-434. 1. 矩陣分解算法簡介歷史事件對于一個推薦系統(tǒng),其用戶數(shù)據(jù)可以整理成一個user-item交互矩陣。矩陣中每一行代表一個用戶,而每一列則代表一個物品。若用戶對物品有過評分,則矩陣中處在用戶對應(yīng)的行與物品對應(yīng)的列交叉的位置表示用戶對物品的評分值。這個user-item矩陣被稱為評分矩陣。算法1-SVDuseritem123451531?32?2?4

5、?32?3424?4?555?41? 1. 矩陣分解算法簡介 1. 矩陣分解算法簡介算法1-SVD其中是的正交矩陣,是的正交矩陣,是的對角陣,可以說是完美契合分解評分矩陣這個需求。對角陣還有一個特殊的性質(zhì),它的所有元素都非負,且依次減小。這個減小也特別快,在很多情況下,前10%的和就占了全部元素之和的99%以上,這就是說我們可以使用最大的k個值和對應(yīng)大小的 、 矩陣來近似描述原始的評分矩陣。 1. 矩陣分解算法簡介算法1-SVD 1. 矩陣分解算法簡介算法1-SVD總結(jié):所謂SVD模型,就是將評分矩陣分解成用戶子矩陣和物品子矩陣子矩陣分別代表用戶和物品的偏好信息 1. 矩陣分解算法簡介算法1-

6、SVDBiasSVD算法在SVD算法的基礎(chǔ)上引入了偏置信息。在實際的應(yīng)用中不同的用戶在評分時會有自己的偏好。如在電影評價的場景中,某些人評分的標(biāo)準(zhǔn)會比較高,對所有看過的電影評分都比較低。不同的物品之間評分標(biāo)準(zhǔn)也會有所區(qū)別,某部電影口碑很爛,會在一定程度上影響其他用戶對該電影的評分。用戶之間評分習(xí)慣有差異 用戶偏置物品之間的質(zhì)量有差異 物品偏置算法2-BiasSVD總結(jié):所謂BiasSVD模型,就是考慮了用戶偏置和物品偏置的SVD模型 1. 矩陣分解算法簡介SVD+算法在BiasSVD的基礎(chǔ)上引入了隱式反饋信息:在實際應(yīng)用場景中還存在著大量的隱式反饋信息,如用戶的瀏覽和點擊操作。雖然顯式評分可以

7、很好的衡量用戶對物品的偏好,但是隱式反饋信息也能一定程度上反應(yīng)用戶的偏好,所以融合隱式反饋信息后的模型具有更強的表現(xiàn)力,并且隱式反饋的數(shù)據(jù)更多更豐富。利用用戶的歷史交互記錄來輔助用戶偏好建模:傳統(tǒng)的SVD方法在建模用戶偏好的時候忽略了用戶交互過的物品在很大程度上反映了用戶的偏好,所以SVD+在建模用戶向量的時候,融入了用戶歷史交互過的物品。算法3-SVD+ 1. 矩陣分解算法簡介在Part 3 CTR算法部分已經(jīng)介紹過的FM算法是一種使用了矩陣分解思想的算法。在FM算法中,引入矩陣分解的思想是為了減少參數(shù)的數(shù)量。如下:* 算法4 分解機(Factorization Machine,F(xiàn)M)算法*

8、 1. 矩陣分解算法簡介SVD和SVD+算法都是將一個評分矩陣分解為兩類向量(用戶向量和物品向量),并且這兩類向量都有一定可解釋性,所以可以認(rèn)為這些算法是非常純粹的矩陣分解算法。FM算法的主體還是線性模型,矩陣分解主要體現(xiàn)在引入了輔助向量V,輔助向量相乘的結(jié)果就是二階組合特征對應(yīng)的參數(shù),這樣的設(shè)置僅僅是為了降低二階組合特征的參數(shù)數(shù)量,輔助向量本身并不具有實際意義,而SVD和SVD+算法中的分解向量U,V有具體的物理意義(分別表示用戶和物品,并且每一個維度代表一類偏好),所以對FM的定位是:利用了矩陣分解思想的線性模型。 1. 矩陣分解算法簡介* 算法4 分解機(Factorization Ma

9、chine,F(xiàn)M)算法*應(yīng)用場景上的區(qū)別SVD、BiasSVD、SVD+ 屬于協(xié)同過濾的主流算法,主要用于預(yù)測用戶對物品的評分,從而給用戶推薦符合用戶偏好的物品。FM算法的核心還是線性模型,主要解決CTR預(yù)估的問題(或者說概率預(yù)測的問題),同時,F(xiàn)M算法的優(yōu)勢在于可以很好地處理組合特征,所以FM算法可以處理的數(shù)據(jù)集應(yīng)該包含較多的特征,SVD、SVD+使用的Movielens等數(shù)據(jù)集無法體現(xiàn)FM算法的優(yōu)勢,不適用于FM算法。 1. 矩陣分解算法簡介* 算法4 分解機(Factorization Machine,F(xiàn)M)算法*總結(jié):SVD,BiasSVD,SVD+算法是適用于評分預(yù)估的矩陣分解算法;

10、FM算法是適用于CTR預(yù)估的“半”矩陣分解算法。 1. 矩陣分解算法簡介* 算法4 分解機(Factorization Machine,F(xiàn)M)算法*明尼蘇達大學(xué)GroupLens研究組推出第一個自動化推薦系統(tǒng)GroupLens1994年SVD:Netflix大賽成功舉辦,SVD算法脫穎而出2006年BiasSVD:SVD提出來之后,出現(xiàn)了很多變形版本,其中一個相對成功的方法是BiasSVD2007年SVD+:在BiasSVD的基礎(chǔ)上融合了隱式反饋信息2008年2012年SVDFeature:引入了的特征作為輔助信息 1. 矩陣分解算法簡介目 錄020303矩陣分解算法簡介矩陣分解算法模型矩陣分

11、解算法運行與結(jié)果分析0201SVD模型為:矩陣分解算法模型1-SVD 2. 矩陣分解算法模型具體到交互矩陣中的某一項評分預(yù)測為:最小化損失可以優(yōu)化模型參數(shù),通過不斷優(yōu)化得到最佳模型參數(shù)。 2. 矩陣分解算法模型矩陣分解算法模型1-SVDBiasSVD的模型為:矩陣分解算法模型2-BiasSVD 2. 矩陣分解算法模型SVD+的模型為: 矩陣分解算法模型3-SVD+ 2. 矩陣分解算法模型算法調(diào)優(yōu)方案對比模型參數(shù)1e-01e-11e-21e-31e-41e-51e-61e-7SVD0.91710.91780.92400.92300.92350.92850.92340.92351.37150.98

12、960.90880.90980.92890.91690.91810.9142BiasSVD0.93430.92080.92510.92650.92710.92810.92770.92470.93430.90670.93230.94480.95080.94420.94330.9477SVD+0.90890.90730.90360.90630.90720.90570.90420.90350.90250.91440.92200.91990.91820.91720.92110.9190將SVD、BiasSVD和SVD+的模型分別在不同的正則項系數(shù)下進行比較,下面是三種模型的調(diào)優(yōu)對比結(jié)果 2. 矩陣分解

13、算法模型目 錄02矩陣分解算法簡介矩陣分解算法模型矩陣分解算法運行與結(jié)果分析010203從數(shù)據(jù)集中隨機劃出10%作為測試集,余下的90%作為訓(xùn)練集數(shù)據(jù)集的劃分 3. 矩陣分解算法調(diào)試與運行實驗-在線AI studio(SVD)在AI Studio中創(chuàng)建項目SVD導(dǎo)入數(shù)據(jù)集 3. 矩陣分解算法調(diào)試與運行導(dǎo)入相關(guān)的工具包加載數(shù)據(jù)集計算用戶和物品個數(shù) 3. 矩陣分解算法調(diào)試與運行實驗-在線AI studio(SVD)劃分?jǐn)?shù)據(jù)集,創(chuàng)建測試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)對應(yīng)的矩陣數(shù)據(jù)集劃分建立訓(xùn)練集的評分矩陣建立測試集的評分矩陣 3. 矩陣分解算法調(diào)試與運行實驗-在線AI studio(SVD)矩陣乘法和RMSE的計算

14、判斷是否存在不在1-5之間的評分 3. 矩陣分解算法調(diào)試與運行實驗-在線AI studio(SVD)模型的訓(xùn)練和參數(shù)的優(yōu)化損失函數(shù)的計算模型參數(shù)的優(yōu)化 3. 矩陣分解算法調(diào)試與運行實驗-在線AI studio(SVD)u.data:數(shù)據(jù)集BiasSVD.py:BiasSVD模型Draw.py:畫圖SVD+.py:SVD+模型SVD.py:SVD模型實驗-離線Pycharm (代碼目錄結(jié)構(gòu)) 3. 矩陣分解算法調(diào)試與運行SVD.py:實驗-離線Pycharm (核心代碼)SVD損失函數(shù) 3. 矩陣分解算法調(diào)試與運行BiasSVD.pyBiasSVD損失函數(shù) 3. 矩陣分解算法調(diào)試與運行實驗-離線

15、Pycharm (核心代碼)SVD+.py:SVD+損失函數(shù) 3. 矩陣分解算法調(diào)試與運行實驗-離線Pycharm (核心代碼)取SVD、BiasSVD、SVD+模型訓(xùn)練前50次的結(jié)果進行對比:實驗結(jié)果分析 3. 矩陣分解算法調(diào)試與運行合肥工業(yè)大學(xué),薛峰SVDFeature基于特征的矩陣分解算法目 錄010203SVDFeature算法簡介SVDFeature算法模型SVDFeature算法運行與結(jié)果分析背景介紹傳統(tǒng)的協(xié)同過濾算法中主要存在如下兩個問題:稀疏性與冷啟動問題。有效的解決方法是:引入輔助信息(Side information)來緩解這些問題。用戶的Side information可

16、以是用戶的個人信息、用戶畫像信息等,物品的Side information可以是物品的內(nèi)容,類別信息等。1. SVDFeature算法簡介背景介紹SVDFeature是Apex Data & Knowledge Management Lab在KDD CUP11競賽中開發(fā)出來的工具包。曾在KDD CUP11 track 1中取得非常好的成績。 SVDFeature作者是陳天奇,也是XGBoost和cxxnet的作者。它的目的是有效地解決基于特征的矩陣分解。APEX DATA & KNOWLEDGE MANAGEMENT LAB 的主頁: / 1. SVDFeature算法簡介目 錄010203S

17、VDFeature算法簡介SVDFeature算法模型SVDFeature算法運行與結(jié)果分析模型框架首先回顧一下BiasSVD的公式:SVDFeature的主要思想就是:實現(xiàn)在SVD模型的基礎(chǔ)上,能夠加入新的特征(如時間特征,neighborhood特征),以提高算法的表現(xiàn)。其中表示用戶特征,表示商品特征,表示全局特征2. SVDFeature算法模型圖片引自:Chen T, Zheng Z, Lu Q, et al. Feature-Based Matrix FactorizationJ. Computer Science, 2011.2. SVDFeature算法模型舉例說明接下來我們以論

18、文:中的例子來講述SVDFeature如何使用:2. SVDFeature算法模型圖片引自:Chen T , Zhang W , Lu Q , et al. SVDFeature: A Toolkit for Feature-based Collaborative FilteringJ. Journal of Machine Learning Research, 2012, 13(1):3619-3622.2. SVDFeature算法模型舉例說明album id 之前的系數(shù)0.6是個超參數(shù),用來控制album information在預(yù)測中的影響效果。global feature index

19、是根據(jù)實際情況自定義的,本例中是:gid = 2iid +day2. SVDFeature算法模型目 錄010203SVDFeature算法簡介SVDFeature算法模型SVDFeature算法運行與結(jié)果分析如何使用SVDFeature 下載SVDFeature工具包,解壓,并進行編譯 構(gòu)造SVDFeature要求的輸入格式: 設(shè)置一些參數(shù),比如用戶數(shù),物品數(shù),迭代次數(shù),學(xué)習(xí)率等。寫到配置文件中 將輸入和參數(shù)傳給SVDFeautre執(zhí)行,獲得推薦結(jié)果3. SVDFeature算法運行與結(jié)果分析實驗-離線Pycharmdata:數(shù)據(jù)集目錄 - ml-100k:MovieLens 100K的數(shù)據(jù)

20、集 - make.sh :下載數(shù)據(jù)集的腳本src :源碼包 - svdfeature_info.py : 算法主程序tool : 工具包 - svdfeature-1.2.2: SVDFeature工具包 - svdfeature用戶手冊工程目錄結(jié)構(gòu):3. SVDFeature算法運行與結(jié)果分析寫SVDFeature配置文件:3. SVDFeature算法運行與結(jié)果分析實驗-離線Pycharm生成用戶和物品的輔助信息向量:3. SVDFeature算法運行與結(jié)果分析實驗-離線Pycharm寫訓(xùn)練集文件:3. SVDFeature算法運行與結(jié)果分析實驗-離線Pycharm寫測試集文件:3. SV

21、DFeature算法運行與結(jié)果分析實驗-離線Pycharm使用os包的方法去運行SVDFeature的工具包3. SVDFeature算法運行與結(jié)果分析實驗-離線Pycharm數(shù)據(jù)集及評價指標(biāo)數(shù)據(jù)集:MovieLen-100K數(shù)據(jù)集(以下簡稱ML-100K)是由明尼蘇達大學(xué)的GroupLens Research Project收集而來的。數(shù)據(jù)集總共有100000個1到5的評分,943個用戶,1682部電影。同時每個用戶至少評分過20部電影,而且還有用戶的人口統(tǒng)計學(xué)信息(年齡、性別、職業(yè)等)。評價指標(biāo):RMSE(均方根誤差)其中 代表原始值, 代表預(yù)測值。3. SVDFeature算法運行與結(jié)果

22、分析數(shù)據(jù)預(yù)處理右圖是訓(xùn)練集的部分截圖:這個格式是按照SVDFeature要求的格式生成的。以第一行舉例:評分全局特征個數(shù)用戶特征個數(shù)物品特征個數(shù)用戶的4個特征及權(quán)重物品的2個特征及權(quán)重3. SVDFeature算法運行與結(jié)果分析結(jié)果分析左圖顯示了ML-100K數(shù)據(jù)集上,side information的權(quán)重對于RMSE的影響我們分別使用0.01, 0.05, 0.1, 0.5, 0.9, 1進行對比實驗可以看到,當(dāng)side information權(quán)重過小以及權(quán)重過大時的效果沒有適中的權(quán)重好。當(dāng)alpha=0.5時,RMSE得到最好結(jié)果為0.9109。3. SVDFeature算法運行與結(jié)果分析

23、左圖顯示矩陣分解模型的不同embedding size 大小對推薦結(jié)果的影響過小的 embedding size表達能力不夠,過大的embedding size又會過擬合。可以看到,當(dāng)embedding size從20增加到300時,效果是最好的。但是再繼續(xù)增大效果會變差。3. SVDFeature算法運行與結(jié)果分析結(jié)果分析1. 基于矩陣分解的推薦算法2. FISM(FISM-Factored Item Similarity Methods)3. DICF(Deep Item-based Collaborative Filtering for Top-N Recommendation)目 錄0

24、1020303FISM算法簡介FISM算法模型FISM算法運行與結(jié)果分析在現(xiàn)實場景中,用戶通常僅向數(shù)千或數(shù)百萬件物品中的少數(shù)物品提供反饋(評級或評論)。這導(dǎo)致用戶項目評級矩陣變得非常稀疏。現(xiàn)有的top-N推薦方法的有效性隨著數(shù)據(jù)集稀疏性的增加而降低。基于矩陣分解的方法通過將數(shù)據(jù)投影到低維空間來緩解該問題,從而隱含地學(xué)習(xí)user和item之間的更好關(guān)系。背景介紹針對數(shù)據(jù)稀疏的問題,矩陣分解的方法很有效 1. FISM算法簡介 FISM(Factored Item Similarity Methods)通過在較小維度的潛在空間中映射值來學(xué)習(xí)相似性矩陣,隱含地學(xué)習(xí)item之間的傳遞關(guān)系。因此,在稀疏

25、數(shù)據(jù)上,F(xiàn)ISM模型能取得較優(yōu)的效果,因為它可以學(xué)習(xí)沒有被共同評分的item之間的關(guān)系。Kabbur S , Karypis G . FISM : Factored Item Similarity Models for Top-N Recommender SystemsC/ Acm Sigkdd International Conference on Knowledge Discovery & Data Mining. ACM, 2013.FISM算法相比于一般的矩陣分解算法,更能挖掘物品之間潛在的相似度 1. FISM算法簡介背景介紹X. Ning and G. Karypis. Slim:

26、 Sparse linear methods for top-n recommender systems. In Data Mining (ICDM), 2011 IEEE 11th International Conference on, pages 497-506. IEEE, 2011. M. Deshpande and G. Karypis. Item-based top-n recommendation algorithms. ACM Transactions on Information Systems (TOIS), 22(1):143177, 2004. 針對推薦系統(tǒng)中數(shù)據(jù)稀疏

27、性這一問題,現(xiàn)已提出了一些效果較優(yōu)的算法,例如,Item-KNN, SLIM。但Item-KNN, SLIM這些方法依賴于用戶共同評價過的物品之間的相似性,無法捕獲用戶沒有共同評價的物品之間的依賴關(guān)系。但是,兩個item可以通過與它們兩者相似的另一個item(傳遞關(guān)系)彼此相似。FISM通過在較小維度的潛在空間中映射值來學(xué)習(xí)相似性矩陣,隱含地學(xué)習(xí)item之間的傳遞關(guān)系。(FISM使用了另一個方法更好地學(xué)習(xí)相似度矩陣)算法選型 1. FISM算法簡介目 錄01010203FISM算法簡介FISM算法模型FISM算法運行與結(jié)果分析(1) 2. FISM算法模型 2. FISM算法模型(2)(3)F

28、ISMrmse在FISMrmse中,矩陣P和Q可通過如下最小正則化優(yōu)化函數(shù)求解:FISMrmse的模型為: 2. FISM算法模型在FISMauc中,矩陣P和Q可通過如下最小正則化優(yōu)化函數(shù)求解:FISMauc的模型為:那么對于整個評分矩陣而言,排序誤差損失函數(shù)為:(5)(7)FISMauc(6) 2. FISM算法模型最小化損失函數(shù)L,就能以最小的擾動完成對原始評分矩陣的分解。 2. FISM算法模型目 錄01010202FISM算法簡介FISM算法模型FISM算法運行與結(jié)果分析03MovieLens 是一份被廣泛使用于驗證 CF 算法表現(xiàn)效果電影評分?jǐn)?shù)據(jù)集。MovieLens 具有多個版本,

29、在實驗中我們選擇含有大約 10W 條交互記錄的版本ML-100k。在這個版本的 MovieLens 數(shù)據(jù)集中,每個用戶至少有 20 條交互記錄。 Netflix 數(shù)據(jù)集是從Netflix Prize數(shù)據(jù)集中提取的數(shù)據(jù)的子集。Yahoo Music數(shù)據(jù)集是從Yahoo獲得的數(shù)據(jù)的子集,該數(shù)據(jù)集是一個快照,收集了音樂社區(qū)對各種音樂藝術(shù)家的偏好。數(shù)據(jù)集 3. FISM算法運行與結(jié)果分析評價指標(biāo) 3. FISM算法運行與結(jié)果分析實驗-在線AI studio在AI-studio中創(chuàng)建項目FISM導(dǎo)入數(shù)據(jù)集 3. FISM算法運行與結(jié)果分析導(dǎo)入相關(guān)工具包 3. FISM算法運行與結(jié)果分析實驗-在線AI s

30、tudio導(dǎo)入相關(guān)工具包定義數(shù)據(jù)類 3. FISM算法運行與結(jié)果分析實驗-在線AI studio定義網(wǎng)絡(luò)層 3. FISM算法運行與結(jié)果分析實驗-在線AI studio定義訓(xùn)練函數(shù)定義評價函數(shù) 3. FISM算法運行與結(jié)果分析實驗-在線AI studio創(chuàng)建并訓(xùn)練模型,進行預(yù)測得到評估結(jié)果。 3. FISM算法運行與結(jié)果分析實驗-在線AI studio迭代199次后的實驗結(jié)果 3. FISM算法運行與結(jié)果分析實驗-在線AI studio實驗離線PyCharm(核心代碼)#data.csv實驗數(shù)據(jù)#Data.py導(dǎo)入數(shù)據(jù)#model.py算法代碼 3. FISM算法運行與結(jié)果分析計算損失函數(shù)定義

31、嵌入層 3. FISM算法運行與結(jié)果分析實驗離線PyCharm(核心代碼)實驗-參數(shù)的影響在該算法中,我們對歸一化常數(shù)()的不同值進行了完整的參數(shù)研究,其中保持其余參數(shù)不變。FISMrmse和FISMauc方法的結(jié)果如圖1所示。從結(jié)果中我們可以看出,當(dāng)?shù)闹翟?.4到0.5的范圍內(nèi)時,獲得了最佳性能。 3. FISM算法運行與結(jié)果分析圖2顯示了隨著稀疏矩陣S密度的變化FISM的性能的變化趨勢,從圖中可看出,在密度為0.1到0.15的范圍內(nèi),推薦性能只會有極小的降低,與此同時,為每個用戶計算推薦所需的平均時間大大減少。 3. FISM算法運行與結(jié)果分析實驗-參數(shù)的影響表1:各個算法的性能比較實驗結(jié)

32、果 3. FISM算法運行與結(jié)果分析表1顯示了FISM與其他幾個較優(yōu)算法在top-N推薦任務(wù)中的總體性能的對比結(jié)果,實驗結(jié)果表明,F(xiàn)ISM在所有數(shù)據(jù)集上的性能優(yōu)于所有其他算法。在大部分?jǐn)?shù)據(jù)集上,F(xiàn)ISM對性能僅次于它的方案所做的改進是相當(dāng)可觀的。在這兩個損失函數(shù)方面,RMSE損失(FISMrmse)的性能優(yōu)于AUC損失(FISMauc)。 3. FISM算法運行與結(jié)果分析實驗結(jié)果1. 基于矩陣分解的推薦算法2. FISM(FISM-Factored Item Similarity Methods)3. DICF(Deep Item-based Collaborative Filtering f

33、or Top-N Recommendation)4. DICF算法背景介紹Item-based CF(基于物品的協(xié)同過濾)算法由于其有效性和可解釋性被廣泛運用于業(yè)界構(gòu)建推薦系統(tǒng),它的關(guān)鍵點在于物品間相似度的計算。下表簡單介紹了相關(guān)的算法:方法主要思想和優(yōu)缺點ItemKNN思想:利用統(tǒng)計學(xué)方法(余弦相似度,Pearson相關(guān)系數(shù)等)從用戶-物品交互矩陣直接計算物品間的相似度。優(yōu)缺點:計算速度快,但是缺乏定制優(yōu)化目標(biāo)函數(shù)導(dǎo)致推薦效果不好。SLIM思想:通過構(gòu)建目標(biāo)函數(shù)學(xué)習(xí)物品-物品相似度矩陣S。優(yōu)缺點:在一定程度上提高推薦準(zhǔn)確度,但是速度慢并且仍舊不能解決ItemKNN遺留的問題:無法捕捉物品和物

34、品間的傳遞關(guān)系。FISM思想:利用MF思想,分解 S=PQ,優(yōu)化更新P、Q矩陣計算相似度矩陣S。優(yōu)點:通過構(gòu)造目標(biāo)函數(shù)優(yōu)化P、Q矩陣。提高了推薦效果,成功解決ItemKNN和SLIM遺留的問題。4. DICF算法算法選型FISM模型具有其局限性:FISM簡單地使用線性函數(shù)(即內(nèi)積)建模物品和物品間的低階交互關(guān)系(second-order interactions),即相似度;然而在現(xiàn)實中物品和物品之間存在著非常復(fù)雜的高階交互關(guān)系(higher-order interactions),F(xiàn)ISM忽略了物品間這些復(fù)雜關(guān)系;FISM簡單地認(rèn)為用戶所有的歷史交互物品對模型最終預(yù)測的貢獻程度是一樣的。1:

35、Xue, Feng, He, Xiangnan, Wang, Xiang, et al. Deep Item-based Collaborative Filtering for Top-N RecommendationJ. 2018.4. DICF算法模型描述DICF模型圖:4. DICF算法模型描述DICF模型圖分析:輸入層:分別是用戶u的Multi-hot表示和目標(biāo)物品i的One-hot表示;Embedding層:根據(jù)用戶u的所有歷史交互物品的編號和目標(biāo)物品i的編號獲得對應(yīng)的embedding表示;Pairwise Interaction層:分別將用戶的歷史交互物品和目標(biāo)物品i的embed

36、dings進行element-wise product操作;池化層:將Pairwise Interaction層得到的所有embedding進行average pooling操作。隱藏層:將池化層的輸出embedding作為隱藏層的輸入,依靠后續(xù)的隱藏層自動學(xué)習(xí)出item-item交互函數(shù)。輸出層:將輸出層輸出的預(yù)測值通過sigmoid函數(shù)進行(0,1)區(qū)間壓縮,獲得用戶對該目標(biāo)物品的感興趣程度。基于DNNs從user-item交互數(shù)據(jù)中學(xué)習(xí)出物品間潛在的高階非線性item-item交互函數(shù)4. DICF算法模型描述DICF模型基于二階相關(guān)性自動學(xué)習(xí)來自用戶 - 項交互數(shù)據(jù)的項之間的高階相關(guān)性

37、。下面是模型的預(yù)測公式:式中的a表示的是隱藏層使用的激活函數(shù),在實驗中我們選擇ReLU作為激活函數(shù)。DICF是面向隱式反饋的模型,所以對于輸出層輸出的預(yù)測值,會通過sigmoid函數(shù)進行(0,1)區(qū)間的壓縮4. DICF算法模型描述針對FISM模型的局限之二,我們引入Attention機制,以來區(qū)分用戶不同的歷史交互物品對模型最終預(yù)測的貢獻程度。我們將這個優(yōu)化模型稱為DICF + a;其預(yù)測公式如下:對于目標(biāo)物品i和用戶u的某一歷史交互物品j之間的Attention權(quán)重aij的計算方式采用了文獻1提出的方法。1 He X, He Z, Song J, et al. NAIS: Neural A

38、ttentive Item Similarity Model for RecommendationJ. 4. DICF算法模型描述引入Attention的DICF + a模型如下圖所示:4. DICF算法MovieLens是一份被廣泛使用于驗證 CF 算法表現(xiàn)效果電影評分?jǐn)?shù)據(jù)集。MovieLens 具有多個版本,在實驗中我們選擇含有大約 1000W 條交互記錄的版本ML-10M。在這個版本的 MovieLens 數(shù)據(jù)集中,包含72,000個用戶對于10,000部電影,進行了1000萬個評級和100,000個標(biāo)簽 數(shù)據(jù)集地址:/datasets/movielens/Pinterest是世界上最大

39、的圖片社交分享網(wǎng)站。網(wǎng)站允許用戶創(chuàng)建和管理主題圖片集合,例如事件、興趣和愛好。實驗-數(shù)據(jù)集Dataset#Interactions#Users#ItemsDensityMovieLens1,000,2093,7066,0404.47%Pinterest1,500,8099,91655,1870.27%4. DICF算法目標(biāo)函數(shù):實驗-配置評價指標(biāo):HR,NDCG;值越大,代表模型效果越好;HR:推薦列表中用戶喜歡的物品所占的比例。針對單個用戶u的推薦準(zhǔn)確率;NDCG:Normalized Discounted Cumulative Gain(NDCG)是一種衡量推薦列表質(zhì)量的指標(biāo),設(shè)計這個指標(biāo)

40、的初衷是在產(chǎn)生的推薦列表中越相關(guān)的物品其位置應(yīng)該更靠前。Baselines:ItemPop, ItemKNN, FISM, BPR, eALS和MLPUser-based CFItem-based CF4. DICF算法實驗-工程介紹 Batch_gen.py # 生成小批量數(shù)據(jù) Dataset.py # 生成訓(xùn)練、測試數(shù)據(jù) DeepFISM.py # 構(gòu)建模型 DeepNAIS.py # 構(gòu)架模型 Evaluate.py # 評估模型 Evaluate2.py # 評估模型Dataset.pyBatchgen.pyDeepNAIS.pyinfer.py載入數(shù)據(jù)構(gòu)建模型測試訓(xùn)練模型DeepFI

41、SM.py4. DICF算法實驗-核心代碼根據(jù)id分別獲得用戶歷史和物品所對應(yīng)的向量獲取偏置計算系數(shù)深度網(wǎng)絡(luò)4. DICF算法實驗-核心代碼4. DICF算法DICF模型和其他baseline在兩個數(shù)據(jù)集上的對比:實驗-結(jié)果分析DatasetMovieLensPinterestMethodsHRNDCGp-ValueHRNDCGp-ValueItemPop0.45580.2556-0.27420.1410-ItemKNN0.63000.3341-0.75650.5207-MLP0.68410.41034.1e-50.86480.53851.7e-2BPR0.66740.39072.3e-30.

42、86280.54063.5e-3eALS0.66890.39777.3e-30.87550.54491.3e-2FISM0.66850.39542.2e-20.87630.55294.2e-2DICF0.68810.41137.0e-60.88060.56311.6e-5DICF+a0.70840.43806.2e-50.88350.56666.8e-4Embedding size = 16Learning-basedmethodsHeuristic-basedmethods從表中的實驗結(jié)果可以看出,DICF和DICF+a模型在兩份公開的數(shù)據(jù)集上均取得了最優(yōu)表現(xiàn)此外,Learning-base

43、d方法的效果會明顯優(yōu)于啟發(fā)式方法(ItemPop, ItemKNN);在基準(zhǔn)方法中,user-based模型和item-based模型沒有絕對的優(yōu)勝者,在MovieLens數(shù)據(jù)集上,user-based方法會好于item-based方法;而在Pinterest數(shù)據(jù)集上,item-based方法會好于user-based方法。4. DICF算法DICF模型在兩份數(shù)據(jù)集上HR和NDCG前50次epoch的趨勢圖:實驗-結(jié)果分析Embedding size = 16對于兩個DICF模型,我們使用了收斂時的FISM模型的item embedding對DICF模型對應(yīng)的item embedding進行了

44、Pre-training操作;從實驗結(jié)果可以看出,第一次epoch兩個DICF模型的效果會遠遠好于FISM模型的效果,收斂速度快,隨著迭代次數(shù)的增加,模型效果逐漸上升;從這里,再次證明了Pre-training的重要性。4. DICF算法引入Attention的DICF + a模型思路的合理性驗證:實驗-數(shù)據(jù)集MovieLensSampled Users#268#1188Target Items#836#1525#323#806#39#1356#1549#918#362#22220.510.520.560.800.700.640.520.700.620.670.190.200.370.610.530.310.370.480.420.57PinterestSampled Users#268#1188Target Items#346#497#2441#3779#3782#6092#6769#6802#6803#68090.320.660.410.340.720.490.520.170.630.690.180.620.220.300.680.390.500.100.390.59因此,在預(yù)測一個用戶對一個物品的感興趣程度,這個用戶所有的歷史交互物品中,與目標(biāo)物品越相關(guān)的物品其貢獻程應(yīng)該更大,而越不相關(guān)的物品其貢獻程度越小。這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論