鬼佬大哥大
  • / 18
  • 下載費用:30 金幣  

一種面向群組的基于聯合概率矩陣分解的項目推薦方法.pdf

摘要
申請專利號:

CN201510581626.0

申請日:

2015.09.11

公開號:

CN105260390A

公開日:

2016.01.20

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 17/30申請日:20150911|||公開
IPC分類號: G06F17/30; G06Q50/00(2012.01)I 主分類號: G06F17/30
申請人: 合肥工業大學
發明人: 王剛; 蔣軍; 程八一; 何耀耀; 汪洋; 孫二冬; 夏婷婷
地址: 230009安徽省合肥市包河區屯溪路193號
優先權:
專利代理機構: 安徽省合肥新安專利代理有限責任公司34101 代理人: 陸麗莉; 何梅生
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510581626.0

授權公告號:

||||||

法律狀態公告日:

2016.11.16|||2016.02.17|||2016.01.20

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明公開了一種面向群組的基于聯合概率矩陣分解的項目推薦方法,其特征包括如下步驟:步驟一,用三元組表示用戶對項目的評分信息和用戶屬于群組的信息;步驟二,計算基于用戶屬于群組信息三元組的用戶相關性;步驟三,實施基于用戶相關性的聯合概率矩陣分解方法,獲得用戶特征矩陣和項目特征矩陣;步驟四,利用平均策略計算得到群組特征矩陣;步驟五,獲取每個群組對項目的預測評分最高的前N個項目構成推薦列表。本發明將基于群組信息的用戶相關性融入到概率矩陣分解之中,實施基于用戶相關性的聯合概率矩陣分解,并且利用平均策略計算得到群組特征矩陣,從而得到面向群組的推薦結果,在一定程度上能過為群組提供更加準確的個性化服務。

權利要求書

