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