ciaodvd数据集的简单介绍_基于注意力机制的规范化矩阵分解推荐算法
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展以及智能手機的普及, 信息超載問題也亟待解決.推薦系統(tǒng)[作為解決信息超載問題的有效工具, 已被成功應(yīng)用于各個領(lǐng)域, 包括電子商務(wù)、電影、音樂和基于位置的服務(wù)等[.推薦系統(tǒng)通過分析用戶與系統(tǒng)交互的歷史數(shù)據(jù)來獲取用戶偏好, 使不同的用戶進入系統(tǒng)時能夠得到個性化推薦結(jié)果.由于推薦系統(tǒng)需要依賴于用戶的歷史數(shù)據(jù), 所以一般是作為一個應(yīng)用存在于不同的網(wǎng)站中[.為方便系統(tǒng)獲取用戶偏好, 大多數(shù)網(wǎng)站都允許用戶對自己購買或體驗過的項目(商品、電影、音樂等)評分, 推薦系統(tǒng)則可以根據(jù)用戶-項目評分矩陣(如u代表用戶, i代表項目)分析用戶的偏好, 并為其推薦可能感興趣的項目.
圖 1
Fig. 1
Fig. 1 Architecture of our proposed attentive matrix factorization with regulation
圖 1 基于注意力機制的規(guī)范化矩陣分解模型框架
近年來, 推薦系統(tǒng)的實用價值使其在工業(yè)界和學(xué)術(shù)界都得到了廣泛的研究.在眾多推薦方法中, 協(xié)同過濾算法[應(yīng)用最為普遍, 其主要思想是:基于評分矩陣中的已有項來預(yù)測未知項, 繼而為用戶推薦預(yù)測分值較高的項目.協(xié)同過濾算法可以分為基于記憶(memory-based)的[和基于模型的(model-based)[兩類算法, 其中, memory-based算法又包括基于用戶的(user-based)[和基于項目(item-based)的[.雖然協(xié)同過濾算法已經(jīng)取得了巨大成功, 但是依舊存在數(shù)據(jù)稀疏和冷啟動問題:數(shù)據(jù)稀疏指由于用戶只能體驗系統(tǒng)中極小一部分項目, 所以評分矩陣中存在很多未知項; 冷啟動問題則指對于評分記錄很少甚至沒有的用戶, 系統(tǒng)很難獲取其偏好并作出推薦.
Memory-based算法的核心在于尋找與目標(biāo)用戶(待推薦用戶)或目標(biāo)項目(待評分項目)有較高相似度的最近鄰.現(xiàn)有memory-based算法中, 用戶(項目)間的相似度主要通過計算用戶評分向量(項目得分向量)之間的皮爾遜相關(guān)系數(shù)(Pearson coefficient of correlation, 簡稱PCC)或余弦相似度(cosine similarity, 簡稱COS)獲取[.這兩種方式都需要參與計算的用戶(項目)間存在公共評分項目(打分用戶), 數(shù)據(jù)稀疏導(dǎo)致由這兩種方法獲取的相似度無法準(zhǔn)確代表用戶(項目)間的相似關(guān)系.對于沒有評分記錄的冷啟動用戶(項目), 系統(tǒng)無法基于此方法為其找到最近鄰.Memory-based算法在分析用戶偏好時只用到了局部評分記錄; model-based算法則依據(jù)評分矩陣中所有已知項來訓(xùn)練預(yù)測模型, 通過預(yù)測模型獲取用戶偏好和項目的屬性特征, 并利用學(xué)習(xí)到的參數(shù)預(yù)測評分矩陣中的未知項.在眾多model-based算法中, 矩陣分解(MF)技術(shù)[因其有效性和簡便性而被廣泛采用.MF模型認為, 用戶的偏好和項目的屬性特征都可以用低維的特征向量表示, 其中, 用戶特征向量每一維的元素代表了用戶對項目某種屬性特征的偏好程度, 項目特征向量對應(yīng)維的元素則代表該項目擁有此屬性特征的程度, 用戶對項目的評分則用二者特征向量的內(nèi)積表示[.顯然, 具有相似偏好用戶的特征向量也應(yīng)該是相似的.然而, 數(shù)據(jù)稀疏導(dǎo)致MF學(xué)習(xí)到的用戶特征向量不能準(zhǔn)確代表用戶的偏好, 也無法反映用戶間的相似關(guān)系, 這同時降低了推薦準(zhǔn)確度和模型在訓(xùn)練階段的收斂速度.此外, MF無法為冷啟動用戶學(xué)習(xí)特征向量獲取其偏好.
為了提高MF的推薦準(zhǔn)確度, 帶約束條件的規(guī)范化矩陣分解(RMF)技術(shù)引起了研究者的關(guān)注[.引入信任關(guān)系的RMF認為用戶與其信任人有相似的偏好, 直接將用戶的信任人看作其相似朋友.Zhang等人在文獻[
MF中, 用戶對項目的評分是二者特征向量間的內(nèi)積.He等人[認為, 這種簡單的線性方式無法捕捉用戶和項目間復(fù)雜的交互關(guān)系.他們提出了基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾模型框架(NCF), 該框架利用多層感知機將用戶和項目的特征向量以非線性方式結(jié)合預(yù)測評分, 并通過實驗證明了該框架的有效性.DMF模型將評分矩陣作為深度神經(jīng)網(wǎng)絡(luò)的輸入, 以非線性方式學(xué)習(xí)用戶和項目的特征向量, 在神經(jīng)網(wǎng)絡(luò)的輸出層, 通過計算用戶和項目特征向量間的余弦相似度預(yù)測評分[.雖然深度神經(jīng)網(wǎng)絡(luò)的引入能夠有效提升MF的準(zhǔn)確度, 但是與此同時, 模型的復(fù)雜度也大幅提升.如何在提高模型準(zhǔn)確度的同時避免模型復(fù)雜度的大幅升高, 是極具挑戰(zhàn)的任務(wù).
MF將用戶特征向量和項目特征向量所對應(yīng)的維度元素相乘, 并將乘積結(jié)果等權(quán)重相加后的和作為用戶對項目的評分, 忽略了用戶對項目不同屬性特征的關(guān)注度.我們希望通過學(xué)習(xí)用戶對項目各個屬性特征不同的關(guān)注度來獲取用戶更準(zhǔn)確的偏好, 進而提高模型性能.獲取用戶對項目屬性關(guān)注度最直觀的方法是為用戶學(xué)習(xí)一個f維的關(guān)注度向量(f是項目屬性特征向量的維度), 其中, 第k維元素代表用戶對項目第k個屬性特征的關(guān)注度(k∈[0, f-1]).這樣會使模型多引入M*f個參數(shù)(M是系統(tǒng)中用戶數(shù)量).由于系統(tǒng)中用戶數(shù)量通常非常大, 所以這種方式同樣會使模型復(fù)雜度大幅度升高.如何在避免模型復(fù)雜度大幅升高的前提下分析用戶對項目各個屬性特征不同的關(guān)注度, 獲取用戶更準(zhǔn)確的偏好, 是本文的另一個研究內(nèi)容.
基于上述工作的問題, 本文主要面臨如下挑戰(zhàn):(1)如何利用評分矩陣和信任關(guān)系挖掘用戶間可靠的相似關(guān)系, 解決MF中的數(shù)據(jù)稀疏和冷啟動問題; (2)如何在避免模型復(fù)雜度大幅提升的前提下, 分析用戶對項目屬性特征的關(guān)注度, 獲取用戶更準(zhǔn)確的偏好.為了解決這些挑戰(zhàn), 本文提出融合信任關(guān)系和評分矩陣的基于注意力機制[的規(guī)范化矩陣分解模型(ARMF), 模型框架如
●??第1部分是用戶間相似關(guān)系的挖掘:首先, 依據(jù)評分矩陣和信任關(guān)系構(gòu)建異構(gòu)網(wǎng)絡(luò); 然后, 利用網(wǎng)絡(luò)嵌入技術(shù)[挖掘用戶間的相似關(guān)系;
●??第2部分是基于注意力機制的評分預(yù)測函數(shù)構(gòu)建:通過公共權(quán)重矩陣, 以雙線性方式在MF中引入注意力機制, 分析用戶對項目各個屬性的關(guān)注度, 獲取用戶更準(zhǔn)確的偏好;
●??第3部分是模型參數(shù)優(yōu)化:以準(zhǔn)確地重構(gòu)評分矩陣同時使有相似偏好的用戶具有相似的特征向量為目的構(gòu)建目標(biāo)函數(shù), 并采用隨機梯度下降法(SGD)[優(yōu)化模型參數(shù).
本文主要貢獻如下.
(1) 為了挖掘用戶間可靠的相似關(guān)系, 提出了偽相似朋友的概念用于構(gòu)建異構(gòu)網(wǎng)絡(luò), 并在網(wǎng)絡(luò)嵌入階段提出了偽相似傳播機制和一種新的隨機游走算法VDWalk;
(2) 為了分析用戶對項目各個屬性特征不同的關(guān)注度, 獲取用戶更準(zhǔn)確的偏好, 同時保證模型復(fù)雜度不會大幅提升, 首次以雙線性方式將注意力機制引入MF中;
(3) 在真實數(shù)據(jù)集FilmTrust[和CiaoDVD[上進行了大量實驗, 實驗結(jié)果表明, 與現(xiàn)有的矩陣分解模型相比, ARMF模型具有更好的推薦準(zhǔn)確性和健壯性.
1 相關(guān)工作
1.1 傳統(tǒng)協(xié)同過濾算法
協(xié)同過濾算法包括memory-based和model-based兩類算法.
Memory-based算法的關(guān)鍵在于最近鄰的查找過程.
●??文獻[
●??文獻[
●??文獻[
由于memory-based算法需要計算系統(tǒng)中所有用戶(項目)間的相似度, 導(dǎo)致該類算法的擴展性較差, 所以model-based算法逐漸成為研究重點.Model-based算法包括基于圖模型的[、基于聚類的[和基于MF的[等, 其中, MF是目前應(yīng)用最為普遍的算法.假設(shè)系統(tǒng)中有M個用戶(用戶集合用U表示)和N個項目(項目集合用I表示), MF的主要思想是:利用評分矩陣RM×N中的已有評分記錄學(xué)習(xí)能夠代表用戶偏好和項目屬性特征的用戶特征P∈Rf×M和項目特征Q∈Rf×N, 用戶對項目的評分則用二者特征向量的內(nèi)積表示.為了盡可能準(zhǔn)確地重構(gòu)評分矩陣并預(yù)測未知項, MF通過最小化公式(1)中所示的目標(biāo)函數(shù)并采用SGD學(xué)習(xí)模型參數(shù)P和Q:
$
L(R, \mathit{\boldsymbol{P}}, \mathit{\boldsymbol{Q}}) = \frac{1}{2}\sum\limits_{u = 1}^m {\sum\limits_{i = 1}^n {{I_{ui}}{{\left( {\sum\limits_{j = 0}^{f - 1} {\mathit{\boldsymbol{P}}_u^j*\mathit{\boldsymbol{Q}}_i^j} - {R_{u, i}}} \right)}^2}} } + \frac{{{\lambda _1}}}{2}||\mathit{\boldsymbol{P}}||_F^2 + \frac{{{\lambda _2}}}{2}||\mathit{\boldsymbol{Q}}||_F^2
$
(1)
其中, Iu, i是一個指示函數(shù), 如果用戶u對項目i進行了評分, Iu, i等于1, 否則為0;$\mathit{\boldsymbol{P}}_u^j$表示用戶u對項目第j個屬性特征的偏好程度; $\mathit{\boldsymbol{Q}}_i^j$表示項目i擁有第j個屬性特征的程度; λ1和λ2是正則項系數(shù), 引入正則項是為了防止模型過擬合; $|| \cdot ||_2^F$代表向量的二范式.RMF在MF目標(biāo)函數(shù)的基礎(chǔ)上增加約束項, 使用戶的特征向量與其相似朋友的
特征向量之間的距離盡可能小, 以此提升了模型性能.挖掘用戶間的相似關(guān)系為用戶找到其相似朋友, 是RMF的任務(wù)之一.CUNE[通過將已評分項目有交集的用戶連接的方式構(gòu)建用戶同質(zhì)網(wǎng)絡(luò), 在利用網(wǎng)絡(luò)嵌入技術(shù)學(xué)習(xí)網(wǎng)絡(luò)中用戶的隱向量后, 依據(jù)用戶隱向量間的相似度挖掘用戶間的相似關(guān)系.然而, 數(shù)據(jù)稀疏和冷啟動問題導(dǎo)致系統(tǒng)中只有小部分用戶能夠連接到網(wǎng)絡(luò), 稀疏的網(wǎng)絡(luò)使得通過網(wǎng)絡(luò)嵌入得到的用戶隱向量反映不出用戶間可靠的相似關(guān)系.如何挖掘用戶間可靠的相似關(guān)系, 是RMF需要解決的問題.
1.2 引入信任關(guān)系的協(xié)同過濾算法
信任關(guān)系作為評分矩陣的輔助信息, 被證明能夠有效緩解協(xié)同過濾算法中的數(shù)據(jù)稀疏和冷啟動問題[. Guo等人[提出了融合信任關(guān)系的user-based算法——Merge:該算法依據(jù)用戶信任人的評分記錄預(yù)測用戶對未評分項目的評分, 以此來對評分矩陣中的未知項進行填補, 用戶之間的相似度依據(jù)新的評分矩陣得到.實驗結(jié)果證明, 該方法得到的用戶間相似關(guān)系更可靠, 推薦結(jié)果的準(zhǔn)確度也更高.文獻[[則是利用廣度優(yōu)先遍歷法推斷和計算用戶間信任值.Jamali和Ester提出了融合item-based和trust-based的TrustWalker隨機游走算法[, 該算法分別連接用戶與其評分項目、信任人構(gòu)建用戶-項目異構(gòu)網(wǎng)絡(luò), 在預(yù)測目標(biāo)用戶對目標(biāo)項目的評分時, 從目標(biāo)用戶出發(fā)在網(wǎng)絡(luò)中隨機游走, 為在準(zhǔn)確度和效率間取得平衡, 在游走過程中, 按條件要么返回目標(biāo)用戶對與目標(biāo)項目相似項目的評分, 要么返回目標(biāo)用戶信任人對目標(biāo)項目的評分.
Ma等人[認為, 用戶對項目的評分不僅依賴于自己的偏好, 還容易受其信任人的影響.他們提出了基于MF的STE模型, STE將用戶依據(jù)個人偏好對項目的評分與用戶信任人對項目的評分線性相加作為用戶對項目的最終評分.該模型只考慮了信任人對用戶評分的影響, 忽略了信任人對用戶特征向量的影響.引入信任關(guān)系的RMF基于用戶與其信任人有相似偏好的假設(shè), 將用戶的信任人看作其相似朋友, 所以信任人直接影響著用戶的特征向量.其中:SocialRec[通過共享用戶特征向量矩陣, 同時分解評分矩陣和信任矩陣來學(xué)習(xí)用戶特征向量, 這樣, 用戶的特征向量不僅取決于自己的評分, 還受到其信任人的影響; SocialMF[認為用戶與其信任人有相似的特征向量, 特征向量間的相似度取決于用戶對信任人的信任度; SocialReg[計算用戶與其信任人二者評分向量之間的相似度來決定他們特征向量之間的相似度; Parvina等人[在學(xué)習(xí)用戶特征向量時, 同時考慮用戶信任人和非信任人的影響——用戶特征向量與其信任人特征向量間的距離應(yīng)盡可能近, 同時與其非信任人特征向量間的距離應(yīng)盡可能遠.這些算法都認為用戶與其所有信任人有相似的偏好, 同時忽略了用戶與其他用戶間的相似關(guān)系.然而, 用戶在定義信任人時會受到復(fù)雜因素的影響, 用戶與其信任人不一定有相似的偏好.為找到與用戶有相似偏好的信任人, Li等人[提出了信任關(guān)聯(lián)度的概念.他們認為, 只有與目標(biāo)用戶有相似評分記錄的信任人是目標(biāo)用戶的相似朋友.同時還引入了信任傳播機制解決數(shù)據(jù)稀疏和冷啟動問題.雖然引入了信任傳播機制, 但是目標(biāo)用戶的相似朋友候選集依舊很小, 可能會丟失真實存在的相似關(guān)系.與現(xiàn)有引入信任關(guān)系的RMF不同的是, 本文將用戶間的信任關(guān)系作為評分矩陣的輔助信息, 挖掘系統(tǒng)中所有用戶間的相似關(guān)系, 并為用戶找到其相似朋友.
2 基于注意力機制的規(guī)范化矩陣分解模型
為了能夠找到用戶之間可靠的相似關(guān)系并分析出用戶復(fù)雜的偏好, 本文提出了基于注意力機制的規(guī)范化矩陣分解模型——ARMF.該模型的框架如
(1) ??用戶間相似關(guān)系的挖掘, 主要包含兩部分.
① ??異構(gòu)網(wǎng)絡(luò)構(gòu)建:依據(jù)評分矩陣和用戶間信任關(guān)系構(gòu)建用戶-項目異構(gòu)網(wǎng)絡(luò)(詳見第2.3節(jié));
② ??異構(gòu)網(wǎng)絡(luò)嵌入:利用網(wǎng)絡(luò)嵌入技術(shù)學(xué)習(xí)步驟①所構(gòu)建的網(wǎng)絡(luò)中用戶的隱向量, 通過計算用戶隱向量間的余弦相似度, 挖掘用戶間的相似關(guān)系(詳見第2.4節(jié));
(2) ??基于注意力機制的評分預(yù)測:以雙線性方式在MF中引入注意力機制, 從用戶的歷史數(shù)據(jù)中獲取用戶更準(zhǔn)確的偏好(詳見第2.5節(jié));
(3) ??模型參數(shù)優(yōu)化:依據(jù)步驟(1)中挖掘到的相似關(guān)系和步驟(2)中對評分的預(yù)測, 構(gòu)造目標(biāo)函數(shù)并采用SGD優(yōu)化模型參數(shù)(詳見第2.6節(jié)).ARMF的執(zhí)行過程可總結(jié)如
圖 2
Fig. 2
Fig. 2 Execution of ARMF
圖 2 ARMF的執(zhí)行過程
2.1 問題描述
在推薦系統(tǒng)中, 假設(shè)有M個用戶U={u1, u2, …, uM}和N個項目I={i1, i2, …, iN}, 用戶通過對體驗過的項目評分, 系統(tǒng)會生成一個M行N列的評分矩陣RM×N(M=8, N=6), 其中, 第u行i列的Ru, i表示用戶u對項目i的評分(評分通常是1~5的整數(shù)).在本文中, 用Iu表示用戶u評分大于σ(σ∈[0, 5])的項目集合; Cu表示和用戶u共同評分項目個數(shù)不少于δ(δ∈Z)的用戶集合; Du表示和用戶u至少有一個公共評分項目, 且對項目評分都大于σ(σ∈[0, 5])的用戶集合.
在引入信任關(guān)系的推薦系統(tǒng)中, 用戶可以定義自己的信任人, tu, v代表用戶u對用戶v的信任度.在大多數(shù)系統(tǒng)中, tu, v∈{0, 1}(0表示不信任, 1表示信任), 本文用Tu={v|tu, v=1}表示用戶u的信任人集合.依據(jù)用戶之間的信任關(guān)系, 可以構(gòu)建對應(yīng)的信任網(wǎng)絡(luò)(TN), 如
當(dāng)δ=1和σ=2時, u的Iu, Cu, Du以及Tu見例1.在第2.3小節(jié)異構(gòu)網(wǎng)絡(luò)構(gòu)建和第2.4小節(jié)異構(gòu)網(wǎng)絡(luò)嵌入階段, 會以例1為基礎(chǔ)介紹模型每個模塊的實現(xiàn)步驟, 以便理解模型原理.
例1:
用戶
Iu
Cu
Du
Tu
u1
?
?
?
{u7}
u2
{i3}
?
{u7}
{u4}
u3
{i1, i2}
{u5}
{u5}
{u1}
u4
{i4, i5}
{u6}
{u6}
?
u5
{i1, i2}
{u3}
{u3}
?
u6
{i4, i5}
{u4}
{u4}
?
u7
{i3}
?
{u2}
?
u8
?
?
?
{u7}
本文利用RM×N和TN挖掘用戶間可靠的相似關(guān)系, 并分析用戶對項目各個屬性特征不同的關(guān)注度.在盡可能準(zhǔn)確地預(yù)測評分矩陣中未知項的同時, 保證有相似偏好用戶的特征向量間有較高的相似度.
2.2 引入信任關(guān)系的異構(gòu)網(wǎng)絡(luò)
推薦系統(tǒng)中, 用戶和用戶之間的信任關(guān)系以及用戶和項目之間的交互關(guān)系可以通過不同的方式構(gòu)建用戶-項目異構(gòu)網(wǎng)絡(luò)展現(xiàn)出來.最直接的方式就是用戶與其已評分項目連接, 同時與其信任人連接, 并假設(shè)用戶與其信任人有相似偏好[.由于用戶與其信任人不一定完全相似, 直接將信任關(guān)系看作相似關(guān)系可能導(dǎo)致非個性化的推薦結(jié)果.因此, 本文將用戶的信任人看作其偽相似朋友(偽相似朋友定義詳見第2.3節(jié)), 而非相似朋友, 來挖掘用戶間更可靠的相似關(guān)系.此外, 與文獻[u只與Iu中的項目連接, 項目在網(wǎng)絡(luò)中只是起到媒介作用, 將可能相似的用戶連接起來.比如, 例1中的i3可以使u2與u7相互連接.本文通過將用戶與其偽相似朋友連接的方式構(gòu)建異構(gòu)網(wǎng)絡(luò), 并基于若兩個用戶有相似的偽相似朋友則他們有相似偏好, 即有相似隱向量的假設(shè), 利用網(wǎng)絡(luò)嵌入技術(shù)挖掘用戶間可靠的相似關(guān)系.下面將在第2.3節(jié)和第2.4節(jié)分別介紹如何利用評分矩陣和信任網(wǎng)絡(luò)構(gòu)建異構(gòu)網(wǎng)絡(luò)和如何通過網(wǎng)絡(luò)嵌入獲取用戶間的相似關(guān)系.
2.3 引入信任關(guān)系的異構(gòu)網(wǎng)絡(luò)構(gòu)建
為了構(gòu)建稠密的用戶-項目異構(gòu)網(wǎng)絡(luò), 提出了偽相似朋友的概念.將可能與用戶u有相似偏好的用戶定義為其偽相似朋友, 同時假設(shè):如果兩個用戶有較多公共的偽相似朋友, 則他們一定有相似偏好.具體地, 用戶u的偽相似朋友Fu定義如下.
定義?1(偽相似朋友Fu).
(1) 對稱偽相似
ⅰ. u∈Fv且v∈Fu|v∈Cu;
ⅱ. u∈Fv且v∈Fu|v∈Du;
(2) 非對稱偽相似
v∈Fu|v∈Tu.
基于定義1, 首先根據(jù)評分矩陣找到每個用戶u的Iu, Cu, Du以及Tu(例1), 然后直接連接每個用戶u與其偽相似朋友v(v∈Cu), u和Du中的偽相似朋友則通過Iu中的項目間接連接, 這樣得到u1和u8)和處于小圈中的用戶節(jié)點(比如u5和u3).如果直接在稀疏的U-I Net1上學(xué)習(xí)用戶的隱向量, 不僅無法為孤立的用戶學(xué)習(xí)其隱向量, 也會使得為處于小圈中的用戶學(xué)習(xí)到的隱向量不準(zhǔn)確, 最終會導(dǎo)致依據(jù)隱向量挖掘的用戶相似關(guān)系不可靠.
為了解決數(shù)據(jù)稀疏問題, ARMF在評分矩陣的基礎(chǔ)上融入了用戶間的信任關(guān)系, 認為用戶的信任人可以看作其偽相似朋友.通過在U-I Net1的基礎(chǔ)上連接用戶與其信任人, 可得到u1和u8都通過u7連接到網(wǎng)絡(luò)中, 處于小圈中的其他用戶也可以連接到更多其他偽相似朋友, 這就使得通過網(wǎng)絡(luò)嵌入挖掘到的相似關(guān)系更加可靠.此外, 通過在用戶和信任人之間添加連邊的操作, 可以將攜帶信任信息的新用戶加入網(wǎng)絡(luò)中, 并為其找到相似朋友, 成功解決了冷啟動問題.
2.4 異構(gòu)網(wǎng)絡(luò)嵌入
為了獲取U-I Net2中用戶間可靠的相似關(guān)系, 提出了偽相似傳播機制, 并設(shè)計了VDWalk隨機游走算法.在利用網(wǎng)絡(luò)嵌入學(xué)習(xí)用戶隱向量時, 我們做了如下假設(shè):如果兩個用戶有較多公共的偽相似朋友, 則他們有相似偏好, 即有相似的隱向量.數(shù)據(jù)稀疏問題會導(dǎo)致每個用戶的偽相似朋友數(shù)量很少, 雖然在構(gòu)建異構(gòu)網(wǎng)絡(luò)時引入了用戶間的信任關(guān)系, 但是由于信任關(guān)系也存在冷啟動問題, 即有很少評分記錄的用戶通常也有非常少的信任人[, 所以用戶的偽相似朋友集合間很難有比較大的交集.鑒于此, 我們提出了偽相似傳播機制, 偽相似傳播概念見定義2.
定義?2(偽相似傳播). u∈Fv且v∈Fr, 則u∈Fr.
偽相似傳播機制使每個用戶能夠擁有更多的偽相似朋友, 進而可以挖掘到用戶間更可靠的相似關(guān)系.由于引入了偽相似傳播機制, 網(wǎng)絡(luò)U-I Net2中每個用戶附近的用戶都可以看作其偽相似朋友.基于如果兩個用戶有相似的偽相似朋友則他們有相似的偏好, 即有相似的隱向量的假設(shè), 在U-I Net2上以每個非孤立用戶(由于網(wǎng)絡(luò)中的孤立節(jié)點沒有鄰居節(jié)點, 沒有辦法為他們采集到路徑, 不能通過網(wǎng)絡(luò)嵌入方法學(xué)習(xí)他們的隱向量, 所以下文提到的U-I Net2中的用戶均指非孤立用戶)為起始節(jié)點選取ρ條長度為l的路徑, 把這些路徑放入Skip-gram模型[學(xué)習(xí)用戶的隱向量.
為了能夠為每個用戶節(jié)點采集到的ρ條路徑盡可能不同, 我們提出了基于DeepWalk[的一種變形隨機游走算法——VDWalk.
算法?1. VDWalk.
輸入:U-I Net2;路徑條數(shù):ρ; 路徑長度:l;
輸出:以U-I Net2中每個用戶為起始節(jié)點的ρ條長l的路徑.
1.??初始化路徑集合Walks為空;
DeepWalk在每次采集下一個節(jié)點時會在當(dāng)前節(jié)點鄰居節(jié)點中隨機選擇一個, 這樣可能導(dǎo)致一些節(jié)點被重復(fù)選擇, 而一些節(jié)點從不被選擇, 也可能為同一個節(jié)點采集到相同的路徑, 從而降低了通過網(wǎng)絡(luò)嵌入學(xué)習(xí)到的節(jié)點隱向量的準(zhǔn)確度.為避免這些情況的出現(xiàn), VDWalk定義不同的鄰居節(jié)點有不同的優(yōu)先選擇權(quán), 在每次采集下一個節(jié)點時, 優(yōu)先選擇當(dāng)前節(jié)點的鄰居節(jié)點中優(yōu)先級較高的節(jié)點.鄰居節(jié)點的優(yōu)先選擇權(quán)定義如下.
定義?3(優(yōu)先選擇權(quán)).
(1) ??u > v|u∈U, v∈U, state(u)=False, state(v)=True
(2) ??u=v|u∈U, v∈U, state(u)=True, state(v)=True
(3) ??u=v|u∈U, v∈U, state(u)=False, state(v)=False
(4) ??u > i|u∈U, i∈I, state(u)=False, state(i)=False
(5) ??u > i|u∈U, i∈I, state(u)=True, state(i)=True
(6) ??i > u|u∈U, i∈I, state(u)=True, state(i)=False
(7) ??i=j|i∈I, j∈I
其中:a > b表示a的優(yōu)先選擇權(quán)大于b, a=b表示a的優(yōu)先選擇權(quán)等于b, state(a)=False表示a節(jié)點未被訪問過, state(a)=True表示a節(jié)點已被訪問過.
VDWalk在為每個用戶節(jié)點采集路徑時, 會初始化U-I Net2中所有節(jié)點的鄰居節(jié)點狀態(tài)為‘False’(算法1第1行~第3行), 在選擇下一個節(jié)點時, 會根據(jù)定義3優(yōu)先選擇父節(jié)點鄰居節(jié)點中優(yōu)先級較高的節(jié)點(第6行~第11行).基于用戶u和Tu和Cu中的用戶比Du中的用戶更為相似的假設(shè), 父節(jié)點鄰居節(jié)點中的用戶節(jié)點比項目節(jié)點有較高的選擇優(yōu)先權(quán)(第7行~第10行), 除非所有的用戶節(jié)點已經(jīng)被訪問過, 才會選擇項目節(jié)點(第8行~第10行).項目節(jié)點在VDWalk中只是起到媒介作用, 使能夠為用戶u采集到Du中的偽相似朋友, 所以它不被放入路徑中(第12行、第13行).這樣, 路徑中除了用戶u本身之外的其他節(jié)點都是其偽相似朋友, 記作Nu.例2是以U-I Net2中以u3為起始節(jié)點選取第1條長度為5的路徑時的選擇過程.
例2:下圖中的黃色節(jié)點表示路徑中每一步的節(jié)點選擇過程:以u3為源節(jié)點, 最初u3的鄰居節(jié)點中既有項目節(jié)點i1和i2, 又有用戶節(jié)點u1和u5.因為用戶節(jié)點優(yōu)先級高于項目節(jié)點, 并且此時兩個用戶節(jié)點都未被訪問過, 所以從u1和u5中隨機選擇一個作為子節(jié)點.如果選擇了u1, u1的鄰居節(jié)點只有u7, u7作為下一個子節(jié)點, 然后u7通過i3選擇u2, u2的信任人u4作為終止節(jié)點, 最終的路徑為(u3, u1, u7, u2, u4), ${N_{{u_3}}}$={u1, u7, u2, u4}.
圖 3
Fig. 3
Fig. 3 Example of VDWalk
圖 3 VDWalk算法例子
Skip-gram模型針對句中給定單詞, 最大化窗口大小為t內(nèi)周圍單詞的共現(xiàn)概率, 用函數(shù)Φ將該單詞映射到一個d維的低維空間中.其形式化地定義為:若給定句子S=(w1, w2, …, wo, wo+1, …)中的單詞wo, Skip-gram通過最小化目標(biāo)函數(shù)L來學(xué)習(xí)wo的低維隱向量:
$
L = - lb{\rm{Pr}}(\{ {w_o}_{ - t}, \ldots , {w_o}_{ + t}\} \backslash {w_o}|\mathit{\Phi }\left( {{w_o}} \right))
$
(2)
從Skip-gram的目標(biāo)函數(shù)可以看出, Skip-gram模型將會對具有相似上下文的單詞學(xué)習(xí)到相似的隱向量.因為我們提出了類似的假設(shè), 即:如果兩個用戶有相似的偽相似朋友, 他們就有相似的隱向量, 所以可以利用Skip- gram模型學(xué)習(xí)U-I Net2中用戶的隱向量, 并以此來獲取用戶之間隱藏的相似關(guān)系, 此時目標(biāo)函數(shù)為
$
L = - lb{\rm{Pr}}({N_u}|\mathit{\Phi }\left( {{E_u}} \right))
$
(3)
將在U-I Net2上收集到的所有路徑放入Skip-gram模型中, 學(xué)習(xí)用戶的d維隱向量E, 根據(jù)公式(4)計算用戶隱向量之間的余弦相似度, 取和用戶u有最大相似度的前K個用戶作為他的相似朋友, 記為Su:
$
Sim(u, v) = \frac{{\sum\limits_{j = 0}^{d - 1} {\mathit{\boldsymbol{E}}_u^j \cdot \mathit{\boldsymbol{E}}_v^j} }}{{\sqrt {\sum\limits_{j = 0}^{d - 1} {{{(\mathit{\boldsymbol{E}}_u^j)}^2}} } \sqrt {\sum\limits_{j = 0}^{d - 1} {{{(\mathit{\boldsymbol{E}}_v^j)}^2}} } }}
$
(4)
其中, Euj代表用戶u隱向量的第j維.
2.5 基于注意力機制的評分預(yù)測
ARMF希望分析用戶對項目不同屬性特征的關(guān)注度, 獲取用戶更準(zhǔn)確的偏好.最直觀的做法就是為每個用戶學(xué)習(xí)一個關(guān)注度向量, 此時, 用戶u對項目i的評分預(yù)測函數(shù)見公式(5):
$
{{R'}_{u, i}} = \sum\limits_{j = 0}^{f - 1} {\varepsilon _u^j \times \mathit{\boldsymbol{P}}_u^j \times \mathit{\boldsymbol{Q}}_i^j}
$
(5)
其中, $\varepsilon _u^j$表示用戶u對項目第j個特征的關(guān)注度.但為系統(tǒng)中每個用戶學(xué)習(xí)εu需多引入M×f個參數(shù), 這樣不僅使
模型復(fù)雜度升高, 也不能保證相似用戶對項目屬性特征有相似的關(guān)注度.鑒于此, 引入用戶共享矩陣W∈Rf×f, 用戶新的偏好矩陣ω即可通過PTW得到, 這樣只需多引入f2個參數(shù).由于f一般比較小, 所以模型復(fù)雜度的提升特別小.此時, ${R'_{u, i}}$可通過公式(6)得到:
$
{{R'}_{u, i}} = \mathit{\boldsymbol{P}}_u^T\mathit{\boldsymbol{W}}{\mathit{\boldsymbol{Q}}_i}
$
(6)
雖然只是用了雙線性計算方式, 卻能挖掘出用戶項目間復(fù)雜的交互關(guān)系, 獲取用戶更準(zhǔn)確的偏好.同時, 由于所有用戶共享矩陣W, 所以保證了相似用戶對項目屬性特征也有相似的關(guān)注度.
2.6 模型參數(shù)優(yōu)化
在模型訓(xùn)練階段, 首先隨機初始化模型參數(shù), 并以保證評分預(yù)測準(zhǔn)確度的同時使得相似用戶有相似的特征向量為目的, 構(gòu)建公式(7)中的目標(biāo)函數(shù):
$
L(R, \mathit{\boldsymbol{P}}, \mathit{\boldsymbol{Q}}, \mathit{\boldsymbol{W}}) = \frac{1}{2}\sum\limits_{u = 1}^m {\sum\limits_{i = 1}^n {{I_{ui}}{{({{R'}_{u, i}} - {R_{u, i}})}^2}} } + \frac{\lambda }{2}\sum\limits_{u = 1}^m {\left\| {{\mathit{\boldsymbol{P}}_u} - \frac{1}{{|{S_u}|}}\sum\limits_{v \in {S_u}} {{\mathit{\boldsymbol{P}}_v}} } \right\|} _F^2 + \frac{{{\lambda _1}}}{2}||\mathit{\boldsymbol{P}}||_F^2 + \frac{{{\lambda _2}}}{2}||\mathit{\boldsymbol{Q}}||_F^2 + \frac{{{\lambda _3}}}{2}||\mathit{\boldsymbol{W}}||_F^2
$
(7)
其中, λ是規(guī)范化函數(shù)的系數(shù).規(guī)范化函數(shù)約束用戶的特征向量與其相似朋友特征向量的平均值距離盡可能小, 以此來保證用戶與其相似朋友有相似的特征向量, λ1, λ2和λ3是正則項系數(shù).目標(biāo)函數(shù)構(gòu)建后, 采用SGD對模型參數(shù)進行優(yōu)化, Pu, Qi和W的一階求導(dǎo)公式如下所示:
$
\left. \begin{array}{c}
\frac{{\partial L}}{{\partial {\mathit{\boldsymbol{P}}_u}}} = ({{R'}_{u, i}} - {R_{u, i}})\mathit{\boldsymbol{W}}{\mathit{\boldsymbol{Q}}_i} + \lambda \left( {{\mathit{\boldsymbol{P}}_u} - \frac{1}{{{S_u}}}\sum\limits_{v \in {S_u}} {{\mathit{\boldsymbol{P}}_v}} } \right) + {\lambda _1}{\mathit{\boldsymbol{P}}_u} - \sum\limits_{\{ v|v \in {S_u}\} } {\frac{\lambda }{{|{S_v}|}}\left( {{\mathit{\boldsymbol{P}}_v} - \frac{1}{{|{S_v}|}}\sum\limits_{w \in {S_v}} {{\mathit{\boldsymbol{P}}_w}} } \right), } \\
\frac{{\partial L}}{{\partial {\mathit{\boldsymbol{Q}}_i}}} = ({{R'}_{u, i}} - {R_{u, i}})\mathit{\boldsymbol{P}}_u^T\mathit{\boldsymbol{W}} + {\lambda _2}{\mathit{\boldsymbol{Q}}_i}, \\
\frac{{\partial L}}{{\partial \mathit{\boldsymbol{W}}}} = ({{R'}_{u, i}} - {R_{u, i}})\mathit{\boldsymbol{P}}_u^T{\mathit{\boldsymbol{Q}}_i} + {\lambda _3}\mathit{\boldsymbol{W}}
\end{array} \right\}
$
(8)
3 實驗
3.1 數(shù)據(jù)集
實驗采用文獻[
表 1(Table 1)
Table 1 Experimental datasets statistics
表 1 實驗數(shù)據(jù)集統(tǒng)計數(shù)據(jù)
名稱
Filmtrust
CiaoDVD
用戶
1 508
17 615
項目
2 071
16 121
評分
35 497
72 665
信任關(guān)系
1 632
22 483
Table 1 Experimental datasets statistics
表 1 實驗數(shù)據(jù)集統(tǒng)計數(shù)據(jù)
為了驗證各個模型的健壯性, 每次測試時, 預(yù)先將測試數(shù)據(jù)集劃分為Warm集以及Cold集, 這主要根據(jù)訓(xùn)練數(shù)據(jù)集中每個用戶的評分記錄所得.具體過程如下:訓(xùn)練數(shù)據(jù)集中包含了用戶及其評分記錄, 若訓(xùn)練集中單個用戶的評分記錄大于等于5, 則該用戶對應(yīng)測試集中的評分記錄為Warm集; 若訓(xùn)練集中單個用戶的評分記錄小于5, 那么該用戶對應(yīng)測試集中的評分記錄為Cold集.
3.2 評估方法
為了評估各個模型的準(zhǔn)確性和健壯性, 本文采用了5交叉驗證法[.并在每次驗證時采用均方根誤差(root mean square error, 簡稱RMSE)和平均絕對誤差(mean absolute error, 簡稱MAE)來對各模型預(yù)測評分的準(zhǔn)確度性進行評估.假設(shè)測試集中的評分記錄個數(shù)為X, RMSE和MAE計算方式見公式(9)和公式(10).
$
RMSE = \sqrt {\frac{{{{({{R'}_{u, i}} - {R_{u, i}})}^2}}}{X}}
$
(9)
$
MAE = \frac{{|{{R'}_{u, i}} - {R_{u, i}}|}}{X}
$
(10)
模型在訓(xùn)練階段的收斂速度越快, 系統(tǒng)就可以更快地依據(jù)訓(xùn)練結(jié)果做出響應(yīng).由于所有模型的目標(biāo)函數(shù)都是非凸函數(shù), 只有局部最優(yōu)解[, 所以為了比較各個模型在訓(xùn)練階段的收斂速度, 在本文中約定:當(dāng)模型的準(zhǔn)確度不再提升時, 認為模型收斂達到局部最優(yōu)解.模型參數(shù)優(yōu)化的具體步驟見算法2.
算法?2.模型參數(shù)優(yōu)化.
輸入:隨機初始化的模型參數(shù);
輸出:優(yōu)化的模型參數(shù).
1.??根據(jù)模型的目標(biāo)函數(shù)在訓(xùn)練集上以給定學(xué)習(xí)率采用SGD更新參數(shù);
2.??在測試集上, 根據(jù)公式(10)和公式(11)分別計算RMSE和MAE;
3.??Pre_RMSE=RMSE;
4.??While Pre_PMSE > RMSE
5.????執(zhí)行第1行~第3行
由于模型的最終目的是使預(yù)測誤差最小, 所以將RMSE的值作為模型收斂的指標(biāo):模型參數(shù)通過隨機初始化得到后(算法輸入), 在模型參數(shù)優(yōu)化階段, 首先在訓(xùn)練集上采用SGD更新模型參數(shù)(第1行), 然后在測試集上計算RMSE和MAE, 驗證模型參數(shù)的可行性(第2行).不斷重復(fù)這個步驟, 直至RMSE不再變小, 完成對參數(shù)的優(yōu)化(第4行、第5行).我們將模型在訓(xùn)練集上更新參數(shù)的迭代次數(shù)作為模型收斂速度的指標(biāo), 對比各個模型的收斂速度.
3.3 對比實驗及實驗參數(shù)設(shè)置
本文采用以下幾個對比實驗.
① ??BasicMF[:最簡單形式的MF, 通過分解評分矩陣學(xué)習(xí)模型參數(shù);
② ??SocialRec[:共用用戶特征矩陣同時分解評分矩陣和信任矩陣學(xué)習(xí)模型參數(shù);
③ ??SocialMF[:約定用戶與其信任人有相似的特征向量, 特征向量間的相似度取決于他們評分向量的PCC;
④ ??SocialReg[:規(guī)定用戶與其信任人有相似的特征向量, 特征向量的相似度取決于用戶對其信任人的信任度;
⑤ ??CUNE[:依據(jù)評分矩陣構(gòu)建用戶同質(zhì)網(wǎng)絡(luò)挖掘用戶間的相似關(guān)系, 在模型訓(xùn)練階段約定具有相似偏好的用戶有相似的特征向量.
為保持和其他對比實驗的一致性, 分別在特征向量維度f為5和10時驗證各模型性能, 并進行大量實驗找出各模型的最優(yōu)參數(shù), 除學(xué)習(xí)率均為0.01外, 其他參數(shù)配置見
表 2(Table 2)
Table 2 Parameter settings of different models
表 2 模型參數(shù)設(shè)置
模型名稱
參數(shù)設(shè)置
SocialMF
λr=1, λu=λv=0.001
SocialRec
λc=0.1, λu=λv=λz=0.001
SocialReg
β=0.1, λ1=λ2=0.001
CUNE
λu=λv=λz=0.001, L=20, T=30, l=20, τ=5, k=50
BasicMF
λ1=λ2=0.01
ARMF
λ=0.5, λ1=λ2=λ3=0.001, τ=20, ρ=30,
t=2, δ=σ=2, k=10, d=f
Table 2 Parameter settings of different models
表 2 模型參數(shù)設(shè)置
3.4 實驗結(jié)果分析
3.4.1 準(zhǔn)確性分析
我們首先分析了所有模型在準(zhǔn)確性方面的表現(xiàn), 各模型在兩個數(shù)據(jù)集的Warm集和Cold集上的準(zhǔn)確度見
表 3(Table 3)
Table 3 Accuracy of ARMF comparing with other models over Warm users
表 3 在Warm集上各算法準(zhǔn)確度對比
DataSet
Dim
Metrics
BasicMF
SocialRec
SocialReg
SocialMF
CUNE
ARMF
Filmtrust
5
RMSE
0.884 3
0.851 5
0.836 5
0.844 9
0.831 5
0.813 4
MAE
0.718 8
0.654 9
0.641 2
0.650 8
0.652 1
0.628 4
10
RMSE
0.883 9
0.856 5
0.843 2
0.843 7
0.829 9
0.811 1
MAE
0.719 0
0.660 6
0.648 7
0.649 6
0.651 1
0.626 4
CiaoDVD
5
RMSE
1.064 2
1.140 1
1.067 9
1.098 1
1.022 0
1.008 4
MAE
0.830 8
0.850 0
0.787 6
0.810 0
0.756 7
0.735 9
10
RMSE
1.063 7
1.142 5
1.066 0
1.133 7
1.060 0
1.008 0
MAE
0.830 6
0.853 7
0.787 7
0.828 6
0.785 3
0.733 7
Table 3 Accuracy of ARMF comparing with other models over Warm users
表 3 在Warm集上各算法準(zhǔn)確度對比
表 4(Table 4)
Table 4 Accuracy of ARMF comparing with other models over Cold users
表 4 在Cold集上各算法準(zhǔn)確度對比
Data set
Dim
Metrics
BasicMF
SocialRec
SocialReg
SocialMF
CUNE
ARMF
Filmtrust
5
RMSE
0.984 8
1.003 1
0.945 0
0.937 4
0.949 7
0.877 7
MAE
0.801 5
0.818 1
0.735 6
0.736 8
0.746 0
0.670 3
10
RMSE
0.991 5
0.996 3
0.965 2
0.947 3
0.950 2
0.865 9
MAE
0.810 1
0.807 7
0.763 3
0.742 5
0.754 2
0.661 1
CiaoDVD
5
RMSE
1.147 1
1.237 4
1.113 4
1.136 8
1.130 1
1.041 4
MAE
0.863 4
0.940 9
0.800 5
0.831 4
0.828 8
0.715 1
10
RMSE
1.147 2
1.240 6
1.110 4
1.134 1
1.131 3
1.035 3
MAE
0.865 5
0.943 5
0.803 9
0.831 5
0.836 1
0.709 0
Table 4 Accuracy of ARMF comparing with other models over Cold users
表 4 在Cold集上各算法準(zhǔn)確度對比
從兩個表中可以看到, 所有模型在特征向量維度f=5和f=10時性能保持相對一致.故我們以f=5為例對各個模型進行分析, 但分析結(jié)果同樣適用于f=10.由于所有模型的目標(biāo)函數(shù)都是最小化評分預(yù)測值與真實值之間的差平方, 故在實驗中主要采用RMSE衡量模型的準(zhǔn)確性, 并以此分析和比較各個模型.
如Warm集上的性能分析如下.
●??在FilmTrust數(shù)據(jù)集上, 由于BasicMF忽略了用戶間的相似關(guān)系, 數(shù)據(jù)稀疏問題導(dǎo)致其學(xué)習(xí)到的用戶特征向量不夠準(zhǔn)確, 所以在所有模型中表現(xiàn)最差; SocialRec, SocialReg, SocialMF和CUNE都是通過分解評分矩陣學(xué)習(xí)模型參數(shù), 同時約束相似用戶有相似的特征向量, 所以它們的表現(xiàn)結(jié)果相差不大;
●??但各模型在CiaoDVD數(shù)據(jù)集上的性能并沒有和在FilmTrust數(shù)據(jù)集上的性能保持完全一致, 此時, SocialRec, SocialReg和SocialMF準(zhǔn)確度不如BasicMF.這是因為這幾個模型在訓(xùn)練模型參數(shù)時使用戶與其信任人有相似特征向量, FilmTrust數(shù)據(jù)集中的信任關(guān)系可以近似看作相似關(guān)系, 而CiaoDVD數(shù)據(jù)集上直接將信任關(guān)系看作相似關(guān)系會引入比較多的噪音, 最終導(dǎo)致學(xué)習(xí)到的用戶特征向量不能很好代表用戶偏好;
●??由于CUNE挖掘的用戶相似關(guān)系比直接將信任人看做相似朋友可靠, 所以CUNE在兩個數(shù)據(jù)集中都較其他幾個模型取得更好的結(jié)果;
●??ARMF相比其他模型準(zhǔn)確度得到了明顯提升, 主要因為ARMF在保證相似用戶具有相似特征向量的同時分析用戶對項目各個特征的關(guān)注度, 從而獲取了用戶更準(zhǔn)確的偏好.
從Cold集上的準(zhǔn)確性均不如其他模型, 其中, SocialRec最差.這是因為Cold集中用戶評分記錄較少, BasicMF很難學(xué)習(xí)到能夠代表他們偏好的特征向量.此外, 這些用戶的信任人也相對較少, 這就使得需要同時分解評分矩陣和信任矩陣的SocialRec準(zhǔn)確性最差.SocialReg和SocialMF在學(xué)習(xí)模型參數(shù)時借助少量的信任關(guān)系緩解了冷啟動問題.CUNE在Cold集上較其他模型的表現(xiàn)不如其在Warm集上優(yōu)越, 這主要因為CUNE構(gòu)建的網(wǎng)絡(luò)中Cold集中用戶不能與較多其他用戶建立聯(lián)系, 導(dǎo)致CUNE學(xué)習(xí)到的隱向量不能很好反映出他們與其他用戶間的相似關(guān)系, 在學(xué)習(xí)最終參數(shù)時會引入噪音.這表明, 僅依據(jù)評分矩陣挖掘用戶間的相似關(guān)系對冷啟動問題不敏感.ARMF在評分矩陣的基礎(chǔ)上引入信任關(guān)系構(gòu)建相對較稠密的網(wǎng)絡(luò), 在一定程度上解決了冷啟動問題.網(wǎng)絡(luò)嵌入階段挖掘到的用戶間可靠的相似關(guān)系, 保證了訓(xùn)練階段學(xué)習(xí)到的用戶特征向量的準(zhǔn)確性, 使得ARMF在所有模型中取得最高的推薦準(zhǔn)確度.
從Warm集還是Cold集, 所有模型在FilmTrust數(shù)據(jù)集上都取得比CiaoDVD數(shù)據(jù)集上高的準(zhǔn)確度.這主要因為FilmTrust數(shù)據(jù)集相比CiaoDVD數(shù)據(jù)集中每個用戶平均評分個數(shù)更多, 而用戶評分記錄個數(shù)直接影響模型學(xué)習(xí)到的參數(shù)質(zhì)量.
3.4.2 收斂速度分析
f=5, 右側(cè)f=10.
圖 4
Fig. 4
Fig. 4 Rate of convergence of models on FilmTrust
圖 4 各模型在FilmTrust數(shù)據(jù)集上的收斂速度
圖 5
Fig. 5
Fig. 5 Rate of convergence of models on CiaoDVD
圖 5 各模型在CiaoDVD數(shù)據(jù)集上的收斂速度
從圖中可以看出, 在f=5和f=10兩種情況下, BasicMF在兩個數(shù)據(jù)集上的收斂速度都最慢, 而ARMF的收斂速度是最快的.這主要是由于BasicMF在學(xué)習(xí)模型參數(shù)時忽略了用戶之間的相關(guān)性, 數(shù)據(jù)稀疏導(dǎo)致其在每次循環(huán)中學(xué)到的參數(shù)變動較大, 難以達到平穩(wěn)狀態(tài), 收斂速度比較緩慢; 其他模型通過約束用戶向量之間的相似性緩解了數(shù)據(jù)稀疏問題, 使模型的收斂速度加快; ARMF收斂速度之所以能夠大幅度優(yōu)于其他RMF模型, 是因為注意力機制使ARMF能夠快速分析出用戶更準(zhǔn)確的偏好.
此外, SocialRec, SocialReg, SocialMF和CUNE的收斂速度在兩個數(shù)據(jù)集上的收斂速度表現(xiàn)不同.由于這4個模型都在訓(xùn)練模型參數(shù)時約束用戶與其相似朋友有相似的特征向量, 根據(jù)f=5和f=10時, 它們在FilmTrust數(shù)據(jù)集上收斂速度相差都不大.但當(dāng)f=5時, 它們在CiaoDVD數(shù)據(jù)集上的收斂速度相差較大.這主要是因為將CiaoDVD數(shù)據(jù)集中信任關(guān)系看作相似關(guān)系會引入較多噪音, 同時, 數(shù)據(jù)稀疏導(dǎo)致CUNE挖掘到的相似關(guān)系中也會存在較多噪音.噪音的存在, 使得收斂速度會對模型目標(biāo)函數(shù)比較敏感, 不同的目標(biāo)函數(shù)會有不同的優(yōu)化過程, 使得它們的收斂速度也相差較大.但是當(dāng)f=10時, 它們在CiaoDVD數(shù)據(jù)集上又有相近的收斂速度.這是因為特征向量維度的增加使得模型健壯性較好, 使得模型不再因為噪音的出現(xiàn)而使收斂速度對模型目標(biāo)函數(shù)敏感.
對比4副圖還可以發(fā)現(xiàn), 所有模型在FlimTrust數(shù)據(jù)集上的收斂速度比其在CiaoDVD上的收斂速度快.這主要是因為FlimTrust數(shù)據(jù)集中用戶平均評分記錄個數(shù)比CiaoDVD數(shù)據(jù)集中的要多, 用戶評分記錄越多, 就更容易分析出其偏好, 也就加快了模型收斂速度.
3.4.3 注意力機制分析
為驗證ARMF中注意力機制的有效性, 將ARMF去掉注意力機制之后的模型NEMF在兩個數(shù)據(jù)集的Warm集和Cold集上做實驗比較其和其他模型的準(zhǔn)確性.當(dāng)f=5時, 所有模型在4個數(shù)據(jù)集上的RMSE實驗結(jié)果如f=10時能夠得到同樣的結(jié)論, 所以此處省略了對比實驗圖.
圖 6
Fig. 6
Fig. 6 RMSE of models on four dataset
圖 6 各模型在4個數(shù)據(jù)集上的RMSE
3.4.4 模型特點總結(jié)
在綜合比較了各個模型的準(zhǔn)確性以及收斂速度后, 為對實驗中所有對比模型有更直觀的了解, 對各模型的特點進行了如下總結(jié)(見
表 5(Table 5)
Table 5 Summary of different models' characteristics
表 5 各模型特點總結(jié)
模型
數(shù)據(jù)稀疏敏感度
冷啟動敏感度
社交網(wǎng)絡(luò)依賴性
模型收斂速度
推薦準(zhǔn)確度
實用性
BasicMF
強
強
弱
慢
低
弱
SocialRec
強
強
強
快
低
弱
SocialMF
中
強
強
中
中
中
SocialReg
中
強
強
中
中
中
CUNE
中
強
弱
中
中
中
ARMF
弱
弱
強
快
高
強
Table 5 Summary of different models' characteristics
表 5 各模型特點總結(jié)
●??由于BasicMF不依賴社交網(wǎng)絡(luò), 所以對數(shù)據(jù)稀疏和冷啟動敏感度都比較強, 繼而導(dǎo)致模型的推薦準(zhǔn)確度很低, 收斂速度很慢.綜合看來, BasicMF的實用性很弱;
●??SocialRec通過共享用戶特征矩陣同時分解評分矩陣和信任關(guān)系矩陣, 雖然使模型收斂速度加快, 但是數(shù)據(jù)稀疏和冷啟動問題導(dǎo)致其準(zhǔn)確性與BasicMF接近, 其實用性也較弱;
●??SocialMF和SocialReg通過引入信任關(guān)系緩解數(shù)據(jù)稀疏和冷啟動問題, 不僅加快了模型收斂速度, 也使模型準(zhǔn)確度提升.但這兩個模型將用戶的信任人看作其相似朋友, 在引入噪音的同時, 丟失了可能存在的相似關(guān)系, 導(dǎo)致模型性能提升并不明顯, 實用性不是很強;
●??CUNE依據(jù)評分矩陣構(gòu)建網(wǎng)絡(luò)并挖掘用戶間的相似關(guān)系, 解決了數(shù)據(jù)稀疏問題, 提高了模型準(zhǔn)確度和模型的收斂速度.但對于冷啟動用戶, 該算法無法學(xué)習(xí)到其準(zhǔn)確的特征向量, 所以實用性不是很高;
●??ARMF利用信任關(guān)系作為評分矩陣的輔助信息挖掘用戶間的相似關(guān)系, 解決了數(shù)據(jù)稀疏和冷啟動問題, 同時具有最高的準(zhǔn)確度和最快的收斂速度, 所以有較強的實用性.
4 結(jié)束語
為解決數(shù)據(jù)稀疏和冷啟動問題給MF在訓(xùn)練模型時帶來的困擾, 本文提出了融合用戶信任關(guān)系和評分矩陣的基于注意力機制的規(guī)范化矩陣分解算法.ARMF在挖掘用戶間可靠相似關(guān)系的同時, 能夠分析出用戶對項目不同特征的關(guān)注度, 獲取用戶更準(zhǔn)確的偏好.在利用網(wǎng)絡(luò)嵌入技術(shù)找用戶之間的相似關(guān)系時, 為解決數(shù)據(jù)稀疏問題帶來的困擾, ARMF在依據(jù)評分矩陣構(gòu)建用戶-項目異構(gòu)網(wǎng)絡(luò)時, 考慮了用戶之間的信任關(guān)系對網(wǎng)絡(luò)的影響, 同時解決了冷啟動問題.另外, ARMF通過雙線性方式引入了注意力機制, 在沒有大幅增加模型復(fù)雜度的情況下, 獲取了用戶準(zhǔn)確的偏好, 同時保證了相似用戶之間有相似的特征向量, 提高了推薦準(zhǔn)確度; 注意力機制的引入也使模型收斂速度大大加快.在兩個真實數(shù)據(jù)集上的大量實驗結(jié)果, 驗證了ARMF的準(zhǔn)確性和健壯性.
本文由人工智能賦能的數(shù)據(jù)管理、分析與系統(tǒng)專刊特約編輯李戰(zhàn)懷教授、于戈教授和楊曉春教授推薦.
總結(jié)
以上是生活随笔為你收集整理的ciaodvd数据集的简单介绍_基于注意力机制的规范化矩阵分解推荐算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科沃斯擦窗机器人擦不干净怎么办_家用自动
- 下一篇: echart 饼图设置指引线_EXCEL