1.一種面向群組的基于聯合概率矩陣分解的項目推薦方法,其特征是按如下步驟進行:
步驟1、構造三元組T和三元組P:
步驟1.1、用三元組T=<U,I,R>表示用戶對項目的評分信息;U表示用戶集,并有
U={U1,U2,...,Ui,...,U|U|};Ui表示第i個用戶;I表示項目集,并有I={I1,I2,...,Ij,...,I|I|};Ij
表示第j個項目;R表示評分信息矩陣,并有R={Ri,j}|U|×|I|;Ri,j表示第i個用戶Ui對第j個
項目Ij的評分;1≤i≤|U|;1≤j≤|I|;
步驟1.2、用三元組P=<G,U,A>表示用戶屬于群組的信息;G表示群組集,并有
G={G1,G2,...,Gg,...,G|G|};Gg表示第g個群組;A表示群組用戶矩陣,并有A={Ag,i}|G|×|U|;
Ag,i=1表示第i個用戶Ui屬于第g個群組;Ag,i=0表示第i個用戶Ui不屬于第g個群組;
1≤g≤|G|;
步驟2、計算基于三元組P的用戶相關性;
步驟2.1、利用式(1)獲得第i個用戶Ui和第m個用戶Um共同屬于同一群組的個數Ci,m,
從而獲得所有用戶之間的共同屬于同一群組的信息矩陣C={Ci,m}|U|×|U|:
Ci,m=|A·i∩A·m|(1)
式(1)中,A·i表示第i個用戶Ui是否屬于群組集G的信息;A·m表示第m個用戶Um是否
屬于群組集G的信息;1≤m≤|U|;
步驟2.2、利用式(2)獲得歸一化處理后的個數C′i,m,從而獲得所有用戶之間的共同屬于同
一群組的歸一化信息矩陣C′={C′i,m}|U|×|U|:
C i , m = C i , m m a x { C i , 1 , C i , 2 , ... , C i , | U | } - - - ( 2 ) ]]>
步驟3、利用聯合概率矩陣分解方法獲得用戶特征矩陣W和項目特征矩陣V:
步驟3.1、利用式(3)構建評分信息矩陣R的先驗分布
p ( R | W , V , σ R 2 ) = Π i = 1 | U | Π j = 1 | I | ( N ( R i , j | g ( W i T V j ) , σ R 2 ) ) I i , j R - - - ( 3 ) ]]>
式(3)中,Wi表示第i個用戶Ui的特征向量;Vj表示第j個項目Ij的特征向量;W表示所
有用戶的特征向量所構成的用戶特征矩陣;V表示所有項目的特征向量所構成的項目特征矩
陣;表示第i個用戶Ui對第j個項目Ij的評分Ri,j服從均值為
方差為的正態分布;并有表示將的值映射到[0,1]內;當第i個
用戶Ui對第j個項目Ij進行過評分,則令否則,令
步驟3.2、利用式(4)構建用戶特征矩陣W的先驗分布
p ( W | C , σ W 2 , σ C 2 ) p ( W | σ W 2 ) p ( W | C , σ C 2 ) = Π i = 1 | | U | N ( W i | 0 , σ W 2 J ) × Π i = 1 | U | N ( W i | Σ m = 1 | U | C i , m W m , , σ C 2 J ) - - - ( 4 ) ]]>
式(4)中,J表示單位向量;表示第i個用戶Ui的特征向量Wi的方差,
表示第i個用戶Ui的特征向量Wi服從均值為0,方差為的正態分布;同理,
表示第i個用戶Ui的特征向量Wi服從均值為方差為
的正態分布;Wm表示第m個用戶Um的特征向量;
步驟3.3、利用式(5)構建項目特征矩陣V的先驗分布
p ( V | σ V 2 ) = Π j = 1 | I | N ( V j | 0 , σ V 2 J ) - - - ( 5 ) ]]>
式(5)中,表示第j個項目Ij的特征向量Vj服從均值為0,方差為的正
態分布;
步驟3.4、由式(3)、式(4)和式(5)進行貝葉斯推斷,獲得如式(6)所示的用戶特征矩陣W和
項目特征矩陣V的極大后驗概率
p ( W , V | R , C , σ R 2 , σ C 2 , σ W 2 , σ V 2 ) p ( R | W , V , σ R 2 ) p ( W | C , σ W 2 , σ C 2 ) p ( V | σ V 2 ) = Π i = 1 | U | Π j = 1 | I | ( N ( R i , j | g ( W i T V j ) , σ R 2 ) ) I i , j R × Π i = 1 | U | N ( W i | 0 , σ W 2 J ) × Π i = 1 | U | N ( W i | Σ m = 1 | U | C i , m W m , σ C 2 J ) × Π j = 1 | I | N ( V j | 0 , σ V 2 J ) - - - ( 6 ) ]]>
步驟3.5、對式(6)經過對數處理獲得式(7):
ln p ( W , V | R , C , σ R 2 , σ C 2 , σ W 2 , σ V 2 ) = - 1 2 σ R 2 Σ i = 1 | U | Σ j = 1 | V | I i , j R ( R i , j - g ( W i T V j ) ) 2 - 1 2 σ W 2 Σ i = 1 | U | W i T W i - 1 2 σ C 2 Σ i = 1 | U | ( W i - Σ m = 1 | U | C i , m W m ) T ( W i - Σ m = 1 | U | C i , m W m ) - 1 2 σ V 2 Σ j = 1 | I | V j T V j - 1 2 ( Σ i = 1 | U | Σ j = 1 | V | I i , j R ) lnσ R 2 - 1 2 ( | U | × H ) lnσ W 2 - 1 2 ( | U | × H ) lnσ C 2 - 1 2 ( | I | × H ) lnσ V 2 + D - - - ( 7 ) ]]>
式(7)中,H表示第i個用戶的特征向量Wi和第j個項目的特征向量Vj的維度;D為常
量;
步驟3.6、對式(7)進行推導,獲得如式(8)所示的最小化目標函數L(R,C′,W,V):
L ( R , C , W , V ) = 1 2 Σ i = 1 | U | Σ j = 1 | I | I i , j R ( R i , j - g ( W i T V j ) ) 2 + λ W 2 Σ i = 1 | U | W i T W i + λ V 2 Σ j = 1 | I | V j T V j + λ C 2 Σ i = 1 | U | ( W i - Σ m = 1 | U | C i , m W m ) ) T ( W i - Σ m = 1 | U | C i , m W m ) ) - - - ( 8 ) ]]>
式(8)中, λ W = σ R 2 σ W 2 , λ V = σ R 2 σ V 2 , λ C = σ R 2 σ C 2 ; ]]>
步驟3.7、隨機初始化用戶特征矩陣W和項目的特征矩陣V;
步驟3.8、設定迭代閾值為τ,并初始化迭代次數Z=1;
步驟3.9、利用式(9)和式(10)分別獲得第Z次迭代的第i個用戶Ui的特征向量Wi的梯度
以及第Z次迭代的第j個項目Ij的特征向量Vj的梯度
( L W i ) ( Z ) = Σ j = 1 | I | I i , j R g ( ( W i ( Z ) ) T V j ( Z ) ) ( g ( ( W i ( Z ) ) T V j ( Z ) ) - R i , j ) V j ( Z ) + λ W W i ( Z ) + λ C ( W i ( Z ) - Σ m = 1 | U | C i , m W m ( Z ) ) - λ C Σ m = 1 | U | C m , i ( W m ( Z ) - Σ t = 1 | U | C t , m W t ( Z ) ) - - - ( 9 ) ]]>
( L V j ) ( Z ) = Σ i = 1 | U | I i , j R g ( ( W i ( Z ) ) T V j ( Z ) ) ( g ( ( W i ( Z ) ) T V j ( Z ) ) - R i , j ) W i ( Z ) + λ V V j ( Z ) - - - ( 10 ) ]]>
步驟3.10、利用式(11)和式(12)分別更新第Z次迭代的第i個用戶Ui的特征向量以及
第Z次迭代的第j個項目Ij的特征向量獲得第Z+1次迭代的第i個用戶Ui的特征向量
以及第Z+1次迭代的第j個項目Ij的特征向量
W i ( Z + 1 ) = W i ( Z ) - β ( L W i ) ( Z ) - - - ( 11 ) ]]>
V j ( Z + 1 ) = V j ( Z ) - β ( L V j ) ( Z ) - - - ( 12 ) ]]>
式(11)和式(12)中,β為學習率;
步驟3.11、將Z+1賦值給Z,判斷Z≤τ是否成立,若成立,則重復步驟3.9和步驟3.10
執行;否則,表示獲得更新的第i個用戶Ui的特征向量Wi′以及更新的第j個項目Ij的特征向
量Vj′,從而獲得所有用戶更新的用戶特征矩陣W′和更新的項目特征矩陣V′;
步驟4、利用平均策略計算得到群組特征矩陣M:
步驟4.1、利用式(13)得到第g個群組Gg的群組特征向量Mg:
M g = 1 | G g | Σ x = 1 | G g | W g ( x ) - - - ( 13 ) ]]>
式(13)中,表示屬于第g個群組Gg的第x個用戶UX的特征向量;|Gg|表示第g個群
組Gg內所含用戶的個數;
步驟4.2、對所有群組,重復步驟4.1,從而獲得群組特征矩陣
M={M1,M2,…,Mg,…M|G|};
步驟5、獲取對每個群組的預測評分最高的前N個項目構成推薦列表:
步驟5.1、利用式(14)得到第g個群組Gg對第j個項目Ij的預測評分
R g , j ^ = Σ l = 1 H M g ( l ) V j ( l ) - - - ( 14 ) ]]>
式(14)中,表示第g個群組Gg的特征向量Mg中第l個元素;表示第j個項目Ij的
特征向量Vj中第l個元素;
步驟5.2、重復步驟5.1,從而獲得第g個群組Gg對所有項目的預測評分,并從所有項目
的預測評分中選取評分最高的且第g個群組Gg中所有用戶均未評分的前N個項目組成第g
個群組Gg的推薦列表,從而獲得所有群組的推薦列表。

