陶名康 王新利 宋燕
摘要:基于非負(fù)矩陣分解的協(xié)同過濾模型在高維稀疏數(shù)據(jù)的預(yù)測(cè)和填補(bǔ)上十分有效,該模型具有推薦個(gè)性化、有效利用其他相似用戶回饋信息的優(yōu)點(diǎn),但也存在預(yù)測(cè)精度較低等不足。針對(duì)用戶或項(xiàng)目在不同情景下的評(píng)分差異性,提出了一種改進(jìn)的基于潛在因子多樣性的非負(fù)矩陣分解的協(xié)同過濾模型。該模型充分考慮在不同情境下,用戶和項(xiàng)目潛在特征矩陣的多樣性,在模型的訓(xùn)練中,采用了單元素非負(fù)乘法更新規(guī)則和交替方向法,保證了目標(biāo)矩陣的非負(fù)性,且提高了模型的收斂率。在真實(shí)的工業(yè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,相比于經(jīng)典的非負(fù)矩陣分解模型,該模型的預(yù)測(cè)精度有了明顯提高。
關(guān)鍵詞:協(xié)同過濾;特征矩陣多樣性;非負(fù)矩陣分解;非負(fù)乘法更新;交替方向法
中圖分類號(hào):TP 391
文獻(xiàn)標(biāo)志碼:A
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,很多領(lǐng)域都產(chǎn)生了海量數(shù)據(jù),在對(duì)這些大數(shù)據(jù)進(jìn)行分析與挖掘的過程中,推薦系統(tǒng)是一種廣泛采用的技術(shù)。推薦系統(tǒng)是一個(gè)學(xué)習(xí)系統(tǒng),包括用戶、項(xiàng)目和用戶對(duì)項(xiàng)目的評(píng)分3種基本成分。它通過對(duì)已有評(píng)分?jǐn)?shù)據(jù)的學(xué)習(xí),獲得用戶的行為偏好,建立用戶和項(xiàng)目之間的關(guān)系,為用戶提供個(gè)性化的推薦,使得用戶更快速簡(jiǎn)便地找到自己所需要的信息,從而促進(jìn)點(diǎn)擊和購買行為的發(fā)生[1-2]。協(xié)同過濾推薦[3]是推薦系統(tǒng)中應(yīng)用最廣泛的推薦算法之一,一般分為3種類型:基于用戶( user-based)的協(xié)同過濾、基于項(xiàng)目( item-based)的協(xié)同過濾、基于模型( model-based)的協(xié)同過濾?;谟脩舻膮f(xié)同過濾[4]通過計(jì)算用戶和用戶之間的相似度,找出相似用戶偏好的項(xiàng)目,并預(yù)測(cè)目標(biāo)用戶對(duì)相應(yīng)項(xiàng)目的評(píng)分,把評(píng)分最高的若干個(gè)項(xiàng)目推薦給用戶。而基于項(xiàng)目的協(xié)同過濾[5]則是通過考慮項(xiàng)目和項(xiàng)目之間的相似度,然后根據(jù)預(yù)測(cè)評(píng)分進(jìn)行推薦?;谀P偷膮f(xié)同過濾[6]是一種使用更普遍的推薦算法,它基于樣本的用戶喜好信息,訓(xùn)練一個(gè)推薦模型,然后根據(jù)實(shí)時(shí)的用戶信息進(jìn)行預(yù)測(cè)推薦,使用的主要方法有聚類[7]、分類[8]、回歸[9]、矩陣分解[10]、神經(jīng)網(wǎng)絡(luò)[11]等。
在推薦系統(tǒng)中,一般情況下用戶無法對(duì)每一個(gè)項(xiàng)目評(píng)分,而每一個(gè)項(xiàng)目也不能被所有的用戶點(diǎn)擊,只有部分用戶和部分?jǐn)?shù)據(jù)之間有評(píng)分?jǐn)?shù)據(jù),其他部分評(píng)分空白。因此,由用戶對(duì)項(xiàng)目的評(píng)分構(gòu)成的評(píng)分矩陣一般是一個(gè)高維稀疏矩陣。由于基于矩陣分解的協(xié)同過濾在處理此類矩陣的預(yù)測(cè)和填補(bǔ)方面具有較高的準(zhǔn)確性和可擴(kuò)展性[10],它是目前基于模型的協(xié)同過濾廣泛采用的一種方法。矩陣分解,直觀上來說就是把原來的大矩陣,近似分解成兩個(gè)包含潛在變量的小矩陣,其中一個(gè)代表用戶的潛在特征,另一個(gè)代表項(xiàng)目的潛在特征。矩陣的元素表示用戶或項(xiàng)目對(duì)各潛在因子的符合程度,這兩個(gè)小矩陣被稱為潛在因子特征矩陣。另一方面,為了使學(xué)習(xí)到的特征矩陣更準(zhǔn)確地代表實(shí)際意義,并使獲得的模型更具有可解釋性,通常需要對(duì)特征矩陣進(jìn)行非負(fù)性約束。在模型的學(xué)習(xí)中,單元素非負(fù)乘法更新規(guī)則[12]( SIF-NMU)和交替方向法[13](ADM)是目前最常用的訓(xùn)練原則,它可以避免調(diào)節(jié)學(xué)習(xí)率,同時(shí)還保證了潛在因子的非負(fù)性。
傳統(tǒng)的基于矩陣分解的協(xié)同過濾模型通過把高維矩陣映射為兩個(gè)低維潛在因子矩陣,使得模型具有較高的預(yù)測(cè)精度。但是,影響評(píng)分?jǐn)?shù)據(jù)的很大一部分因素和用戶對(duì)物品的喜好無關(guān),而只取決于用戶或物品本身的特性。例如,對(duì)于樂觀的用戶來說,它的評(píng)分等級(jí)普遍偏高,而對(duì)批判性用戶來說,他的評(píng)分等級(jí)普遍偏低。通常改進(jìn)的基于矩陣分解的協(xié)同過濾,通過在模型中加入偏置項(xiàng)[14-15]來體現(xiàn)這些獨(dú)立于用戶或物品的因素,使預(yù)測(cè)精度較傳統(tǒng)的矩陣分解有很大提升。然而這些模型并沒有考慮同一個(gè)用戶或項(xiàng)目在不同情景下的評(píng)分差異性,不能充分體現(xiàn)用戶和項(xiàng)目的潛在因子矩陣客觀上具有多樣性的特點(diǎn)。通常用戶或項(xiàng)目所在的場(chǎng)景不同或用戶的情緒變化都會(huì)影響潛在因子特征矩陣的狀態(tài)。例如,某用戶在某天心情較好時(shí)可能會(huì)給某部電影的打分偏高,反之心情不好的時(shí)候可能打分偏低;同一部電影在南方上映的評(píng)分可能會(huì)比較高,而在北方上映的評(píng)分會(huì)相對(duì)偏低。這些影響用戶和項(xiàng)目評(píng)分的信息隱藏在評(píng)分矩陣中,忽略這些重要的隱藏信息會(huì)造成模型的預(yù)測(cè)精度下降。
為了解決這一問題,本文考慮了用戶和項(xiàng)目的潛在因子矩陣多樣性這一重要的隱含特征,提出了一種基于潛在因子多樣性的非負(fù)矩陣分解的協(xié)同過濾模型( non-negative matrix-factorization-diversity-based, NMFD),刻畫了用戶和項(xiàng)目的情景差異性,并且在訓(xùn)練模型參數(shù)時(shí)集成了單元素非負(fù)乘法更新規(guī)則和交替方向法訓(xùn)練原則,保證了矩陣元素的非負(fù)性,使得模型具有更強(qiáng)的解釋性。同已有的模型相比較,該模型在減少計(jì)算和存儲(chǔ)成本的同時(shí),推薦的精度也有明顯提升。
1 模型與學(xué)習(xí)方法
1.1 非負(fù)矩陣分解模型(NMF)
協(xié)同過濾的推薦算法通常將用戶關(guān)于項(xiàng)目的評(píng)分矩陣作為基本的數(shù)據(jù)輸入源。用M表示用戶組成的集合,Ⅳ代表項(xiàng)目組成的集合,用戶對(duì)項(xiàng)目的評(píng)分構(gòu)成的評(píng)分矩陣,記為RIMlxINI。其中:H表示集合中所有元素的個(gè)數(shù);RIMlxINI中的元素記為rm它表示第m個(gè)用戶對(duì)第n個(gè)項(xiàng)目的評(píng)分(偏好)。通常,某一個(gè)用戶不能點(diǎn)擊所有的項(xiàng)目,某個(gè)項(xiàng)目也不能被所有的用戶點(diǎn)擊,所以,評(píng)分矩陣RIMlxIN嗵常是高維稀疏(HiDS)的。
在經(jīng)典的基于矩陣分解的協(xié)同過濾模型中[10],給定的評(píng)分矩陣R被分解為兩個(gè)秩為s的矩陣pIMlxs,QINlxs。一般情況下,令s《min {IMI,INI),則R ≈ pQT。這里的P和Q被稱為用戶和項(xiàng)目的潛在因子矩陣,代表用戶和項(xiàng)目隱藏在評(píng)分?jǐn)?shù)據(jù)中的特征。基于潛在因子矩陣分解協(xié)同過濾模型的基本方法是尋找最優(yōu)的P和Q,使得R中有評(píng)分的位置(實(shí)際值)與pQT得到的相應(yīng)評(píng)分位置(預(yù)測(cè)值)之間的誤差最小,目標(biāo)函數(shù)為式中:Loss表示損失函數(shù);||.||表示矩陣的F范數(shù)。
由于現(xiàn)實(shí)世界的評(píng)分不會(huì)出現(xiàn)負(fù)值,在式(l)中加入非負(fù)性約束,可以使所涉及的參數(shù)P和Q在訓(xùn)練過程中保證非負(fù)性。在形式上可以得到
為了防止模型在訓(xùn)練過程中發(fā)生過擬合,在目標(biāo)函數(shù)中加入Tikhonov正則化,可以提高模型的性能[16],結(jié)合式(2)可以得到最終優(yōu)化的目標(biāo)函數(shù)為
1.3 NMFD模型的求解
首先使用加性梯度下降法(AGD),對(duì)式(5)各個(gè)變量進(jìn)行更新。
值得注意的是,如果A,B,C,D的初始值是非負(fù)的,那么經(jīng)過SLF-NMU更新之后它們的值也為非負(fù)。
由于P和Q都進(jìn)行了分解,則模型的解空間擴(kuò)大,最優(yōu)解容易陷入鞍點(diǎn)或者局部最優(yōu),從而導(dǎo)致模型收斂的速度變得緩慢。根據(jù)文獻(xiàn)[13],將交替方向法加入訓(xùn)練過程中可以提高模型的收斂率。訓(xùn)練規(guī)則為,首先將原始問題分解成幾個(gè)子問題,然后按順序解決每一個(gè)子問題。其中,每一個(gè)子問題的解依賴于上一個(gè)子問題的解,即
2 算法設(shè)計(jì)與分析
基于以上討論,本文設(shè)計(jì)了NMFD算法,如算法1所示。值得注意的是,算法1依賴4個(gè)過程,分別為Update_A,Update_B,Update_C,Update_D。由于訓(xùn)練過程非常相似,本文只給出了Update_A的訓(xùn)練細(xì)節(jié),如算法2所示。從算法1可知,基于ADM訓(xùn)練規(guī)則,A,B,C,D按順序進(jìn)行了更新,后一次的更新依賴于前一次的結(jié)果。
算法1 NMFD模型
設(shè)置潛在因子維數(shù)s,最大迭代次數(shù)T,收斂閾值δ,n=1。具體計(jì)算步驟如下:
Step 1輸入原始評(píng)分矩陣R以及已知的元素
接下來考慮NMFD算法的復(fù)雜度,可以知道,在高維稀疏矩陣中,通常有IAI》max {IMI,INI)。因此,通過忽略低階項(xiàng)和常數(shù)可以得到Update_A的計(jì)算復(fù)雜度為
而NMFD算法依賴4個(gè)過程,所以最終得到NMFD的計(jì)算復(fù)雜度為
由于n和s都是正常數(shù),因此在高維稀疏矩陣中,NMFD模型算法的復(fù)雜度與觀察到的元素個(gè)數(shù)呈線性關(guān)系,所以在現(xiàn)實(shí)中容易實(shí)施。
3 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析
3.1 評(píng)估指標(biāo)及對(duì)比模型
由于本文關(guān)注的是模型預(yù)測(cè)生成數(shù)據(jù)的準(zhǔn)確性,故采用平均絕對(duì)誤差( MAE)和均方根誤差( RMSE)來作為評(píng)價(jià)指標(biāo)。具體表達(dá)式如下:式中,P表示驗(yàn)證集,并且YciA=o。
從以上兩個(gè)評(píng)價(jià)標(biāo)準(zhǔn)表達(dá)式可以得知,MAE和RMSE數(shù)值越小代表模型的預(yù)測(cè)精度越高。
實(shí)驗(yàn)對(duì)比模型為:Ml(帶有正則化的NMFD)和M2(不帶正則化的NMFD)分別表示本文提出的帶有正則化項(xiàng)和不帶正則化項(xiàng)的NMFD模型,M3(帶有正則化的DF NMF)和M4(不帶正則化的DF NMF)分別表示基于二分解(DF)的帶正則化和不帶正則化的NMF模型[10]。
3.2 實(shí)驗(yàn)數(shù)據(jù)集
為了驗(yàn)證本文模型的有效性,針對(duì)以下4個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn):
a.DI(MovieLens)。該數(shù)據(jù)集是電影MovieLens采用的0.5~5的評(píng)分等級(jí),包含610個(gè)用戶對(duì)9724部電影的評(píng)價(jià),創(chuàng)建時(shí)間從1995年1月至2015年3月,其密度為1.70%[17]。
b.D2(Filmtrust)。這是2011年從FilmTrust網(wǎng)站獲取的不完整數(shù)據(jù)集,其中包含1 508名用戶和2071部電影,評(píng)分等級(jí)為0.5~4,評(píng)分矩陣密度為1.14%[18]。
c.D3( Learning-from-sets-2019);該數(shù)據(jù)集是2016年2月至4月從MovieLens網(wǎng)站收集得到的,包含854個(gè)用戶對(duì)6473部電影的評(píng)分,評(píng)分等級(jí)為0.5~5,其評(píng)分矩陣密度為0.53%[19]。
d.D4( Eachmovie)。該數(shù)據(jù)集是1997年DECSystems Research Center運(yùn)行EachMovie推薦系統(tǒng)18個(gè)月,在此期間記錄的72916個(gè)用戶對(duì)1 628部電影的評(píng)分,評(píng)分等級(jí)為1~6。它的評(píng)分矩陣密度為9.89%c20]。
為了易于比較,在實(shí)驗(yàn)之前本文將數(shù)據(jù)集Dl-D4映射到[0,5]。為了消除偏差和主觀因素,本文采用20%~80%的測(cè)試集一訓(xùn)練集劃分,并使用5折交叉驗(yàn)證。為了說明NMFD模型的有效性,訓(xùn)練過程重復(fù)50次。
3.3對(duì)比分析
由于正則化系數(shù)對(duì)于模型性能影響較大[21],所以在對(duì)比實(shí)驗(yàn)進(jìn)行之前,需要對(duì)上述模型中的參數(shù)利用交叉驗(yàn)證方法進(jìn)行敏感度實(shí)驗(yàn)。在實(shí)驗(yàn)時(shí)發(fā)現(xiàn)λ1,λ2取不同值時(shí),實(shí)驗(yàn)的精度影響不明顯。所以為了簡(jiǎn)化實(shí)驗(yàn),在Ml和M3中令A(yù)i=λ2=λ,即僅對(duì)單一的參數(shù)進(jìn)行訓(xùn)練。
表1給出了模型Ml,M3在Dl-D4上λ的最優(yōu)值。表2和圖1給出了Ml-M4在Dl-D4上訓(xùn)練的RMSE結(jié)果和收斂曲線。表3和圖2給出了Ml-M4在Dl-D4上訓(xùn)練的MAE結(jié)果和收斂曲線。從表2和圖1可得如下結(jié)論:
a.Ml在Dl-D4上整體表現(xiàn)較好,但是在不同的數(shù)據(jù)集之間存在著差異,Ml在Dl-D4上最終收斂的RMSE分別為0.2680,0.3561,0.0717,0.9141。整體而言,Ml在Dl-D4上的表現(xiàn)最好,這是因?yàn)镸l中擁有更多的自由變量,使得模型最終的解空間擴(kuò)大,從而導(dǎo)致精度提升。
b.在加入Tikhonov正則化項(xiàng)之后,模型對(duì)未知數(shù)據(jù)的預(yù)測(cè)精度比不帶正則化的模型有明顯的提升。比如:在Dl上.Ml最終收斂的RMSE為0.2680,而M2最終收斂的RMSE為0.3405;在D2上,Ml最終收斂的RMSE為0.3561,而M2在Dl上最終收斂的RMSE為0.4170;在D3上,Ml最終收斂的RMSE為0.0717,而M2最終收斂的RMSE為0.1719;在D4上,Ml最終收斂的RMSE為0.914 1,而M2最終收斂的RMSE為0.9410。相同的結(jié)論可以從圖2和表3可以得到。
由于潛在因子維數(shù)s對(duì)算法的存儲(chǔ)和計(jì)算效率具有比較大的影響,所以接下來將s從5增加到100來訓(xùn)練模型,訓(xùn)練過程中的收斂曲線由圖3給出。從圖3易看出,Ml的RMSE在4個(gè)數(shù)據(jù)集中都是最小的。但是由前面算法復(fù)雜度式( 10)可知,s越大,算法的復(fù)雜度就越高,訓(xùn)練時(shí)間隨之變長,并且隨著s的增加,模型的精度不再有所提升,如圖3(c)所示。所以本文選取s=20來平衡預(yù)測(cè)精度和計(jì)算效率。
表4記錄了模型Ml-M4在數(shù)據(jù)集Dl-D4上關(guān)于RMSE的收斂時(shí)間。從表2、表3和表4可以看出,Ml和M2雖然增加了一定的計(jì)算負(fù)擔(dān),但是預(yù)測(cè)精度相比M3和M4有了大幅提高,更加適合在線實(shí)時(shí)進(jìn)行和對(duì)計(jì)算精度要求比較高的實(shí)驗(yàn)。
4 結(jié)論
本文從矩陣的二分解出發(fā),通過考慮用戶和項(xiàng)目潛在因子矩陣的多樣性,提出了NMFD模型。針對(duì)現(xiàn)實(shí)工業(yè)界評(píng)分?jǐn)?shù)據(jù)的非負(fù)性特點(diǎn),引入了AGD和SLF-NMU算法來保證訓(xùn)練過程中用戶和項(xiàng)目潛在因子的非負(fù)性。由于訓(xùn)練的參數(shù)較多,為了防止模型在迭代過程中陷入局部最優(yōu),又將ADM原則加入到算法中,提高了模型的收斂性。最后在4個(gè)真實(shí)的數(shù)據(jù)集上做了對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文提出的帶有Tikhonov正則化項(xiàng)的NMFD在適當(dāng)犧牲一些時(shí)間的情況下,預(yù)測(cè)缺失數(shù)據(jù)精度比經(jīng)典的矩陣二分解模型有顯著提升。未來可以將NMFD模型與帶偏置的NMF結(jié)合,對(duì)該模型進(jìn)行進(jìn)一步的拓展研究。
參考文獻(xiàn):
[1]姚靜天,王永利,侍秋艷,等,基于聯(lián)合物品搭配度的推薦算法框架[J]上海理工大學(xué)學(xué)報(bào),2017,39(1): 45-53.
[2]王國霞,劉賀平.個(gè)性化推薦系統(tǒng)綜述[J]計(jì)算機(jī)]工程與應(yīng)用,2012,48(7): 66-76.
[3]姚曜,趙洪利,楊海濤,等.協(xié)同過濾技術(shù)研究綜述[J].裝備指揮技術(shù)學(xué)院學(xué)報(bào),2011,22(5): 81-88.
[4]王成,朱志剛,張玉俠,等,基于用戶的協(xié)同過濾算法的推薦效率和個(gè)性化改進(jìn)[J].小型微型計(jì)算機(jī)系統(tǒng),2016,37(3): 428-432.
[5]傅鶴崗,王竹偉.對(duì)基于項(xiàng)目的協(xié)同過濾推薦系統(tǒng)的改進(jìn)[J]重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2010,24(9): 69-74.
[6]王碩,基于模型的協(xié)同過濾推薦算法研究[D].北京:北京郵電大學(xué),2019.
[7]盧志茂,馮進(jìn)玫,范冬梅,等,面向大數(shù)據(jù)處理的劃分聚類新方法[J].系統(tǒng)工程與電子技術(shù),2014, 36(5):1010-1015.
[8]鄒斌,董雪梅,付麗華,等,基于算法穩(wěn)定的分類機(jī)器學(xué)習(xí)泛化能力的研究[J]模式識(shí)別與人工智能,2004,17(4): 430-433.
[9]李振波,楊晉琪,岳峻,基于協(xié)同回歸模型的矩陣分解推薦[J]圖學(xué)學(xué)報(bào),2019, 40(6): 983-990.
[10]王鵬,基于矩陣分解的推薦系統(tǒng)算法研究[D].北京:北京交通大學(xué)、2015.
[11] YI B L SHEN X X,LIU H,et al.Deep matrixfactorization with implicit feedback embedding forrecommendation system[J]. IEEE Transactions onIndustrial Informatics. 2019, 15(8): 4591-4601.
[12] LUO X,ZHOU M C,XIA Y N,et al.An efficient non-negative
matrix-factorization-based
approach
tocollaborative filtering for recommender systems[J]. IEEETransactions on Industrial Informatics, 2014, 10(2):1273-1284.
[13] LUO X,ZHOU M C,LI S,et al.A nonnegative latentfactor model for large-scale sparse matrices inrecommender systems via altemating direction method[J].IEEE Transactions on Neural Networks and LearningSystems, 2016, 27(3): 579-592.
[14]王建芳,劉冉東,劉永利,一種帶偏置的非負(fù)矩陣分解推薦算法[J]小型微型計(jì)算機(jī)系統(tǒng),2018, 39(1): 69-73.
[15]畢華玲,周微、盧福強(qiáng),引入偏置的矩陣分解推薦算法研究[J]計(jì)算機(jī)應(yīng)用研究,2018, 35(10): 2928-2931.
[16]張航,葉東毅,一種基于多正則化參數(shù)的矩陣分解推薦算法[J].計(jì)算機(jī)工程與應(yīng)用,2017, 53(3): 74-79.
[17] HARPER F M, KONSTAN J A The MovieLens datasets:history and context[J]. ACM Transactions on InteractiveIntelligent Systems, 2016, 5(4): 1068-1074.
[18] GUO G B,ZHANG J,YORKE-SMITH N.A novelbayesian
similarity
measurefor
recommendersystems[C]//Proceedings of the Twenty-Third InternationalJoint Conference on Artificial Intelligence. Beijing: AAAIPress. 2013: 2619-2625.
[19] SHARMA M, HARPER F M, KARYPIS G.Learning fromsets of items in recommender systems[J]. ACMTransactions on Interactive Intelligent Systems, 2019, 9(4):1-26.
[20] MCJONES P. EachMovie collaborative filtering dataset[J]. Dec Systems Research Center. 1997, 24(9): 57-68.
[21] LUO X,ZHOU M C,XIAO Y N,et al.Generating highlyaccurate predictions for missing QoS data via aggregatingnonnegative latent factor models[J]. IEEE Transactions onNeural Networks and Learning Systems, 2016, 27(3):524-537,
(編輯:丁紅藝)