基于節(jié)點(diǎn)用戶的概率矩陣分解模型的構(gòu)建方法
【專利摘要】本發(fā)明公開了一種基于節(jié)點(diǎn)用戶的概率矩陣分解模型的構(gòu)建方法,步驟一:根據(jù)社交網(wǎng)絡(luò)對推薦的影響來定義用戶影響力;步驟二:對于節(jié)點(diǎn)用戶影響力進(jìn)行形式化的度量;步驟三:構(gòu)建基于節(jié)點(diǎn)用戶的概率矩陣分解模型;步驟四:對基于節(jié)點(diǎn)用戶的概率矩陣分解模型進(jìn)行訓(xùn)練。與現(xiàn)有技術(shù)相比,本發(fā)明能夠加強(qiáng)社交關(guān)系對推薦的作用,進(jìn)一步提高推薦算法的預(yù)測準(zhǔn)確性。
【專利說明】
基于節(jié)點(diǎn)用戶的概率矩陣分解模型的構(gòu)建方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于數(shù)據(jù)挖掘領(lǐng)域的推薦算法,特別是是一種基于節(jié)點(diǎn)用戶的概率矩陣分 解模型。
【背景技術(shù)】
[0002] -個(gè)完整的推薦系統(tǒng)由3部分組成,包括用戶信息收集和用戶偏好分析、推薦算法 W及推薦系統(tǒng)實(shí)現(xiàn)。矩陣分解模型是隱因子模型最成功的一種,也是當(dāng)前推薦系統(tǒng)領(lǐng)域使 用最為廣泛的模型,其推薦準(zhǔn)確度高,而且相對于啟發(fā)式協(xié)同過濾算法可W處理較大規(guī)模 數(shù)據(jù)。目前現(xiàn)有的矩陣分解模型有樸素概率矩陣分解模型、約束概率矩陣分解模型、拓展概 率矩陣分解模型。
[0003] 1)樸素概率矩陣分解模型假設(shè)用戶和物品的特征向量都服從高斯先驗(yàn)分布,并假 設(shè)已經(jīng)觀察到的評分?jǐn)?shù)據(jù)的條件概率同時(shí)也要服從高斯分布。因而在運(yùn)個(gè)假設(shè)前提下,用 戶對物品的喜歡程度便可W轉(zhuǎn)化一些概率組合問題。由于樸素概率矩陣分解模型對于評分 數(shù)量少的用戶會(huì)使其特征向量接近于先驗(yàn)均值或者其他用戶的均值,因而在預(yù)測評分時(shí)也 會(huì)使得評分接近于目標(biāo)物品的均值。2)約束的概率矩陣分解模型就可W很好地解決運(yùn)一類 問題,其是通過引入其他用戶對評分?jǐn)?shù)量稀少用戶的影響來處理運(yùn)一類問題。并且約束的 概率矩陣模型的訓(xùn)練時(shí)間隨著訓(xùn)練樣本數(shù)量線性增加,其表現(xiàn)要優(yōu)于樸素概率模型。特別 的,對于訓(xùn)練數(shù)據(jù)稀少的用戶,約束的概率矩陣模型會(huì)更優(yōu)。3)拓展的概率矩陣分解模型是 一類概率矩陣分解模型,其中包括貝葉斯概率矩陣分解模型、參數(shù)化概率矩陣分解模型、與 文檔主題模型相結(jié)合等。與概率矩陣分解模型相同,貝葉斯概率矩陣分解模型假設(shè)用戶和 物品的特征向量矩陣服從高斯分布,不同用戶、物品概率分布相互獨(dú)立。貝葉斯模型通常是 使用馬爾科夫蒙特卡洛方法進(jìn)行訓(xùn)練,并且預(yù)測誤差比樸素概率矩陣分解模型要好,但同 樣在稀疏的數(shù)據(jù)下獲取潛在信息較為困難。
【發(fā)明內(nèi)容】
[0004] 基于上述現(xiàn)有技術(shù)和存在的問題,本發(fā)明提出了一種基于節(jié)點(diǎn)用戶的概率矩陣分 解模型的構(gòu)建方法,將節(jié)點(diǎn)用戶影響力引入矩陣分解模型,提出基于節(jié)點(diǎn)用戶的概率矩陣 分解模型。
[0005] 本發(fā)明提出了一種基于節(jié)點(diǎn)用戶的概率矩陣分解模型的構(gòu)建方法,該方法包括W 下步驟:
[0006] 步驟一、通過社交關(guān)系矩陣來定義用戶的影響力,即社交關(guān)系矩陣TG {0,l}wn,l 表示有關(guān)系,0表示沒有關(guān)系,有關(guān)系的節(jié)點(diǎn)越多代表該節(jié)點(diǎn)的影響力越大;
[0007] 步驟二、對于節(jié)點(diǎn)用戶的影響力進(jìn)行形式化的度量,包括:使用用戶入度、用戶評 分、W及用戶平均誤差作為衡量用戶影響力的指標(biāo);計(jì)算=個(gè)所述指標(biāo)兩兩之間的相關(guān)性; [000引步驟S、按照"影響力"大小排序,得到影響力最大的一些用戶;
[0009]步驟四、構(gòu)建基于節(jié)點(diǎn)用戶的概率矩陣分解模型,包括:對于社交網(wǎng)絡(luò)中的一個(gè)用 戶,其特征向量會(huì)受到其直接鄰居中影響力最大的一些用戶的影響。設(shè)Nu表示用戶U的節(jié)點(diǎn) 鄰居集合,TG {0,irn為用戶社交關(guān)系矩陣,F(xiàn)v表示用戶V的影響力,則用戶U的特征向量受 運(yùn)些節(jié)點(diǎn)鄰居的影響力扶表示為: r] 9
[0010]
[0011] 式中,Uv表示用戶V的特征向量受運(yùn)些節(jié)點(diǎn)鄰居的影響力,Nu表示用戶U鄰居節(jié)點(diǎn)的 集合;
[0012] 計(jì)算用戶特征向量的條件概率,表示為:
[0013]
[0014] 其中,N(y I O2)表示為均值ii,方差為O2的高斯分布;假設(shè)用戶、物品特征向量W及社 交關(guān)系矩陣服從高斯分布,則通過貝葉斯推導(dǎo),可W得到在給定用戶評分、社交關(guān)系矩陣W 及用戶影響力情況下用戶和物品特征向量的后驗(yàn)概率,將后驗(yàn)概率取對數(shù)(目的是將概率 值放大),得到目標(biāo)函數(shù);
[0015] 步驟五、對基于節(jié)點(diǎn)用戶的概率矩陣分解模型進(jìn)行訓(xùn)練,對后驗(yàn)概率對數(shù)式,求其 極大值,等價(jià)于求解目標(biāo)函數(shù)式的最小值。
[0016] 與現(xiàn)有技術(shù)相比,本發(fā)明能夠加強(qiáng)社交關(guān)系對推薦的作用,進(jìn)一步提高推薦算法 的預(yù)測準(zhǔn)確性。
【附圖說明】
[0017] 圖1為本發(fā)明的基于節(jié)點(diǎn)用戶的概率矩陣分解模型的構(gòu)建方法的整體示意圖;
[0018] 圖2為豆瓣電影數(shù)據(jù)集在=種模型下的實(shí)驗(yàn)結(jié)果示意圖;
[0019] 圖3為化Ip數(shù)據(jù)集在S中模型下的實(shí)驗(yàn)結(jié)果示意圖。
【具體實(shí)施方式】
[0020] W下結(jié)合附圖及【具體實(shí)施方式】,進(jìn)一步詳述本發(fā)明的技術(shù)方案。
[0021] 本發(fā)明提出了一種基于節(jié)點(diǎn)用戶的概率矩陣分解模型,圖1為本發(fā)明的整體示意 圖,包括:
[0022] 步驟1:定義用戶的"影響力",根據(jù)社交網(wǎng)絡(luò)對推薦的影響來定義用戶的"影響 力",即通過使用社交關(guān)系矩陣來度量推薦系統(tǒng)中的用戶"影響力",令TE {〇,irn表示社交 關(guān)系矩陣,1表示有關(guān)系,0表示沒有關(guān)系,有關(guān)系的節(jié)點(diǎn)越多,代表該節(jié)點(diǎn)的影響力越大;G =(V,E)表示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),n = I V I表示節(jié)點(diǎn)個(gè)數(shù),V康示節(jié)點(diǎn)i,eij表示節(jié)點(diǎn)巧日j之間的 邊。
[0023] 步驟2:對于節(jié)點(diǎn)用戶影響力進(jìn)行形式化的度量
[0024] 1、度量社交網(wǎng)絡(luò)用戶的影響力可W轉(zhuǎn)化為度量網(wǎng)格拓?fù)浣Y(jié)構(gòu)中節(jié)點(diǎn)的重要程度。 由于基于社交網(wǎng)絡(luò)的推薦算法在用戶-物品評分矩陣的基礎(chǔ)上增加了社交關(guān)系矩陣,因而 "影響力"的度量需要從用戶-物品評分矩陣W及社交網(wǎng)絡(luò)關(guān)系矩陣中挖掘。本專利使用用 戶入度、用戶評分、W及用戶平均誤差作為衡量用戶影響力的指標(biāo)。用戶入度是在社交網(wǎng)絡(luò) 中,所受到其他用戶關(guān)注的程度,可W反映一個(gè)用戶的受關(guān)注的程度。用戶評分?jǐn)?shù)是反映一 個(gè)用戶的活躍程度W及專業(yè)程度,一般來說,一個(gè)用戶的評分?jǐn)?shù)目越多,就說明他越活躍, 影響力越大。用戶評分平均誤差可W反映一個(gè)用戶與大眾平均評分的差距,從一定角度上 可W反映一個(gè)用戶是否專業(yè),品味是否和其他用戶接近。
[0025] 2、利用斯皮爾曼等級相關(guān)系數(shù)來衡量上述步驟中=個(gè)指標(biāo)之間相關(guān)性。在統(tǒng)計(jì)學(xué) 中,斯皮爾曼等級相關(guān)系數(shù)是用來衡量兩個(gè)變量依賴性的非參數(shù)指標(biāo)。斯皮爾曼等級相關(guān) 系數(shù)計(jì)算公式如公式1所示。
[0026]
(1)
[0027] di = xi-yi表示被觀測的兩個(gè)變量xi,yi(如個(gè)指標(biāo)用戶入度、用戶評分、W及用 戶平均誤差中的任意兩個(gè)變量)的等級差值,n表示di的維度(等于節(jié)點(diǎn)個(gè)數(shù)n)。斯皮爾曼相 關(guān)系數(shù)體現(xiàn)了兩個(gè)統(tǒng)計(jì)變量之間的相關(guān)性。若該相關(guān)系數(shù)為負(fù)值,則說明當(dāng)Xi增加時(shí),yi趨 向于減少。若該相關(guān)系數(shù)為正值,則說明當(dāng)Xi增加時(shí),yi趨向于增加。若該相關(guān)系數(shù)為0時(shí),Xi 和yi相互獨(dú)立。例如:將步驟2中的=個(gè)指標(biāo)用戶入度、用戶評分、W及用戶平均誤差兩兩分 別作為被觀測的變量。=者之間會(huì)依據(jù)兩兩之間計(jì)算得到的相關(guān)系數(shù)的值,描述出具體的 相關(guān)性。如果通過計(jì)算=個(gè)影響力指標(biāo)間的斯皮爾曼等級相關(guān)系數(shù),可W得到絕大部分的 相關(guān)系數(shù)是特別小的,因而說明運(yùn)=個(gè)影響力指標(biāo)之間沒有明顯的相關(guān)性,可看做成運(yùn)= 個(gè)指柄基本上保持相互獨(dú)立的關(guān)系。
[0028] 步驟3:利用上述步驟計(jì)算的用戶影響力,按照"影響力"大小排序,得到影響力最 大的一些用戶;
[0029] 步驟4:構(gòu)建基于節(jié)點(diǎn)用戶的概率矩陣分解模型:對于社交網(wǎng)絡(luò)中的一個(gè)用戶,其 特征向量會(huì)受到其直接鄰居中影響力最大的一些用戶的影響。設(shè)Nu表示用戶U的節(jié)點(diǎn)鄰居 集合,TG {0,irn為用戶社交關(guān)系矩陣,F(xiàn)v表示用戶V的影響力,則用戶U的特征向量受運(yùn)些 節(jié)點(diǎn)鄰居的影響力^如公式3所示: Ll,
[0030]
(3)
[0031] 式中,Uv表示用戶V的特征向量受運(yùn)些節(jié)點(diǎn)鄰居的影響力,Nu表示用戶U鄰居節(jié)點(diǎn)的 集合;
[0032] 計(jì)算用戶特征向量的條件概率,如公式4所示:
[0033]
(4)
[0034] 其中,N(y I O2)表示為均值y,方差為O2的高斯分布。
[0035] 假設(shè)用戶、物品特征向量W及社交關(guān)系矩陣服從高斯分布,則通過貝葉斯推導(dǎo),可 W得到在給定用戶評分、社交關(guān)系矩陣W及用戶影響力情況下用戶和物品特征向量的后驗(yàn) 概率,將后驗(yàn)概率取對數(shù)(目的是將概率值放大),得到目標(biāo)函數(shù)。
[0036] 步驟5:對基于節(jié)點(diǎn)用戶的概率矩陣分解模型進(jìn)行訓(xùn)練,對后驗(yàn)概率對數(shù)式,求其 極大值,等價(jià)于求解目標(biāo)函數(shù)式的最小值。
[0037] 為取得目標(biāo)函數(shù)的最小值,可通過對每一個(gè)Uu,Vi執(zhí)行梯度下降,即將目標(biāo)函數(shù)對 于Uu, Vi求偏導(dǎo),計(jì)算對應(yīng)偏導(dǎo)的臨界點(diǎn)即可求得目標(biāo)函數(shù)的最小值。
[0038] 本發(fā)明將用戶的影響力與推薦系統(tǒng)中使用的概率矩陣分解模型相結(jié)合,提出基于 節(jié)點(diǎn)用戶的概率矩陣分解模型。通過使用=種相互獨(dú)立的度量衡量了用戶的影響力,并且 驗(yàn)證了其模型的有效性。從實(shí)驗(yàn)結(jié)果可知運(yùn)模型能夠在一定程度上提高推薦算法的預(yù)測準(zhǔn) 確率,但也需要根據(jù)數(shù)據(jù)的特點(diǎn)W及不同的應(yīng)用條件來選擇恰當(dāng)?shù)挠绊懥χ笜?biāo)去應(yīng)用該概 率矩陣分解模型。
[0039] 用基于節(jié)點(diǎn)用戶的概率矩陣分解模型在豆瓣電影和化Ip數(shù)據(jù)集中與SocialMF模 型W及樸素概率矩陣分解模型進(jìn)行對比。
[0040] A. W用戶評分?jǐn)?shù)作為影響力衡量指標(biāo),圖2表示了豆瓣電影數(shù)據(jù)集在=種模型下 的實(shí)驗(yàn)結(jié)果。由圖可知,在采用局部節(jié)點(diǎn)用戶和采用全局節(jié)點(diǎn)用戶兩種方法下,基于節(jié)點(diǎn)用 戶的概率矩陣分解模型都優(yōu)于SocialMF模型。
[0041] B. W用戶入度作為影響力衡量指標(biāo),圖3表示了化Ip數(shù)據(jù)集在=中模型下的實(shí)驗(yàn) 結(jié)果。圖3為使用用戶入度作為影響力衡量指標(biāo)由圖的實(shí)驗(yàn)結(jié)果顯示,當(dāng)W用戶入度作為影 響力因素時(shí),在采用全局節(jié)點(diǎn)用戶方法時(shí),基于節(jié)點(diǎn)用戶的概率矩陣分解模型和SocialMF 模型的效果類似,但在采用局部節(jié)點(diǎn)方法時(shí)基于節(jié)點(diǎn)用戶的概率矩陣分解模型要優(yōu)于 SocialMF模型。從實(shí)驗(yàn)結(jié)果可W看出,基于節(jié)點(diǎn)用戶的概率矩陣分解模型在使用時(shí)需要根 據(jù)不同的適用環(huán)境,并且需要選擇恰當(dāng)?shù)暮饬恐笜?biāo)來衡量用戶影響力。
【主權(quán)項(xiàng)】
1. 一種基于節(jié)點(diǎn)用戶的概率矩陣分解模型的構(gòu)建方法,其特征在于,該方法包括以下 步驟: 步驟一、通過社交關(guān)系矩陣來定義用戶的影響力,即社交關(guān)系矩陣Te {0,1}-% 1表示 有關(guān)系,O表;^沒有關(guān)系,有關(guān)系的節(jié)點(diǎn)越多代表該節(jié)點(diǎn)的影響力越大; 步驟二、對于節(jié)點(diǎn)用戶的影響力進(jìn)行形式化的度量,包括:使用用戶入度、用戶評分、以 及用戶平均誤差作為用戶影響力指標(biāo);判斷三個(gè)影響力指標(biāo)兩兩之間的相關(guān)性; 步驟三、按照"影響力"大小排序,得到影響力最大的一些用戶; 步驟四、構(gòu)建基于節(jié)點(diǎn)用戶的概率矩陣分解模型,包括:對于社交網(wǎng)絡(luò)中的一個(gè)用戶, 其特征向量會(huì)受到其直接鄰居中影響力最大的一些用戶的影響。設(shè)Nu表示用戶u的節(jié)點(diǎn)鄰 居集合,Te {〇,1}_為用戶社交關(guān)系矩陣,F(xiàn)v表示用戶V的影響力,則用戶u的特征向量受這 些節(jié)點(diǎn)鄰居的影響力,表示為:式中,Uv表示用戶V的特征向量受這些節(jié)點(diǎn)鄰居的影響力,Nu表示用戶u鄰居節(jié)點(diǎn)的集 合; 計(jì)算用戶特征向量的條件概率,表示為:其中,Ν(μ|σ2)表示為均值μ,方差為〇2的高斯分布;假設(shè)用戶、物品特征向量以及社交關(guān) 系矩陣服從高斯分布,則通過貝葉斯推導(dǎo),可以得到在給定用戶評分、社交關(guān)系矩陣以及用 戶影響力情況下用戶和物品特征向量的后驗(yàn)概率,將后驗(yàn)概率取對數(shù)(目的是將概率值放 大),得到目標(biāo)函數(shù); 步驟五、對基于節(jié)點(diǎn)用戶的概率矩陣分解模型進(jìn)行訓(xùn)練,對后驗(yàn)概率對數(shù)式,求其極大 值,等價(jià)于求解目標(biāo)函數(shù)式的最小值。
【文檔編號】G06F17/30GK106021289SQ201610284644
【公開日】2016年10月12日
【申請日】2016年4月29日
【發(fā)明人】于瑞國, 黃才寶, 王建榮, 趙滿坤, 喻梅, 張敏杰
【申請人】天津大學(xué)