說明書

一種面向群組的基于聯合概率矩陣分解的項目推薦方法

技術領域

本發明涉及計算機應用技術領域,具體地說是一種面向群組的基于聯合概率矩陣分解的
項目推薦方法。

背景技術

隨著信息技術和社交網絡的快速發展,各種虛擬社區不斷涌現,社區中的用戶之間交流
越來越便捷。頻繁的社區活動使用戶結成群組,共同參與一些活動,他們的行為表現出一定
的群組特征。因此,推薦系統面向的用戶從個體轉向群組的情況越來越多,群組推薦就是根
據群組內用戶的綜合偏好,為其推薦感興趣的信息和項目。目前,MusixFX,PolyLens,TV4M
等群組推薦系統已經被陸續開發出來并廣泛應用,大幅度減少了群組用戶搜索信息消耗的時
間和精力,提升了群組用戶的滿意度。

群推薦技術是在基于個人的推薦技術的基礎上發展起來的,其主要思路是在基于個人的
推薦技術的個體偏好提取、評分預測和獲得個人推薦列表等不同階段運用合成策略,從而獲
得面向群組的推薦。現有的研究方法雖然能夠為群組推薦系統的構建提供理論基礎和實踐指
導,但是仍然存在很多不足之處:

(1)沒有考慮群組內用戶之間的相關性。已有的面向群組的推薦方法很少考慮用戶之間
的相關性,或者只是從全局的角度考慮用戶之間的相關性,卻沒有考慮群組內用戶之間的相
關性。實際上,用戶加入某一群組,是因為用戶的個人偏好與群組的整體偏好存在一定的相
關性。因此,群組內的用戶之間在個人偏好方面也存在一定的相關性,而且,隨著用戶加入
相同群組的個數越來越多,這種相關性會越來越強。但是,現有的面向群組的推薦方法卻沒
有考慮群組內成員之間的相關性這一重要因素,降低了面向群組的推薦系統的精度。

(2)群推薦的合成階段問題。現有的基于矩陣分解的群推薦方法,一種是在運用矩陣分
解方法之前的個人特征偏好提取階段,運用合成策略得到群組的偏好,然后,運用矩陣分解
方法獲得對群組的推薦結果。另一種是在通過矩陣分解方法得到個人對項目的預測評分后,
對預測評分或者是通過預測評分得到的個人推薦列表運用合成策略,從而得到面向群組的推
薦列表。然而,在通過對用戶項目評分矩陣實施矩陣分解獲得用戶特征矩陣后,將群組內用
戶的特征向量運用合成策略合成得到群組的特征向量,這一階段的合成問題還沒有進行研究。

發明內容

本發明是為了克服現有技術存在的不足之處,提供一種面向群組的基于聯合概率矩陣分
解的項目推薦方法,以期能充分考慮群組內成員之間的相關性,并在群推薦的新的合成階段
運用合成策略,從而能提高面向群組的項目推薦的精度,提升群組內成員對推薦結果的滿意
度。

本發明為達到上述發明目的采用如下技術方案:

本發明一種面向群組的基于聯合概率矩陣分解的項目推薦方法的特點是按如下步驟進
行:

步驟1、構造三元組T和三元組P:

步驟1.1、用三元組T=<U,I,R>表示用戶對項目的評分信息;U表示用戶集,并有
U={U1,U2,...,Ui,...,U|U|};Ui表示第i個用戶;I表示項目集,并有I={I1,I2,...,Ij,...,I|I|};Ij
表示第j個項目;R表示評分信息矩陣,并有R={Ri,j}|U|×|I|;Ri,j表示第i個用戶Ui對第j個
項目Ij的評分;1≤i≤|U|;1≤j≤|I|;

