滿 彤,沈華偉,黃俊銘,程學(xué)旗
(中國(guó)科學(xué)院計(jì)算技術(shù)研究所 中國(guó)科學(xué)院網(wǎng)絡(luò)數(shù)據(jù)科學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100190)
SCMF: 一種融合多源數(shù)據(jù)的軟約束矩陣分解推薦算法
滿 彤,沈華偉,黃俊銘,程學(xué)旗
(中國(guó)科學(xué)院計(jì)算技術(shù)研究所 中國(guó)科學(xué)院網(wǎng)絡(luò)數(shù)據(jù)科學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100190)
數(shù)據(jù)稀疏是推薦系統(tǒng)面臨的主要挑戰(zhàn)之一。近年來(lái),多源數(shù)據(jù)融合為解決數(shù)據(jù)稀疏問(wèn)題提供了新思路。然而,現(xiàn)有方法大多假設(shè)對(duì)象在不同數(shù)據(jù)源中具有相同的表示,這種硬約束方式無(wú)法刻畫對(duì)象在不同數(shù)據(jù)源中的差異性。該文提出一種基于軟約束矩陣分解的推薦算法,通過(guò)約束不同數(shù)據(jù)源中對(duì)象的隱因子向量,能夠同時(shí)刻畫同一對(duì)象表示的共性及其在不同數(shù)據(jù)源中的差異性。在兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)表明,該文提出的軟約束矩陣分解算法在準(zhǔn)確率方面優(yōu)于現(xiàn)有的單數(shù)據(jù)源推薦算法和多源數(shù)據(jù)硬約束融合推薦算法,可以有效解決推薦系統(tǒng)面臨的數(shù)據(jù)稀疏問(wèn)題。
協(xié)同過(guò)濾;推薦系統(tǒng)
Abstract: Data sparsity is a challenge forrecommender systems.In recent years, the integration of data from different sources provides a promising direction for the solution of this issue. However, most existing methods for data integration assume that the representation of a single user/item is the same across different contexts, which blocksthe depiction of the distinct characteristics of different contexts. In this paper, we propose a matrix factorization model with soft constraint that the difference between the representations of a single user/item is minimized together with the error function of matrix factorization model. Experiments on two datasets demonstrate that the proposed model outperforms thestate-of-the-art models, especially on the case where the data is sparse in only one resource.
Key words: collaborative filtering; recommender system
互聯(lián)網(wǎng)上規(guī)??焖僭鲩L(zhǎng)的數(shù)據(jù)帶來(lái)了嚴(yán)峻的信息過(guò)載問(wèn)題,推薦系統(tǒng)在此背景下應(yīng)運(yùn)而生[1]。通過(guò)分析用戶的歷史行為數(shù)據(jù),推薦系統(tǒng)能夠根據(jù)用戶興趣向用戶推薦其感興趣的對(duì)象,例如電影、書籍、商品等。協(xié)同過(guò)濾算法是推薦系統(tǒng)中常用的一種算法。目前的協(xié)同過(guò)濾算法可以大致分為兩類,第一類是基于鄰居的算法[2-3],第二類是基于模型的算法[3-4]。其中,矩陣分解[5-6]是一種主流的推薦算法。
矩陣分解算法將協(xié)同過(guò)濾問(wèn)題抽象為一個(gè)矩陣填充問(wèn)題。用戶的歷史數(shù)據(jù)被抽象成一個(gè)打分矩陣,矩陣分解將打分矩陣分解為一個(gè)用戶因子矩陣和一個(gè)物品因子矩陣。用戶未觀察到的打分?jǐn)?shù)據(jù),可以通過(guò)用戶因子矩陣和物品因子矩陣預(yù)測(cè)出來(lái)。矩陣分解算法的精度依賴于打分矩陣。在實(shí)際應(yīng)用中,打分矩陣往往比較稀疏,給推薦系統(tǒng)帶來(lái)了稀疏性問(wèn)題。推薦系統(tǒng)的用戶端和物品端都存在著稀疏性問(wèn)題。例如,Amazon*http: //www.amazon.com上購(gòu)買家具的用戶可能在未來(lái)幾年內(nèi)不會(huì)再產(chǎn)生家具購(gòu)買行為;一個(gè)剛剛進(jìn)入豆瓣*http: //www.douban.com的新用戶可能只會(huì)給很少的物品打分。另外在物品端,大部分用戶的興趣都集中在少數(shù)熱門物品上,形成長(zhǎng)尾效應(yīng)[2]。
推薦系統(tǒng)的發(fā)展過(guò)程中,存在大量的研究工作旨在解決稀疏性問(wèn)題?,F(xiàn)有的方法可以大致分為兩類。第一類方法在模型層面,通過(guò)改進(jìn)推薦模型、優(yōu)化算法來(lái)提高推薦性能。這類方法雖然的確能夠帶來(lái)一定的性能提升,但是并沒(méi)有從根本上解決數(shù)據(jù)的稀疏性問(wèn)題。在實(shí)際場(chǎng)景中,用戶和物品都不是孤立存在的。一個(gè)在新浪微博*http: //www.weibo.com中有歷史信息的用戶可能也會(huì)同時(shí)出現(xiàn)在校內(nèi)網(wǎng)*http: //www.renren.com中;一個(gè)出現(xiàn)在時(shí)光網(wǎng)*http: //www.mtime.com中的電影,有很大的可能也存在于豆瓣網(wǎng)中?;诖?,近年來(lái)解決數(shù)據(jù)稀疏性問(wèn)題的研究工作開始轉(zhuǎn)向第二類方法,即通過(guò)融合多個(gè)不同的數(shù)據(jù)源中的信息,來(lái)解決推薦算法面臨的數(shù)據(jù)稀疏問(wèn)題。例如,豆瓣網(wǎng)中的同一個(gè)用戶,可能同時(shí)會(huì)對(duì)電影、
音樂(lè)、書籍三類物品打分,在用戶和物品之間形成三個(gè)不同類型的打分矩陣,用戶同時(shí)出現(xiàn)在這三個(gè)矩陣中;類似地,一部電影在豆瓣網(wǎng)上得到豆瓣用戶的一系列評(píng)分,同時(shí)會(huì)得到時(shí)光網(wǎng)用戶的一系列評(píng)分,豆瓣網(wǎng)和時(shí)光網(wǎng)就扮演著不同的數(shù)據(jù)源,形成用戶和電影之間的兩個(gè)打分矩陣。
我們從兩個(gè)電影評(píng)分?jǐn)?shù)據(jù)集(Netflix*http: //www.netflix.com和MovieLens*http: //www.movielens.com)中隨機(jī)選取了140部電影,圖1中展示了這些電影在兩個(gè)數(shù)據(jù)集合中的分布。從圖中可以看到,整體打分?jǐn)?shù)分布呈線性相關(guān),在一個(gè)場(chǎng)景中打分?jǐn)?shù)很多的電影有很大的可能在另一個(gè)場(chǎng)景中也有很多的打分。然而也有不少的電影在兩個(gè)場(chǎng)景中存在著不同的稀疏程度。例如,法國(guó)動(dòng)作電影LeProfessionnel在Netflix中僅僅有少數(shù)的打分,但是在MovieLens中獲得了較多的反饋信息;西部探險(xiǎn)電影LastoftheDogmen在MovieLens中被很多用戶關(guān)注,而在Netflix中較為冷淡。
圖1 兩個(gè)電影評(píng)分?jǐn)?shù)據(jù)集中電影評(píng)分?jǐn)?shù)分布。
多源數(shù)據(jù)融合的推薦算法,其基本思想是將從一個(gè)數(shù)據(jù)源的打分矩陣中學(xué)習(xí)到的有關(guān)用戶和物品的知識(shí),應(yīng)用到另外一個(gè)數(shù)據(jù)源中,綜合利用多個(gè)數(shù)據(jù)源的知識(shí)解決數(shù)據(jù)稀疏問(wèn)題,從而來(lái)提高推薦算法的準(zhǔn)確率。特別是,一些用戶和物品在某些數(shù)據(jù)源中的評(píng)分?jǐn)?shù)目較少,而在另外一些數(shù)據(jù)源中的評(píng)分?jǐn)?shù)目較多,通過(guò)整合這些不同數(shù)據(jù)源的打分信息,建立一個(gè)多數(shù)據(jù)源融合的模型,使各個(gè)數(shù)據(jù)源的信息彼此補(bǔ)充,解決數(shù)據(jù)稀疏問(wèn)題。
本文基于推薦系統(tǒng)中廣泛使用的矩陣分解算法,通過(guò)對(duì)不同數(shù)據(jù)源中的用戶/物品的表示向量進(jìn)行約束,提出了一種基于軟約束的矩陣分解推薦算法。我們通過(guò)引入約束項(xiàng),來(lái)約束同一個(gè)用戶(或者物品)出現(xiàn)在不同數(shù)據(jù)源中的因子的相似性。在Netflix和MovieLens數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文提
出的軟約束矩陣分解算法在準(zhǔn)確率方面優(yōu)于現(xiàn)有的單數(shù)據(jù)源推薦算法和多源數(shù)據(jù)硬約束融合推薦算法,可以有效解決推薦系統(tǒng)面臨的數(shù)據(jù)稀疏問(wèn)題。
本文的組織結(jié)構(gòu)如下: 第二節(jié)介紹相關(guān)工作;第三節(jié)介紹基本的矩陣分解模型、SCMF模型及學(xué)習(xí)算法;第四節(jié)給出我們模型的推斷算法;實(shí)驗(yàn)結(jié)果與分析在第五節(jié)給出,最后一節(jié)總結(jié)我們的工作以及對(duì)未來(lái)的工作進(jìn)行展望。
協(xié)同過(guò)濾(collaborative filtering)算法是推薦系統(tǒng)中使用廣泛且有效的算法[1]。協(xié)同過(guò)濾算法主要可以分為兩種: 一種是基于鄰居(neighborhood-based)的算法,一種是基于模型(model-based)的算法?;卩従拥乃惴╗2]主要通過(guò)尋找相似的用戶或者物品來(lái)完成推薦?;谀P偷乃惴ㄍㄟ^(guò)利用用戶在物品上的歷史信息學(xué)習(xí)出一個(gè)模型,進(jìn)而利用模型來(lái)預(yù)測(cè)用戶未來(lái)可能會(huì)喜歡的物品。矩陣分解模型[4-5](matrix factorization)是近年來(lái)非常流行的一種基于模型的推薦算法。矩陣分解模型通過(guò)分解用戶和物品間的打分矩陣,利用得到的用戶隱因子矩陣和物品隱因子矩陣來(lái)預(yù)測(cè)缺失的分?jǐn)?shù)。矩陣分解模型假設(shè)一個(gè)用戶對(duì)一個(gè)物品的打分是由該用戶和物品的隱因子向量相互作用得到的,其中最常用的相互作用假設(shè)就是向量點(diǎn)積。Ruslan[6]對(duì)矩陣分解做了很好的概率化的解釋,進(jìn)一步提高了矩陣分解推薦算法的準(zhǔn)確率。
推薦系統(tǒng)面臨的一個(gè)挑戰(zhàn)是數(shù)據(jù)稀疏問(wèn)題[7]。用戶的打分集中在少數(shù)物品上,同時(shí)少數(shù)用戶給出了大部分的打分,形成長(zhǎng)尾效應(yīng)[8]。為了解決數(shù)據(jù)稀疏問(wèn)題,Ma[9]和Liu等人引入用戶之間的社交關(guān)系來(lái)指導(dǎo)模型的學(xué)習(xí)過(guò)程,Noam[10]等人考慮引入對(duì)象間的層次關(guān)系來(lái)對(duì)模型中的參數(shù)進(jìn)行控制。Chen[11]等人提出了SVDFeature 算法,一個(gè)基于特征的矩陣分解框架。該框架能夠融合各種類型的信息,例如時(shí)序信息、鄰居信息、物品結(jié)構(gòu)信息等。Yu[12]等人將多種類型的信息整合起來(lái),構(gòu)建成一個(gè)異質(zhì)信息網(wǎng)絡(luò)。通過(guò)使用元路徑的方式,構(gòu)建出多個(gè)偏好矩陣,分別應(yīng)用推薦算法,最后的推薦結(jié)果是在所有偏好矩陣的推薦結(jié)果上的一個(gè)整合。這些方式都是通過(guò)引入一些打分矩陣之外的信息,來(lái)緩解數(shù)據(jù)稀疏問(wèn)題。
然而,上述工作均在用戶和物品間的單個(gè)數(shù)據(jù)源上進(jìn)行,真實(shí)情況下用戶和物品之間可以形成多個(gè)打分矩陣,特別是當(dāng)數(shù)據(jù)來(lái)自多個(gè)數(shù)據(jù)源時(shí)。近年來(lái),在推薦算法方面,涌現(xiàn)出了大量的基于多源數(shù)據(jù)矩陣的研究工作[13-15]。Berk[16]等人提出了基于鄰居的多源的協(xié)同過(guò)濾算法,通過(guò)傳遞不同數(shù)據(jù)源中用戶和物品的相似性來(lái)緩解單個(gè)數(shù)據(jù)源中用戶或?qū)ο蟮拇蚍窒∈鑶?wèn)題。Pan[17]等人提出了一個(gè)CTS(coordinate system transfer) 模型,基于遷移學(xué)習(xí)的想法,通過(guò)在一個(gè)較為稠密的用戶物品評(píng)分矩陣投射到一個(gè)子空間坐標(biāo)系,然后將該坐標(biāo)系作為信息遷移到另一個(gè)稀疏矩陣中,從而緩解稀疏性問(wèn)題。Singh[18]等人提出了協(xié)同矩陣分解模型(CMF),CMF同時(shí)分解多個(gè)數(shù)據(jù)源的打分矩陣,當(dāng)同一個(gè)對(duì)象(用戶或物品)出現(xiàn)在多個(gè)數(shù)據(jù)源中時(shí),該對(duì)象在所有數(shù)據(jù)源中的隱因子向量都是一致的。CMF模型考慮到了相同對(duì)象在不同的數(shù)據(jù)源中的同質(zhì)性,而忽略了其異質(zhì)性。例如,受到用戶群體,網(wǎng)站廣告策略的影響,一部電影在兩個(gè)電影評(píng)分網(wǎng)站中的行為會(huì)存在著差異性;同樣,同一個(gè)用戶在不同的數(shù)據(jù)源中的行為也會(huì)有一些差異性,在一個(gè)網(wǎng)站中很活躍的用戶,在另一個(gè)網(wǎng)站中可能只是一個(gè)很少發(fā)布信息的觀看者。近年來(lái),一些多源數(shù)據(jù)融合的推薦算法提出,用于解決跨場(chǎng)景推薦的問(wèn)題[19-20]。
如之前所述,推薦系統(tǒng)旨在預(yù)測(cè)用戶對(duì)未知物品的偏好程度,可以形式化為矩陣填充問(wèn)題。用戶的歷史數(shù)據(jù)以一個(gè)M×N的偏好打分矩陣R來(lái)表示,其中M是用戶的個(gè)數(shù),N是物品的數(shù)量,用戶i對(duì)物品j的打分由Rij表示。在真實(shí)場(chǎng)景中,每個(gè)用戶往往只會(huì)對(duì)一部分的物品進(jìn)行評(píng)分,因此R通常是稀疏的。我們通過(guò)對(duì)打分矩陣R的部分觀測(cè),來(lái)推斷R的全部單元的值。
矩陣分解模型中,模型假設(shè)用戶對(duì)一個(gè)物品的打分是由用戶的因子向量和物品的因子向量共同作用得到。模型定義用戶的隱因子向量矩陣為U∈RK×M,其中第i列Ui表示用戶i在隱空間中的因子向量,K為用戶隱因子向量的維度。在物品端,模型定義V∈RK×N表示物品的隱因子矩陣。
(1)
其中N(x|μ,σ2)是以μ為均值、σ2為方差的高斯分布的概率密度函數(shù)。
矩陣分解的目標(biāo)是最大化觀察到打分矩陣的概率,既最大化如下的函數(shù)。
(4)
其中,Iij是一個(gè)指示函數(shù),當(dāng)用戶i對(duì)物品j有打分信息時(shí)Iij的值為1,反之為0。將目標(biāo)函數(shù)展開,優(yōu)化問(wèn)題可以轉(zhuǎn)化為如下對(duì)因子矩陣的推斷問(wèn)題[6]。
(5)
矩陣分解模型工作在單個(gè)數(shù)據(jù)源的場(chǎng)景中。如果某些用戶或物品同時(shí)出現(xiàn)在多個(gè)數(shù)據(jù)源中,這些重疊用戶或物品在各個(gè)數(shù)據(jù)源中的隱因子向量應(yīng)該具有一定的相關(guān)性。如何刻畫這種相關(guān)性就是多數(shù)據(jù)源推薦系統(tǒng)的出發(fā)點(diǎn)。通過(guò)整合多個(gè)數(shù)據(jù)源里的用戶和物品的信息,我們可以改進(jìn)對(duì)用戶因子和物品因子估計(jì)的準(zhǔn)確性。我們以物品重疊的多數(shù)據(jù)源為例展開本文接下來(lái)的討論,根據(jù)對(duì)稱性,這一討論可以應(yīng)用于用戶重疊的場(chǎng)景。例如,一個(gè)物品在某一數(shù)據(jù)源中的可用數(shù)據(jù)非常稀疏,難以準(zhǔn)確地估計(jì)它的隱因子向量,可以用它在另一數(shù)據(jù)源中的向量輔助估計(jì)。為了整合不同數(shù)據(jù)源中的數(shù)據(jù),協(xié)同矩陣分解模型(CMF)約束不同數(shù)據(jù)源中的同一物品的隱因子保持一致??紤]具有共同物品的兩個(gè)數(shù)據(jù)源,問(wèn)題可以形式化為:
(6)
其中,R(1)與R(2)分別表示兩個(gè)數(shù)據(jù)源中的打分矩陣,U(1)與U(2)分別表示兩個(gè)數(shù)據(jù)源中用戶的隱因子向量矩陣,M1和M2分別表示第一個(gè)和第二個(gè)數(shù)據(jù)源中用戶的數(shù)量,N表示物品的數(shù)量。CMF基于隱因子向量共享的機(jī)制,同時(shí)分解兩個(gè)打分矩陣。然而,這一機(jī)制僅僅考慮建模了同一對(duì)象在不同源中的相似性,沒(méi)有考慮到差異性。在實(shí)際中,用戶在不同系統(tǒng)中的表現(xiàn)可能會(huì)存在著差異性,例如一個(gè)用戶在社交網(wǎng)站上和音樂(lè)網(wǎng)站上可能表現(xiàn)出不同的興趣分布;同一個(gè)物品在不同的數(shù)據(jù)源中,受到環(huán)境的影響,可能呈現(xiàn)出不同的打分分布。
基于以上討論,本文中我們提出了一種基于軟約束的協(xié)作矩陣分解模型(soft-constraint matrix factorization model, SCMF)。我們?cè)谀P椭?,同時(shí)考慮到了出現(xiàn)在多個(gè)數(shù)據(jù)源中的同一個(gè)對(duì)象的隱因子向量的相似性和差異性。對(duì)于同一個(gè)對(duì)象,我們?cè)诿總€(gè)數(shù)據(jù)源中都為該對(duì)象定義一個(gè)局部的隱因子向量,用以建模其在不同數(shù)據(jù)源中的差異性;同時(shí),我們?cè)谡w的目標(biāo)函數(shù)中,添加一個(gè)相似函數(shù)作為約束,限制同一對(duì)象在多個(gè)數(shù)據(jù)源中的隱因子的相似性。
同樣以物品重疊的多數(shù)據(jù)源場(chǎng)景為例,我們的方法可以抽象為如下的目標(biāo)函數(shù)。
(7)
其中U(1)與U(2)分別表示兩個(gè)數(shù)據(jù)源中用戶的隱因子向量矩陣,V(1)與V(2)分別表示兩個(gè)數(shù)據(jù)源中物品的隱因子向量矩陣。目標(biāo)函數(shù)中的前兩項(xiàng)和傳統(tǒng)的矩陣分解算法一致,希望針對(duì)每個(gè)源數(shù)據(jù)的打分矩陣分解出來(lái)的因子矩陣能夠較好地?cái)M合真實(shí)的情況;同時(shí)我們引入相似函數(shù)約束項(xiàng),fsim(*,*)函數(shù),用來(lái)度量?jī)蓚€(gè)向量之間的相似程度,控制出現(xiàn)在多個(gè)數(shù)據(jù)源中的用戶或者物品的隱因子向量在不同的數(shù)據(jù)源中依然有一定的相似性。其中參數(shù)α控制對(duì)相似性的約束程度,其值越大對(duì)相似的約束越大。當(dāng)α取0時(shí),我們的方法與矩陣分解算法一致;當(dāng)α取+時(shí),相當(dāng)于約束所有用戶和物品在所有的數(shù)據(jù)源中的隱因子向量都一致,我們的模型與CMF模型一致。
fsim(*,*)函數(shù)是模型里非常重要的一部分。在本文中,我們考慮了兩種類似的相似函數(shù),第一種是線性的約束函數(shù),第二種是非線性的約束函數(shù)。
在線性約束函數(shù)的情形下,我們通過(guò)一個(gè)距離函數(shù)dist(*,*)來(lái)考慮隱因子向量之間的相似性。我們需要從兩個(gè)方面考慮距離函數(shù)的選擇。第一,距離函數(shù)需要較好地刻畫兩個(gè)隱因子向量之間的差異性;第二,距離函數(shù)的形式需要利于優(yōu)化求解?;谶@兩點(diǎn)考慮,我們選用了如下的負(fù)點(diǎn)積距離函數(shù)。
(8)
可以看到,我們選取點(diǎn)積的負(fù)值作為距離函數(shù)。兩個(gè)向量的點(diǎn)積可以當(dāng)做向量相似程度的一個(gè)度量,因此將點(diǎn)積取負(fù)值后滿足我們之前提出的一個(gè)條件;第二,點(diǎn)積的形式非常利于優(yōu)化。使用線性約束形式的SCMF模型被記為SCMF(Lin)。
隱因子模型的一個(gè)特點(diǎn)是,隱因子向量的每個(gè)維度代表的含義并不是傳統(tǒng)意義上的話題的含義。給定兩個(gè)打分矩陣,各自進(jìn)行矩陣分解之后,每個(gè)維度代表的含義可能是不一樣的。因此線性模型這種直接對(duì)比各個(gè)維度的方式可能會(huì)錯(cuò)誤地約束了隱因子向量。出于這一點(diǎn)考慮,我們另外采用了一種非線性的方式來(lái)約束隱因子向量。具體的我們采用多層感知機(jī)(multi-layer perceptron,MLP)的方式來(lái)約束不同空間里的隱因子向量。
采用多層感知機(jī)約束函數(shù)的SCMF模型記為SCMF(MLP),如圖2所示。
圖2 軟矩陣約束矩陣分解(MLP)示例圖
我們標(biāo)記多層感知機(jī)約束函數(shù)為fsim(*,*;φ)。其中φ是函數(shù)的參數(shù),為矩陣形式。約束函數(shù)的輸入為兩個(gè)向量,輸出為0到1之間的匹配分?jǐn)?shù)。對(duì)于兩個(gè)打分矩陣中屬于一個(gè)對(duì)象的隱因子向量,我們期望約束函數(shù)輸出一個(gè)較高的分?jǐn)?shù)。如圖3所示,我們考慮一個(gè)單一隱層的感知機(jī),輸入為兩個(gè)因子向量拼接起來(lái)的向量x,通過(guò)兩層的非線性變換,最終得到一個(gè)輸出的分?jǐn)?shù)z。我們選擇激活函數(shù)h(*)為Sigmoid函數(shù)h(*)=1/(1+e-*),模型的參數(shù)為φ=[W1,W2,b1,b2],因此對(duì)于SCMF(MLP)模型的參數(shù)分為兩部分,第一部分是用戶和物品的隱因子向量,第二部分是相似函數(shù)的參數(shù)。
圖3 MLP函數(shù)示意圖
此外,考慮到用戶和物品都可能出現(xiàn)在不同的源中,我們的模型可以推廣為以下形式,其中源數(shù)據(jù)矩陣的個(gè)數(shù)為L(zhǎng),用戶個(gè)數(shù)為M,物品的個(gè)數(shù)為N。
(9)
其中,γ為學(xué)習(xí)的步長(zhǎng)。
表1 SCMF學(xué)習(xí)算法
5.1 數(shù)據(jù)集 我們?cè)趦蓚€(gè)數(shù)據(jù)集上驗(yàn)證我們的模型。第一個(gè)數(shù)據(jù)集使用MovieLens和Netflix構(gòu)建的電影評(píng)分?jǐn)?shù)據(jù)集。我們整合了Netflix和Movielens兩個(gè)數(shù)據(jù)集,根據(jù)電影的標(biāo)題和年份信息我們能夠確定兩個(gè)數(shù)據(jù)集中的同一部電影,我們能夠構(gòu)建一個(gè)電影評(píng)分的多源打分矩陣。由于兩個(gè)數(shù)據(jù)集合中用戶數(shù)目的差異過(guò)大,我們從Netflix中采樣了七萬(wàn)多個(gè)用戶使得兩個(gè)數(shù)據(jù)集均衡。數(shù)據(jù)集的信息描述在表2中,該數(shù)據(jù)集命名為MovieHetero,這個(gè)數(shù)據(jù)集是在物品端的多場(chǎng)景數(shù)據(jù)集。
表2 電影評(píng)分?jǐn)?shù)據(jù)信息
同時(shí)我們考慮了一個(gè)用戶端的多場(chǎng)景數(shù)據(jù)集,我們從在線社交網(wǎng)絡(luò)豆瓣網(wǎng)上采集數(shù)據(jù)[22]。豆瓣網(wǎng)是中國(guó)的一個(gè)大型的在線社交興趣網(wǎng)絡(luò),用戶會(huì)在上面發(fā)布對(duì)電影、書籍、音樂(lè)的評(píng)分?jǐn)?shù)據(jù)。我們?cè)诓杉臄?shù)據(jù)中抽取了10 000個(gè)用戶,構(gòu)建了一個(gè)電影—書籍的用戶多場(chǎng)景網(wǎng)絡(luò),具體的統(tǒng)計(jì)信息見表3。
表3 Douban用戶多場(chǎng)景數(shù)據(jù)信息
5.2 實(shí)驗(yàn)設(shè)計(jì)描述
我們使用C語(yǔ)言實(shí)驗(yàn)我們的算法。我們的實(shí)驗(yàn)在一臺(tái)多核機(jī)器上的一個(gè)單核上運(yùn)行,機(jī)器的CPU為Intel(R) Xeon(R) E5620,2.40GHz,內(nèi)存為16GB。我們實(shí)驗(yàn)在運(yùn)行過(guò)程中會(huì)用到大約2GB的內(nèi)存。
我們采用RMSE(root mean square error)作為我們的評(píng)價(jià)指標(biāo),其定義如下:
(12)
在實(shí)驗(yàn)訓(xùn)練階段,模型在整個(gè)數(shù)據(jù)源上學(xué)習(xí)參數(shù),在評(píng)價(jià)階段在各自的源數(shù)據(jù)上的測(cè)試集合上輸出預(yù)測(cè)效果。我們選擇隱因子向量的維度為30。我們?cè)趯?shí)驗(yàn)中切分70%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)(training data),20%的數(shù)據(jù)作為驗(yàn)證數(shù)據(jù)(validation data),10%的數(shù)據(jù)作為測(cè)試數(shù)據(jù)(test data)。我們使用驗(yàn)證數(shù)據(jù)來(lái)確定正則約束系數(shù)、學(xué)習(xí)步長(zhǎng)、迭代次數(shù)和混合系數(shù),最終通過(guò)10次重復(fù)實(shí)驗(yàn)給出平均值。kNN算法中,我們選擇k=50。
5.3 實(shí)驗(yàn)結(jié)果及分析
5.3.1 整體性能 首先我們分析我們的算法相比其他算法在整體性能上的結(jié)果。表4和表5分別給出了我們?cè)趦蓚€(gè)數(shù)據(jù)集上的結(jié)果。在兩個(gè)不同的場(chǎng)景中,我們的算法相對(duì)于其他算法都一致的好。在MovieHetero的實(shí)驗(yàn)中,kNN算法的性能表現(xiàn)最差,這是因?yàn)閗NN算法基于啟發(fā)性的規(guī)則,因此其性能相比其他基于模型的算法要差。MF模型在所有基于模型的算法中表現(xiàn)最差,這是因?yàn)镸F算法是工作在單場(chǎng)景模式下的,并沒(méi)有整合利用其他場(chǎng)景中的信息。CMF算法相對(duì)MF算法能夠得到一定的改進(jìn),這說(shuō)明整合利用多個(gè)場(chǎng)景里的信息的確能夠帶來(lái)性能上的提升。CMF算法比我們提出的兩個(gè)模型的效果都要差,這是因?yàn)镃MF基于硬約束的方式,完全沒(méi)有考慮到不同場(chǎng)景的差異性。我們提出的兩個(gè)算法中,SCMF(MLP)要優(yōu)于SCMF(Lin),這也進(jìn)一步說(shuō)明了非線性約束相對(duì)于線性約束的必要性。
我們對(duì)結(jié)果做了顯著性檢驗(yàn),使用雙邊的t-test。結(jié)果說(shuō)明了我們算法SCMF(MLP)在顯著性水平為0.01的情況下,要顯著地優(yōu)于CMF算法。
在Douban數(shù)據(jù)集上的結(jié)果和MovieHetero數(shù)據(jù)集上的結(jié)果表現(xiàn)一致。這說(shuō)明了我們提出的算法在用戶多場(chǎng)景推薦和物品多場(chǎng)景推薦這兩類典型的多場(chǎng)景推薦情形下都具有適用性。
表4 MovieHetero實(shí)驗(yàn)結(jié)果
表5 Douban實(shí)驗(yàn)結(jié)果
5.3.2 不同稀疏性狀況下的表現(xiàn)
由于數(shù)據(jù)分布的不均衡問(wèn)題,只有很少打分的用戶和物品受到數(shù)據(jù)稀疏性的影響最大。在這一節(jié)我們分析SCMF模型在不同的稀疏程度上的性能。我們?cè)陔娪岸鄨?chǎng)景數(shù)據(jù)集中分析,具體地給定一個(gè)場(chǎng)景,我們將該場(chǎng)景中的電影按照稀疏程度分為三類: 打分?jǐn)?shù)在100以下的定義為“冷門”類(cold),打分?jǐn)?shù)在100到1 000之間的定義為“普通”類(normal),打分?jǐn)?shù)在1 000以上的定義為“熱門”類(warm)。在這種定義下,在一個(gè)場(chǎng)景中熱門的電影有可能在另一個(gè)場(chǎng)景中是普通的。整體上看,所有的電影落在了七個(gè)區(qū)域里。有兩個(gè)區(qū)域是空的,沒(méi)有電影在一個(gè)場(chǎng)景里面熱門而在另一個(gè)場(chǎng)景中冷門。圖4展示了通過(guò)利用Netflix數(shù)據(jù)集(輔助領(lǐng)域)的信息在MovieLens數(shù)據(jù)集(目標(biāo)領(lǐng)域)上的RMSE的預(yù)測(cè)結(jié)果,圖5展示了通過(guò)利用MovieLens數(shù)據(jù)集(輔助領(lǐng)域)的信息在Netflix數(shù)據(jù)集(目標(biāo)領(lǐng)域)上的RMSE的預(yù)測(cè)結(jié)果。
圖4 利用Netflix數(shù)據(jù)集的信息在MovieLens數(shù)據(jù)集上的RMSE的預(yù)測(cè)結(jié)果
在所有的情況下,kNN算法表現(xiàn)最差。在大部分情況下,標(biāo)準(zhǔn)的矩陣分解算法比所有的算法都表現(xiàn)得要差。相比于MF算法,CMF算法在目標(biāo)領(lǐng)域信息比較稀疏和普通的情況下表現(xiàn)得要好,而當(dāng)目標(biāo)領(lǐng)域中信息比較充分的時(shí)候性能會(huì)下降。這是因?yàn)楫?dāng)目標(biāo)領(lǐng)域的信息很充分的時(shí)候,CMF算法在整合外部信息的時(shí)候會(huì)損害目標(biāo)領(lǐng)域的預(yù)測(cè)性能。而我們的SCMF模型在所有稀疏程度的情況下都能夠取得比基準(zhǔn)算法更好的效果。從實(shí)驗(yàn)結(jié)果中可以看到,我們的模型同時(shí)刻畫了處于多個(gè)數(shù)據(jù)源中的相同對(duì)象的相似性(相對(duì)于CMF模型),又較好地抓住了相同的對(duì)象處于多個(gè)數(shù)據(jù)源里的差異性(相對(duì)于MF模型)。
本文中提出了一個(gè)融合多源數(shù)據(jù)的推薦算法,在矩陣分解模型的基礎(chǔ)上,目標(biāo)函數(shù)中加入了約束條件,使得出現(xiàn)在多個(gè)源數(shù)據(jù)中的用戶和物品的隱因子向量具有一定的相似性。通過(guò)在數(shù)據(jù)集上的實(shí)驗(yàn)發(fā)現(xiàn),我們的算法在推薦精度上要優(yōu)于傳統(tǒng)的算法,尤其是在稀疏性物品上的推薦更是有非常大的改進(jìn)。
然而,我們的工作中還存在一些需要改進(jìn)的地方。一個(gè)是控制相似程度的參數(shù)的選取,通過(guò)調(diào)參選擇結(jié)果最優(yōu)的方式較為費(fèi)時(shí),可以考慮將模型概率化,從貝葉斯模型的角度使得能夠不用調(diào)節(jié)參數(shù)而在學(xué)習(xí)的過(guò)程中自適應(yīng)地找到最好的參數(shù)。另外,我們的模型中通過(guò)目標(biāo)函數(shù)的約束項(xiàng)來(lái)保證用戶和物品在不同數(shù)據(jù)源中的同質(zhì)性,而直接分別建模用戶和物品的同質(zhì)性因子和異質(zhì)性因子似乎更加地直接。在未來(lái)的工作中,我們會(huì)嘗試解決這些問(wèn)題。
[1] Adomavicius Gediminas, Alexander Tuzhilin. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[J]. Knowledge and Data Engineering, IEEE Transactions, 2005, 17(6): 734-749.
[2] Sarwar Badrul, et al. Item-based collaborative filtering recommendation algorithms[C]//Proceedings of the 10th International Conference on World Wide Web. ACM, 2001.
[3] Desrosiers, Christian, George Karypis. A comprehensive survey of neighborhood-based recommendation methods[M]. Recommender systems handbook. Springer US, 2011: 107-144.
[4] Koren Yehuda. Factorization meets the neighborhood: a multifaceted collaborative filtering model[C]//Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2008.
[5] Koren Yehuda, Robert Bell, Chris Volinsky. Matrix factorization techniques for recommender systems[J]. Computer,2008, 42(8): 30-37.
[6] Salakhutdinov Ruslan, Andriy Mnih. Probabilistic matrix factorization[J].Advances in Neural Information Processing Systems, 2008(20): 1257-1264.
[7] Herlocker Jonathan L, et al. Evaluating collaborative filtering recommender systems[J]. ACM Transactions on Information Systems (TOIS) 2004,22(1): 5-53.
[8] Park Yoon-Joo, Alexander Tuzhilin. The long tail of recommender systems and how to leverage it[C]//Proceedings of the 2008 ACM Conference on Recommender Systems. ACM, 2008.
[9] Ma Hao, Irwin King, Michael R, Liu. Learning to recommend with social trust ensemble[C]//Proceedings of the 32nd International ACM SIGIR Conference on Research and Development in Information RetrievAL. ACM, 2009.
[10] Koenigstein Noam, Gideon Dror, Yehuda Koren. Yahoo! music recommendations: modeling music ratings with temporal dynamics and item taxonomy[C]//Proceedings of the 5th ACM Conference on Recommender Systems. ACM, 2011.
[11] Chen, Tianqi, et al. SVDFeature: a toolkit for feature-based collaborative filtering[J]. The Journal of Machine Learning Research, 2012, 13(1): 3619-3622.
[12] Yu, Xiao, et al. Personalized entity recommendation: a heterogeneous information network approach[C]//Proceedings of the 7th ACM International Conference on Web Search and Data Mining. ACM, 2014.
[13] Jamali, Mohsen, Laks Lakshmanan. HeteroMF: recommendation in heterogeneous information networks using context dependent factor models[C]//Proceedings of the 22nd International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2013.
[14] Li C Y, Lin S D. Matching users and items across domains to improve the recommendation quality[C]//Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2014: 801-810.
[15] Ozsoy, Makbule Gulcin, Faruk Polat, Reda Alhajj. Modeling individuals and making recommendations using multiple social networks[C]//Proceedings of the 2015 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining 2015. ACM, 2015.
[16] Berk Shlomo, Tsvi Kuflik, Francesco Ricci. Cross-domain mediation in collaborative filtering[M]. User Modeling 2007. Springer Berlin Heidelberg, 2007: 355-359.
[17] Pan Weike, et al. Transfer learning in collaborative filtering for sparsity reduction[C]//Proceedings of the 24rd AAAI Conference on Artificial Intelligence, 2010.
[18] Singh Ajit P, Geoffrey J Gordon. Relational learning via collective matrix factorization[C]//Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2008.
[19] Tong Man, Huawei Shen, Junming Huang, Xueqi Cheng. Context-adaptive matrix factorization for multi-context recommendation[C]//Proceedings of the 24th ACM International Conference on Information and Knowledge Management (CIKM 2015), Melbourne, Australia. October 2015: 901-910.
[20] Tong Man, Huawei Shen, Xiaolong Jin, Xueqi Cheng. Cross-domain recommendation: an embedding and mapping approach[C]//Proceedings of the 26th International Joint Conference on Artificial Intelligence (IJCAI 2017), Melbourne, Australia. August 2017: 2464-2470.
[21] Werbos, Paul J. Backpropagation through time: what it does and how to do it[C]//Proceedings of the IEEE, 1990, 78(10): 1550-1560.
[22] Huang, Junming, et al. Exploring social influence via posterior effect of word-of-mouth recommendations[C]//Proceedings of the 5th ACM International Conference on Web Search and Data Mining. ACM, 2012.
[23] Hu, Liang, et al. Personalized recommendation via cross-domain triadic factorization[C]//Proceedings of the 22nd International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2013.
[24] Rendle, Steffen, et al.BPR: bayesian personalized ranking from implicitfeedback[C]//Proceedings of the 25th Conference on Uncertainty in Artificial intelligence. AUAI Press, 2009.
[25] Rumelhart David E, Geoffrey E Hinton, Ronald J Williams. Learning representations by back-propagating errors[J]. Cognitive modeling, 1988,5(3): 533-536.
滿彤(1989—),博士,主要研究領(lǐng)域?yàn)橥扑]系統(tǒng),數(shù)據(jù)挖掘。
E-mail: supermt@gmail.com
沈華偉(1982—),通信作者,博士,副研究員,主要研究領(lǐng)域?yàn)榫W(wǎng)絡(luò)科學(xué)、社會(huì)網(wǎng)絡(luò)分析、數(shù)據(jù)挖掘。
E-mail: shenhuawei@ict.ac.cn
黃俊銘(1984—),博士,主要研究領(lǐng)域?yàn)樾畔鞑?,社交網(wǎng)絡(luò)分析。
E-mail: mail@junminghuang.com
SCMF: A Matrix Factorization Model With Soft Constraint for Multi-Source Recommendation
MAN Tong, SHEN Huawei, HUANG Junming, CHENG Xueqi
(CAS Key Laboratory of Network Data Science and Technology, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China)
1003-0077(2017)04-0174-10
TP391
A
2016-05-05 定稿日期: 2016-06-02
國(guó)家自然科學(xué)基金(61202215,61232010,61425016);信息網(wǎng)絡(luò)安全公安部重點(diǎn)實(shí)驗(yàn)室開放課題