步驟1.2、用三元組P=<G,U,A>表示用戶屬于群組的信息;G表示群組集,并有
G={G1,G2,...,Gg,...,G|G|};Gg表示第g個群組;A表示群組用戶矩陣,并有A={Ag,i}|G|×|U|;
Ag,i=1表示第i個用戶Ui屬于第g個群組;Ag,i=0表示第i個用戶Ui不屬于第g個群組;
1≤g≤|G|;

步驟2、計算基于三元組P的用戶相關性;

步驟2.1、利用式(1)獲得第i個用戶Ui和第m個用戶Um共同屬于同一群組的個數Ci,m,
從而獲得所有用戶之間的共同屬于同一群組的信息矩陣C={Ci,m}|U|×|U|:

Ci,m=|A·i∩A·m|(1)

式(1)中,A·i表示第i個用戶Ui是否屬于群組集G的信息;A·m表示第m個用戶Um是否
屬于群組集G的信息;1≤m≤|U|;

步驟2.2、利用式(2)獲得歸一化處理后的個數C′i,m,從而獲得所有用戶之間的共同屬于同
一群組的歸一化信息矩陣C′={C′i,m}|U|×|U|:

C i , m = C i , m m a x { C i , 1 , C i , 2 , ... , C i , | U | } - - - ( 2 ) ]]>

步驟3、利用聯合概率矩陣分解方法獲得用戶特征矩陣W和項目特征矩陣V:

步驟3.1、利用式(3)構建評分信息矩陣R的先驗分布

p ( R | W , V , σ R 2 ) = Π i = 1 | U | Π j = 1 | I | ( N ( R i , j | g ( W i T V j ) , σ R 2 ) ) I i , j R - - - ( 3 ) ]]>

式(3)中,Wi表示第i個用戶Ui的特征向量;Vj表示第j個項目Ij的特征向量;W表示所
有用戶的特征向量所構成的用戶特征矩陣;V表示所有項目的特征向量所構成的項目特征矩
陣;表示第i個用戶Ui對第j個項目Ij的評分Ri,j服從均值為g(WiTVj),
方差為的正態分布;并有表示將WiTVj的值映射到[0,1]內;當第i個
用戶Ui對第j個項目Ij進行過評分,則令否則,令

步驟3.2、利用式(4)構建用戶特征矩陣W的先驗分布

p ( W | C , σ W 2 , σ C 2 ) p ( W | σ W 2 ) p ( W | C , σ C 2 ) = Π i = 1 | | U | N ( W i | 0 , σ W 2 J ) × Π i = 1 | U | N ( W i | Σ m = 1 | U | C i , m W m , , σ C 2 J ) - - - ( 4 ) ]]>

式(4)中,J表示單位向量;表示第i個用戶Ui的特征向量Wi的方差,
表示第i個用戶Ui的特征向量Wi服從均值為0,方差為的正態分布;同理,
表示第i個用戶Ui的特征向量Wi服從均值為方差為
的正態分布;Wm表示第m個用戶Um的特征向量;

步驟3.3、利用式(5)構建項目特征矩陣V的先驗分布

p ( V | σ V 2 ) = Π j = 1 | I | N ( V j | 0 , σ V 2 J ) - - - ( 5 ) ]]>

式(5)中,表示第j個項目Ij的特征向量Vj服從均值為0,方差為的正
態分布;

步驟3.4、由式(3)、式(4)和式(5)進行貝葉斯推斷,獲得如式(6)所示的用戶特征矩陣W和
項目特征矩陣V的極大后驗概率

p ( W , V | R , C , σ R 2 , σ C 2 , σ W 2 , σ V 2 ) p ( R | W , V , σ R 2 ) p ( W | C , σ W 2 , σ C 2 ) p ( V | σ V 2 ) = Π i = 1 | U | Π j = 1 | I | ( N ( R i , j | g ( W i T V j ) , σ R 2 ) ) I i , j R × Π i = 1 | U | N ( W i | 0 , σ W 2 J ) × Π i = 1 | U | N ( W i | Σ m = 1 | U | C i , m W m , σ C 2 J ) × Π j = 1 | I | N ( V j | 0 , σ V 2 J ) - - - ( 6 ) ]]>

步驟3.5、對式(6)經過對數處理獲得式(7):

ln p ( W , V | R , C , σ R 2 , σ C 2 , σ W 2 , σ V 2 ) = - 1 2 σ R 2 Σ i = 1 | U | Σ j = 1 | V | I i , j R ( R i , j - g ( W i T V j ) ) 2 1 2 σ R 2 Σ i = 1 | U | W i T W i - 1 2 σ C 2 Σ i = 1 | U | ( W i - Σ m = 1 | U | C i , m W m ) T ( W i - Σ m = 1 | U | C i , m W m ) - 1 2 σ V 2 Σ j = 1 | I | V j T V j - 1 2 ( Σ i = 1 | U | Σ j = 1 | V | I i , j R ) lnσ R 2 - 1 2 ( | U | × H ) lnσ W 2 - 1 2 ( | U | × H ) lnσ C 2 - 1 2 ( | I | × H ) lnσ V 2 + D - - - ( 7 ) ]]>

式(7)中,H表示第i個用戶的特征向量Wi和第j個項目的特征向量Vj的維度;D為常
量;

步驟3.6、對式(7)進行推導,獲得如式(8)所示的最小化目標函數L(R,C′,W,V):

L ( R , C , W , V ) = 1 2 Σ i = 1 | U | Σ j = 1 | I | I i , j R ( R i , j - g ( W i T V j ) ) 2 + λ W 2 Σ i = 1 | U | W i T W i + λ V 2 Σ j = 1 | I | V j T V j + λ C 2 Σ i = 1 | U | ( W i - Σ m = 1 | U | C i , m W m ) ) T ( W i - Σ m = 1 | U | C i , m W m ) ) - - - ( 8 ) ]]>

式(8)中, λ W = σ R 2 σ W 2 , λ V = σ R 2 σ V 2 , λ C = σ R 2 σ C 2 ; ]]>

步驟3.7、隨機初始化用戶特征矩陣W和項目的特征矩陣V;

步驟3.8、設定迭代閾值為τ,并初始化迭代次數Z=1;

步驟3.9、利用式(9)和式(10)分別獲得第Z次迭代的第i個用戶Ui的特征向量Wi的梯度
以及第Z次迭代的第j個項目Ij的特征向量Vj的梯度

( L W i ) ( Z ) = Σ j = 1 | I | I i , j R g ( ( W i ( Z ) ) T V j ( Z ) ) ( g ( ( W i ( Z ) ) T V j ( Z ) ) - R i , j ) V j ( Z ) + λ W W i ( Z ) + λ C ( W i ( Z ) - Σ m = 1 | U | C i , m W m ( Z ) ) - λ C Σ m = 1 | U | C m , i ( W m ( Z ) - Σ t = 1 | U | C t , m W t ( Z ) ) - - - ( 9 ) ]]>

( L V j ) ( Z ) = Σ i = 1 | U | I i , j R g ( ( W i ( Z ) ) T V j ( Z ) ) ( g ( ( W i ( Z ) ) T V j ( Z ) ) - R i , j ) V i ( Z ) + λ V V j ( Z ) - - - ( 10 ) ]]>

步驟3.10、利用式(11)和式(12)分別更新第Z次迭代的第i個用戶Ui的特征向量Wi(Z)以及
第Z次迭代的第j個項目Ij的特征向量獲得第Z+1次迭代的第i個用戶Ui的特征向量
Wi(Z+1)以及第Z+1次迭代的第j個項目Ij的特征向量

W i ( Z + 1 ) = W i ( Z ) - β ( L W i ) ( Z ) - - - ( 11 ) ]]>

V j ( Z + 1 ) = V j ( Z ) - β ( L V j ) ( Z ) - - - ( 12 ) ]]>

式(11)和式(12)中,β為學習率;

步驟3.11、將Z+1賦值給Z,判斷Z≤τ是否成立,若成立,則重復步驟3.9和步驟3.10
執行;否則,表示獲得更新的第i個用戶Ui的特征向量W′i以及更新的第j個項目Ij的特征向
量V′j,從而獲得所有用戶更新的用戶特征矩陣W′和更新的項目特征矩陣V′;

步驟4、利用平均策略計算得到群組特征矩陣M:

步驟4.1、利用式(13)得到第g個群組Gg的群組特征向量Mg:

M g = 1 | G g | Σ x = 1 | G g | W g ( x ) - - - ( 13 ) ]]>

式(13)中,表示屬于第g個群組Gg的第x個用戶UX的特征向量;|Gg|表示第g個群
組Gg內所含用戶的個數;

步驟4.2、對所有群組,重復步驟4.1,從而獲得群組特征矩陣
M={M1,M2,…,Mg,…M|G|};

步驟5、獲取對每個群組的預測評分最高的前N個項目構成推薦列表:

步驟5.1、利用式(14)得到第g個群組Gg對第j個項目Ij的預測評分

R g , j ^ = Σ l = 1 H M g ( l ) V j ( l ) - - - ( 14 ) ]]>

式(14)中,表示第g個群組Gg的特征向量Mg中第l個元素;表示第j個項目Ij的
特征向量Vj中第l個元素;

步驟5.2、重復步驟5.1,從而獲得第g個群組Gg對所有項目的預測評分,并從所有項目
的預測評分中選取評分最高的且第g個群組Gg中所有用戶均未評分的前N個項目組成第g
個群組Gg的推薦列表,從而獲得所有群組的推薦列表。

與已有技術相比,本發明有益效果體現在:

1、本發明將群組內用戶相關性融入到概率矩陣分解中,并且通過合成策略合成群組內用
戶的特征向量獲得群組的特征向量,進而獲得面向群組的項目推薦列表,從而克服了已經存
在的群推薦方法信息利用不完整的現象,為在新的階段運用合成策略得到群推薦結果提供了
一個參考,明顯提高了面向群組推薦的精度,有效地緩解了數據稀疏問題和冷啟動問題。

2、本發明利用用戶共同加入群組的信息來獲得用戶之間的相關性,并將這種用戶之間的
相關性融入到概率矩陣分解中,提出了一種融入群組內用戶相關性的聯合概率矩陣分解方法,
其推薦精度明顯高于未融入群組內用戶相關性的概率矩陣分解方法。

3、本發明利用融入群組內用戶相關性的概率矩陣分解方法得到用戶特征矩陣和項目特征
矩陣,運用合成策略將群組內用戶的特征向量合成得到群組的特征向量,最后通過群組特征
向量和項目特征向量的內積獲得群組對項目的預測評分;與已有的群推薦方法相比,本發明
首次在概率矩陣分解的獲得用戶特征矩陣階段采用合成策略,證明了該方法的可行性。

4、本發明可以向群組推薦圖書、電影、音樂和旅游地點等多種項目。同時,本發明所提
出的方法可以在電腦和手機的網頁和App等平臺上的推薦系統中使用,應用范圍廣泛。

附圖說明

圖1為本發明流程示意圖;

圖2為本發明不同合成策略在準確率下的敏感性實驗結果;

圖3為本發明不同合成策略在召回率下的敏感性實驗結果;

圖4為本發明推薦準確率實驗結果;

圖5為本發明推薦召回率實驗結果。

具體實施方式

本發明利用三元組表示用戶對項目的評分信息和用戶屬于群組的信息,并且計算基于用
戶屬于群組三元組的用戶相關性。然后將計算得到的用戶相關性融入到概率矩陣分解之中,
實施基于用戶相關性的聯合概率矩陣分解方法,得到用戶特征矩陣和項目特征矩陣。最后通
過合成策略合成用戶特征矩陣得到群組特征矩陣,并結合項目特征矩陣預測群組對項目的評
分,從而依據預測評分得到面向群組的項目推薦列表。具體的說,如圖1所示,本發明方法包
括以下步驟:

步驟1、利用三元組T表示用戶對項目的評分信息,利用三元組P表示用戶屬于群組的
信息,具體包括:

步驟1.1、用三元組T=<U,I,R>表示用戶對項目的評分信息;U表示用戶集,并有
U={U1,U2,...,Ui,...,U|U|};Ui表示第i個用戶,|U|為用戶的總個數;I表示項目集,并有
I={I1,I2,...,Ij,...,I|I|};Ij表示第j個項目,|I|為項目的總個數;R表示評分信息矩陣,并有
R={Ri,j}|U|×|I|;Ri,j表示第i個用戶Ui對第j個項目Ij的評分;1≤i≤|U|;1≤j≤|I|;

步驟1.2、用三元組P=<G,U,A>表示用戶屬于群組的信息;G表示群組集,并有
G={G1,G2,...,Gg,...,G|G|};Gg表示第g個群組,|G|為群組的總個數;A表示群組用戶矩陣,
并有A={Ag,i}|G|×|U|;Ag,i=1表示第i個用戶Ui屬于第g個群組;Ag,i=0表示第i個用戶Ui不屬
于第g個群組;1≤g≤|G|;

步驟2、計算基于三元組P的用戶相關性,具體步驟包括;

步驟2.1、利用式(1)獲得第i個用戶Ui和第m個用戶Um共同屬于同一群組的個數Ci,m,
從而獲得所有用戶之間的共同屬于同一群組的信息矩陣C={Ci,m}|U|×|U|:

Ci,m=|A·i∩A·m|(1)

式(1)中,A·i表示第i個用戶Ui是否屬于群組集G的信息,即為群組用戶矩陣A中的第i列
向量;A·m表示第m個用戶Um是否屬于群組集G的信息,即為群組用戶矩陣A中的第m列向
量;1≤m≤|U|;

步驟2.2、利用式(2)獲得歸一化處理后的個數C′i,m,從而獲得所有用戶之間的共同屬于同
一群組的歸一化信息矩陣C′={C′i,m}|U|×|U|:

C i , m = C i , m m a x { C i , 1 , C i , 2 , ... , C i , | U | } - - - ( 2 ) ]]>

步驟3、將計算得到的用戶相關性融入到概率矩陣分解方法中,實施基于用戶相關性的
聯合概率矩陣分解方法,獲得用戶特征矩陣W和項目特征矩陣V,具體包括:

步驟3.1、利用式(3)構建評分信息矩陣R的先驗分布

p ( R | W , V , σ R 2 ) = Π i = 1 | U | Π j = 1 | I | ( N ( R i , j | g ( W i T V j ) , σ R 2 ) ) I i , j R - - - ( 3 ) ]]>

式(3)中,Wi表示第i個用戶Ui的特征向量;Vj表示第j個項目Ij的特征向量;W表示所
有用戶的特征向量所構成的用戶特征矩陣;V表示所有項目的特征向量所構成的項目特征矩
陣;表示第i個用戶Ui對第j個項目Ij的評分Ri,j服從均值為g(WiTVj),
方差為的正態分布;并有表示將WiTVj的值映射到[0,1]內;當第i個
用戶Ui對第j個項目Ij進行過評分,則令否則,令

步驟3.2、利用式(4)構建用戶特征矩陣W的先驗分布

p ( W | C , σ W 2 , σ C 2 ) p ( W | σ W 2 ) p ( W | C , σ C 2 ) = Π i = 1 | | U | N ( W i | 0 , σ W 2 J ) × Π i = 1 | U | N ( W i | Σ m = 1 | U | C i , m W m , , σ C 2 J ) - - - ( 4 ) ]]>

式(4)中,J表示單位向量;表示第i個用戶Ui的特征向量Wi的方差,
表示第i個用戶Ui的特征向量Wi服從均值為0,方差為的正態分布;同理,
表示第i個用戶Ui的特征向量Wi服從均值為方差為
的正態分布;Wm表示第m個用戶Um的特征向量。由式(4)可以看出本發明在學習每個用戶的
特征向量時,不僅考慮了用戶自身的特性,即服從均值為0的正態分布以防止過擬合,同時
還考慮到了用戶之間的相關性,即每個用戶的特征向量還要與同一個群組內的用戶的特征向
量相似。

步驟3.3、利用式(5)構建項目特征矩陣V的先驗分布

p ( V | σ V 2 ) = Π j = 1 | I | N ( V j | 0 , σ V 2 J ) - - - ( 5 ) ]]>

式(5)中,表示第j個項目Ij的特征向量Vj服從均值為0,方差為的正
態分布;

步驟3.4、由式(3)、式(4)和式(5)進行貝葉斯推斷,獲得如式(6)所示的用戶特征矩陣W和
項目特征矩陣V的極大后驗概率

p ( W , V | R , C , σ R 2 , σ C 2 , σ W 2 , σ V 2 ) p ( R | W , V , σ R 2 ) p ( W | C , σ W 2 , σ C 2 ) p ( V | σ V 2 ) = Π i = 1 | U | Π j = 1 | I | ( N ( R i , j | g ( W i T V j ) , σ R 2 ) ) I i , j R × Π i = 1 | U | N ( W i | 0 , σ W 2 J ) × Π i = 1 | U | N ( W i | Σ m = 1 | U | C i , m W m , σ C 2 J ) × Π j = 1 | I | N ( V j | 0 , σ V 2 J ) - - - ( 6 ) ]]>

步驟3.5,對式(6)經過對數處理獲得式(7):

ln p ( W , V | R , C , σ R 2 , σ C 2 , σ W 2 , σ V 2 ) = - 1 2 σ R 2 Σ i = 1 | U | Σ j = 1 | I | I i , j R ( R i , j - g ( W i T V j ) ) 2 1 2 σ W 2 Σ i = 1 | U | - W i T W i - 1 2 σ C 2 Σ i = 1 | U | ( W i - Σ m = 1 | U | C i , m W m ) T ( W i - Σ m = 1 | U | C i , m W m ) - 1 2 σ V 2 Σ j = 1 | I | V j T V j - 1 2 ( Σ i = 1 | U | Σ j = 1 | V | I i , j R ) lnσ R 2 - 1 2 ( | U | × H ) lnσ W 2 - 1 2 ( | U | × H ) lnσ C 2 - 1 2 ( | I | × H ) lnσ V 2 + D - - - ( 7 ) ]]>

式(7)中,H表示第i個用戶的特征向量Wi和第j個項目的特征向量Vj的維度,其值由
人工設定,并且遠小于|U|和|V|;D為常量;

步驟3.6、當參數|U|,|I|,和H固定時,求式(7)的最大值,相當
于求式(8)的最小值,從而獲得如式(8)所示的最小化目標函數L(R,C′,W,V):

L ( R , C , W , V ) = 1 2 Σ i = 1 | U | Σ j = 1 | I | I i , j R ( R i , j - g ( W i T V j ) ) 2 + λ W 2 Σ i = 1 | U | W i T W i + λ V 2 Σ j = 1 | I | V j T V j + λ C 2 Σ i = 1 | U | ( W i - Σ m = 1 | U | C i , m W m ) ) T ( W i - Σ m = 1 | U | C i , m W m ) ) - - - ( 8 ) ]]>

式(8)中, λ W = σ R 2 σ W 2 , λ V = σ R 2 σ V 2 , λ C = σ R 2 σ C 2 ; ]]>

步驟3.7、利用均值為0,方差為的正太分布隨機初始化用戶特征矩陣W。同時,利
用均值為0,方差為的正太分布隨機初始化項目特征矩陣V;

步驟3.8、設定迭代閾值為τ,并初始化迭代次數Z=1;

步驟3.9、利用式(9)和式(10)分別獲得第Z次迭代的第i個用戶Ui的特征向量Wi的梯度
以及第Z次迭代的第j個項目Ij的特征向量Vj的梯度

( L W i ) ( Z ) = Σ j = 1 | I | I i , j R g ( ( W i ( Z ) ) T V j ( Z ) ) ( g ( ( W i ( Z ) ) T V j ( Z ) ) - R i , j ) V j ( Z ) + λ W W i ( Z ) + λ C ( W i ( Z ) - Σ m = 1 | U | C i , m W m ( Z ) ) - λ C Σ m = 1 | U | C m , i ( W m ( Z ) - Σ t = 1 | U | C t , m W t ( Z ) ) - - - ( 9 ) ]]>

( L V j ) ( Z ) = Σ i = 1 | U | I i , j R g ( ( W i ( Z ) ) T V j ( Z ) ) ( g ( ( W i ( Z ) ) T V j ( Z ) ) - R i , j ) V j ( Z ) + λ V V j ( Z ) - - - ( 10 ) ]]>

步驟3.10、利用式(11)和式(12)分別更新第Z次迭代的第i個用戶Ui的特征向量以及
第Z次迭代的第j個項目Ij的特征向量獲得第Z+1次迭代的第i個用戶Ui的特征向量
Wi(Z+1)以及第Z+1次迭代的第j個項目Ij的特征向量

W i ( Z + 1 ) = W i ( Z ) - β ( L W i ) ( Z ) - - - ( 11 ) ]]>

V j ( Z + 1 ) = V j ( Z ) - β ( L V j ) ( Z ) - - - ( 12 ) ]]>

式(11)和式(12)中,β為學習率,β足夠小且β>0,其具體值根據經驗確定;

步驟3.11、將Z+1賦值給Z,判斷Z≤τ是否成立,若成立,則重復步驟3.9和步驟3.10
執行;否則,表示獲得更新的第i個用戶Ui的特征向量W′i以及更新的第j個項目Ij的特征向
量V′j,從而獲得所有用戶更新的用戶特征矩陣W′和更新的項目特征矩陣V′;

步驟4、利用平均策略(Average)計算得到群組特征矩陣M,具體包括:

步驟4.1、利用式(13)所示的平均策略(Average)計算得到第g個群組Gg的群組特征向量
Mg:

M g = 1 | G g | Σ x = 1 | G g | W g ( x ) - - - ( 13 ) ]]>

式(13)中,表示屬于第g個群組Gg內第x個用戶UX的特征向量;|Gg|表示第g個群
組Gg內所含用戶的個數;群推薦中基于分值的,并且常用的合成策略包括平均策略(Average)、
最小痛苦策略(LeastMisery)、最大幸福策略(MostPleasure)等三種。為了比較不同的合成策略
對本發明方法預測精度的影響,本發明在標準數據集上進行了實驗,實驗結果如圖2和圖3
所示。圖2中橫坐標表示向群組推薦項目的個數,縱坐標表示推薦的準確率;圖3中橫坐標
同樣表示向群組推薦項目的個數,縱坐標表示推薦的召回率。從圖2和圖3中的曲線可以看
出,對于本發明所采用的標準數據集,群推薦中的平均合成策略的預測精度明顯高于最小痛
苦策略和最大幸福策略。

步驟4.2、對所有群組,重復步驟4.1,從而獲得群組特征矩陣
M={M1,M2,…,Mg,…M|G|};

步驟5、獲取對每個群組對項目的預測評分最高的前N個項目構成推薦列表,具體包括:

步驟5.1、利用式(14)得到第g個群組Gg對第j個項目Ij的預測評分

R g , j ^ = Σ l = 1 H M g ( l ) V j ( l ) - - - ( 14 ) ]]>

式(14)中,表示第g個群組Gg的特征向量Mg中第l個元素;表示第j個項目Ij的
特征向量Vj中第l個元素;

步驟5.2、重復步驟5.1,從而獲得第g個群組Gg對所有項目的預測評分,并從所有項目
的預測評分中選取評分最高的且第g個群組Gg中所有用戶均未評分的前N個項目組成第g
個群組Gg的推薦列表,從而獲得所有群組的推薦列表。

針對本發明進行實驗論證,具體包括:

(1)準備標準數據集

本發明使用Last.fm數據集作為標準數據集驗證面向群組的基于聯合概率矩陣分解的項
目推薦方法的有效性,Last.fm數據集是應用廣泛的個性化推薦數據集。在Last.fm數據集中,
包括100000位獨立用戶,22443個音樂的29908020條收聽記錄,25397個獨立群組。訓練集
和測試集采用80%/20%的規則進行分割,即80%用來對模型進行訓練,20%用來測試模型的
有效性。

(2)評價指標

采用推薦系統領域常用的準確率(Precision)和召回率(Recall)作為本實驗的評價指標。
準確率(Precision)表示為推薦的項目當中,真正符合群組興趣點的項目所占的比例,準確
率(Precision)越大,推薦質量越高。召回率(Recall)表示推薦項目當中符合群組興趣的占
測試集中項目的比例,召回率(Recall)越大,推薦質量越高。設X表示群推薦的結果,Y
表示測試集。則準確率(Precision)和召回率(Recall)的定義為式(15)和(16):

Pr e c i s i o n = | X Y | | X | - - - ( 15 ) ]]>

Re c a l l = | X Y | | Y | - - - ( 16 ) ]]>

(3)在標準數據集上進行實驗

為了驗證本發明所提出的融入群組內用戶相關性的聯合概率矩陣分解方法有效性,以及
在獲取用戶特征矩陣階段實施群推薦合成策略的可行性。本文在Last.fm數據集上進行建模和
推薦,并將推薦結果和測試集進行比較。實驗結果如圖4和圖5所示,圖4和圖5中橫坐標
均表示推薦的個數,圖4中縱坐標表示推薦的準確率,圖5中縱坐標表示推薦的召回率。并
且,在圖4和圖5中,GMF表示未融入群組內用戶間相關性,在獲得用戶特征矩陣階段運用
合成策略的群推薦方法;而RGMF表示融入了群組內用戶間相關性,在獲得用戶特征矩陣階
段運用合成策略的群推薦方法。由圖4和圖5看出,融入群組內用戶相關性的概率矩陣分解
方法在準確率和召回率方面均優于為普通的概率矩陣分解方法,并且證明了在獲取用戶特征
矩陣階段實施群推薦合成策略的可行性。

關 鍵 詞:
一種 面向 基于 聯合 概率 矩陣 分解 項目 推薦 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種面向群組的基于聯合概率矩陣分解的項目推薦方法.pdf
鏈接地址:http://www.wwszu.club/p-6405419.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大