国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種聯(lián)合LTR和社交網(wǎng)絡(luò)的Top-k推薦方法

2019-01-24 08:26熊麗榮王玲燕黃玉柱
小型微型計算機系統(tǒng) 2018年12期
關(guān)鍵詞:復(fù)雜度列表排序

熊麗榮,王玲燕,黃玉柱

1(浙江工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,杭州 310023)2(浙江理工大學(xué),杭州 310018)

1 引 言

推薦系統(tǒng)可以有效地應(yīng)對信息爆炸問題,越來越多的研究者將其作為學(xué)術(shù)研究的重點[1].大量研究利用用戶-項目評分矩陣預(yù)測每個用戶對每個項目的評分值,這些工作致力于提高全局評分預(yù)測精度即降低評分預(yù)測誤差值,MAE和RMAE[2].推薦系統(tǒng)的最終目的是為目標(biāo)用戶提供一個排序的項目列表,但最小化評分預(yù)測值并不總能得到較好的top-k列表[3,4].因此,本文更關(guān)注于基于top-k的推薦[5]而不是基于評分預(yù)測的推薦.

如何為用戶產(chǎn)生一個排序的項目列表被認(rèn)為是Learning-To-Rank (LTR)[7]類問題,可以采用監(jiān)督式的機器學(xué)習(xí)方法,從訓(xùn)練數(shù)據(jù)中得到用戶特征信息,從而產(chǎn)生推薦結(jié)果.用戶-項目評分矩陣是top-k推薦系統(tǒng)中至關(guān)重要的內(nèi)容,然而,在現(xiàn)實生活中用戶往往只會購買、評分小部分項目,這導(dǎo)致了top-k推薦系統(tǒng)由于缺少評分?jǐn)?shù)據(jù)而不能產(chǎn)生較準(zhǔn)確的推薦結(jié)果.另一方面相比于推薦系統(tǒng)產(chǎn)生的推薦結(jié)果,用戶更傾向于朋友推薦的項目.將社會化網(wǎng)絡(luò)中用戶間的信任信息結(jié)合到top-k推薦算法當(dāng)中可以緩解數(shù)據(jù)稀疏問題的同時提高用戶對推薦結(jié)果的接受度.

本文結(jié)合社交網(wǎng)絡(luò)信息,提出一種基于LTR的top-k推薦算法,BTRank相比較于已有的工作,本文有如下幾個重要貢獻:

1) 提出了一種新的信任計算模型,可以對信任信息做預(yù)處理,從全局、局部等多個方面挖掘用戶間的潛在信任信息;

2) 考慮用戶興趣會隨著時間發(fā)生變化,設(shè)計了時間衰減效應(yīng)模型,根據(jù)時間對用戶的評分?jǐn)?shù)據(jù)進行處理;

3) 綜合考慮用戶對項目排序以及對信任用戶排序時展現(xiàn)出來的興趣偏好信息,構(gòu)建用戶特征矩陣,最終得到top-k推薦列表.實際數(shù)據(jù)集上的實驗表明,本文的算法效果優(yōu)于傳統(tǒng)推薦算法以及同類的top-k推薦算法.

本文第2章闡述了相關(guān)工作.第3章詳細介紹了本文提出的算法BTRank.第4章分析了本文算法的復(fù)雜性.第5章給出了實驗與結(jié)果分析.最后第6章總結(jié)全文并指出未來的進一步工作.

2 相關(guān)工作

2.1 推薦系統(tǒng)

個性化推薦系統(tǒng)很好地滿足了用戶對個性化服務(wù)的需求,目前比較成熟的個性化推薦算法包括協(xié)同過濾推薦算法、基于內(nèi)容的推薦算法及混合推薦算法三大類.

基于內(nèi)存的協(xié)同過濾通過使用皮爾遜系數(shù)[12]等方式來計算用戶間的相似度,并利用相似度過濾出近鄰集合,最后基于這些近鄰產(chǎn)生推薦結(jié)果.基于模型的協(xié)同過濾算法通過訓(xùn)練得到相應(yīng)的特征模型,在數(shù)據(jù)稀疏情況下算法效果優(yōu)于內(nèi)存類協(xié)同過濾算法.矩陣分解可以將一個高維矩陣分解為兩個低維特征矩陣的乘積,達到預(yù)測原矩陣空缺數(shù)據(jù)的效果,并且這兩個特征矩陣的維度取值遠遠小于原矩陣的維度,因此在眾多的模型類協(xié)同過濾算法中[17,25,26,30]矩陣分解是被最廣泛使用的.本文的算法BTRank中也采用了矩陣分解方法.

基于內(nèi)容的推薦算法[13]根據(jù)產(chǎn)品的特征描述和用戶的購買歷史信息,向用戶推薦與他們購買過的產(chǎn)品有著類似特性的產(chǎn)品.一般適用于文本類的推薦,如新聞推薦、閱讀推薦等.基于內(nèi)容的推薦算法推薦結(jié)果過度單一,導(dǎo)致目標(biāo)用戶經(jīng)常得到與曾經(jīng)喜歡的項目類似的其他項目,推薦結(jié)果缺少多樣性.

混合過濾算法將多種個性化推薦算法進行融合[14,15],然而目前還是不能很好的將協(xié)同過濾推薦和基于內(nèi)容的推薦算法進行擬合,并且算法的時間復(fù)雜度和空間復(fù)雜度都比較高,往往不能很好地滿足實時性的推薦需求.此外,大多數(shù)的混合推薦算法都是基于假設(shè)用戶是獨立的個體的前提,忽略了社交網(wǎng)絡(luò)中用戶的朋友關(guān)系及信任關(guān)系,因此,準(zhǔn)確度也不高.

以上三類算法是在目前的推薦領(lǐng)域內(nèi)運用較為廣泛的方法,研究者們主要用這些方法解決兩大類問題:最小化評分誤差、優(yōu)化top-k項目排序.

2.2 基于評分預(yù)測的推薦

在實際生活中,用戶往往只會購買并且評分小部分商品,所以用戶-評分矩陣存在大量的“0”分?jǐn)?shù)據(jù),即評分?jǐn)?shù)據(jù)存在嚴(yán)重的稀疏性.盡管基于模型的協(xié)同過濾算法可以有效地緩解該影響但是并不能完全去除數(shù)據(jù)稀疏對算法效果的影響.近年來,隨著Facebook,Twitter等社交服務(wù)迅速發(fā)展,基于社會網(wǎng)絡(luò)的推薦系統(tǒng)得到了越來越多的關(guān)注,很多研究者將社會化網(wǎng)絡(luò)中的信任信息加入到推薦算法中以緩解用戶數(shù)據(jù)稀疏問題.Jamali等人[16]結(jié)合基于內(nèi)存以及基于模型的協(xié)同過濾算法,利用信任信息提出了隨機走步框架.該算法可以在較短的路徑中得到更精準(zhǔn)的評分預(yù)測值,同時還可以提高推薦結(jié)果的覆蓋率.Ma等人[17]首次提出了聯(lián)合概率矩陣分解(Unified Probabilistic Matrix Factorization,UPMF)方法,在方法的訓(xùn)練模型中,評分矩陣和信任矩陣共享用戶特征矩陣,從而能夠結(jié)合這兩面信息進行推薦.

然而,用戶更希望看到一個符合自己興趣愛好的top-k項目推薦列表,上述算法主要致力于最小化評分預(yù)測誤差值RMSE和MAE,并不能得到一個更好的top-k排序列表.本文的研究重點在于如何找到一個更好的top-k列表.

2.3 基于top-k排序的推薦

已有的一些較好的top-k推薦方法,利用LTR算法思想[7],從訓(xùn)練數(shù)據(jù)生成個性化排名列表.基于LTR的top-k推薦方法分為list-wise和pair-wise兩類.Pair-wise模型通過用戶購買、瀏覽信息訓(xùn)練其對每個項目對的相對偏好[18,19].Pair-wise模型在top-k推薦方面已經(jīng)取得了實質(zhì)性的改進,但存在著高計算復(fù)雜度的問題.List-wise模型具高可擴展性[19,20]和較低的計算復(fù)雜度,該模型是基于實際排序列表和預(yù)測列表之間的差距來優(yōu)化預(yù)測每個用戶的項目排名推薦列表.

將社會化網(wǎng)絡(luò)中的信任信息加入到推薦算法當(dāng)中,可以緩解評分?jǐn)?shù)據(jù)稀疏性問題,同時提高推薦算法的準(zhǔn)確度[8,9,21,30].文獻[9]中提出了一種基于pair-wise的LTR方法,該文主要基于以下假設(shè):相比于用戶根本不知道的項目,他們更傾向于其朋友喜歡的項目.然而,他們的方法不能直接處理數(shù)字評分,并且由于pair-wise模型的內(nèi)在特性,該算法具有較高的計算復(fù)雜度.Yao等人[8]采用文獻[22]中的評分模型,將用戶的興趣愛好和其朋友的興趣愛好線性結(jié)合,建立了評分預(yù)測模型.與本文一樣他們也通過使用top-one概率(這將在本文第3章中解釋)來降低算法的復(fù)雜度.然而,他們只關(guān)注用戶對物品評分時存在的興趣偏好,忽略了用戶對朋友進行信任打分時展現(xiàn)出來的興趣偏好信息.Park[21]等人 中提出了TRecSo算法,從信任、被信任兩種角色來考慮用戶的特征向量,同時也將信任信息對top-k排序列表的影響考慮進算法當(dāng)中,構(gòu)建了一個出色的訓(xùn)練模型.但是該算法對于用戶間信任處理過于簡單,只考慮了用戶的出度、入度信息,同時由于TRecSo模型中用戶特征向量由多個向量組成,導(dǎo)致模型的訓(xùn)練復(fù)雜度有所上升.

在本文中,我們結(jié)合評分、信任信息提出了基于list-wise思想 BTRank算法.在算法模型訓(xùn)練前期我們將從多方面來重組用戶間的信任信息,模型訓(xùn)練時使用top-one概率來優(yōu)化算法的性能.最后我們在兩個現(xiàn)實世界數(shù)據(jù)集上證明,BTRank要優(yōu)于以上幾類優(yōu)秀的方法.

3 基于信任的top-k算法BTRank

為了更好地了解本文提出的算法,本章中3.1節(jié)簡短的介紹核心top-one概率模型,3.2節(jié)中提出本文的時間效應(yīng)模型,之后3.3以及3.4節(jié)分別介紹如何在評分、信任信息中應(yīng)用top-one概率模型.最后3.5節(jié)展示如何結(jié)合評分、信任兩部分信息,給出BTRank模型的目標(biāo)函數(shù).

3.1 Top-one概率模型

Plackett-Luce模型[23]可以用于計算每個用戶對曾經(jīng)評分過項目的排列分布概率.該模型基于假設(shè):每個不同的項目排列都有相應(yīng)的分布概率,而高的排列概率意味著該項目排序更受用戶喜愛.

排列概率:對于用戶ui,給定含有M個項目的集合V,π={v1,v2,…,vM}是其中一種可能的項目排序,其對應(yīng)的評分信息為{ri1,ri2,…,riM},那么π排列的分布概率為:

(1)

其中rij是用戶ui對項目vj的評分值,exp(r)=er.根據(jù)公式(1)可知,對于含有M個項目的集合來說,每個用戶都有M!種不同的項目排序,計算復(fù)雜度太高.為了解決這個問題,我們使用top-one 概率來代替公式(1)中的排列分布概率:

(2)

由于用戶更關(guān)心系統(tǒng)推薦給他的top-k個項目,因此本文在考慮項目可能排序時只關(guān)注前k個項目.公式(2)代表對于用戶ui來說項目vj被排列在第一位的可能性.

3.2 時間效應(yīng)模型

傳統(tǒng)的推薦算法,將所有的項目平等對待,沒有考慮用戶的興趣會隨著時間的演變產(chǎn)生變化,致使推薦精度不高.根據(jù)19 世紀(jì)德國心理學(xué)家赫爾曼·艾賓浩斯的實驗結(jié)果可得知,遺忘在記憶后會立刻開始,并且遺忘速率遵循先快后慢的規(guī)律.他根據(jù)實驗結(jié)果將時間與記憶量的關(guān)系繪制成了著名的艾賓浩斯遺忘曲線[29]:

圖1 艾賓浩斯遺忘曲線Fig.1 Ebbinghaus forgetting curve

學(xué)者Ding也認(rèn)為資源的時效性隨時間的變化應(yīng)是一種指數(shù)衰減的過程[28],因此結(jié)合圖1我們設(shè)計資源衰減的時間效應(yīng)模型為:

h(Δt,λ)=e-λΔt

(3)

其中Δt∈[0,+∞)表示學(xué)習(xí)過后經(jīng)過的時間,λ代表遺忘速率,不同人群的λ可能不同,h為到目前位置記憶的衰減比例.用戶可以分為兩類:

1)念舊型,喜歡一類事物的周期很長,一段時間內(nèi)興趣愛好變化不大;

2)多變型,喜歡嘗試新事物,興趣愛好隨時間呈現(xiàn)跳變型.在推薦系統(tǒng)中,評分信息可以很好的反映一個人的興趣愛好變化,本文以3個月為一個周期,統(tǒng)計用戶從第一次評分到目前為止所有周期內(nèi)平均評分的變化值作為該用戶的遺忘速率λ.

3.3 評分模型

基于矩陣分解框架,用戶ui對項目vj的預(yù)測評分計算方法如公式(4)所示:

(4)

但是公式(4)中并未考慮時間因素對用戶評分的影響,考慮時間效應(yīng)后,改寫公式(4),得到用戶ui在時間ti,j對項目vj的預(yù)測評分計算公式:

(5)

同時為了解決用戶評分?jǐn)?shù)據(jù)的稀疏性,本文在計算預(yù)測評分的模型中加入信任用戶間的影響,更新公式(5)如下所示:

(6)

sik表示用戶ui對uk的信任評分值,T(i)是用戶ui信任的用戶集合.參數(shù)β用于平衡控制信任用戶對目標(biāo)用戶評分的影響程度,β∈[0,1].當(dāng)β=1時表示完全沒有影響,反之β=0表示用戶對項目評分完全受信任用戶影響.

此時我們可以利用公式(2)的top-one 概率模型以及交叉熵公式得到目標(biāo)函數(shù),最小化預(yù)測排序列表與真實排序列表間的不穩(wěn)定性:

(7)

3.4 信任模型

本文提出了一種新的信任計算模型,使用全局、局部兩個方面來刻畫用戶間信任信息.在計算對來說uj的全局信任gtij時,不同于已有的研究,本文主要考慮以下三點:

1) 其余所有用戶對uj的信任評價值;

2) 對uj有信任評價的用戶數(shù)量:

3)ui與這些用戶之間的興趣相似度.最終本文構(gòu)建全局信任計算公式如下所示:

(8)

本文在計算與uj的局部信任ltij時,分兩種情況進行考慮:

1)對uj有信任評分值,即對uj存在直接信任,那么對uj間的局部信任基于直接信任進行計算得到;

2)對uj沒有信任評分值,根據(jù)信任傳播性得到對uj的間接信任值作為局部信任值.為了消除用戶間評分的習(xí)慣差異性,本文對數(shù)據(jù)集中用戶間的直接信任評價值進行以下處理:

(9)

(10)

本文主要利用信任傳遞性來計算用戶間間接信任評價值idtij.公式(11)為信任衰減函數(shù),L是信任傳遞路徑長度,其中最大路徑長度Max_Hop<=6:

(11)

本文選取最有效路徑[6]而不是最短路徑作為用戶間最佳的信任傳播路徑.同時將網(wǎng)絡(luò)中所有用戶間平均信任值作為判斷的信任閾值Υ.當(dāng)某條路徑上存在兩個相鄰用戶間的信任評價值小于Υ時,則放棄該條路徑重新尋找有效路徑.某條路徑Pathi的源節(jié)點ui對目標(biāo)節(jié)點uj的信任評價值計算如公式(12)所示:

(12)

其中uk代表路徑Pathi中第K個節(jié)點,Tuk-1→uk表示節(jié)點uk-1對uk的信任評價值,當(dāng)信任值大于閾值Υ時,Iuk-1→uk為1,反之為0.當(dāng)網(wǎng)絡(luò)中存在多條有效路徑時,本文選取信任值最大的一條,如公式(13)所示:

(13)

綜上所述,用戶間的最終信任值計算公式如(14)所示,其中α∈[0,1]為平衡參數(shù),用于調(diào)和全局信任以及局部信任間的比重.

sij=αgtij+(1-α)ltij

(14)

當(dāng)用戶ui對uj只存在間接信任關(guān)系,考慮到此時的局部信任比全局信任要可靠的多,特別是在全局網(wǎng)絡(luò)中對uj有過信任評分的用戶數(shù)量稀少的情況下.所以此時α的計算公式如下所示:其中F+(uj)表示網(wǎng)絡(luò)中信任uj的用戶集合.

(15)

以上是本文提出的信任模型的全部內(nèi)容,它主要用于對信任的前期處理,對于訓(xùn)練過程中ui對uj的信任值可以根據(jù)公式(16)構(gòu)建:

(16)

Ui是用戶ui的特征向量,Tj是用戶uj的信任特征向量.同樣地,對于用戶間信任評分?jǐn)?shù)據(jù)也可以用熵公式來衡量真實訓(xùn)練排序以及預(yù)測排序之間的差異,最小化熵公式如下所示:

(17)

3.5 目標(biāo)函數(shù)

在3.3、3.4節(jié)中,本文定義了如何將評分、信任信息模型化,最后本文使用公式(18)將公式(7)與公式(17)聯(lián)合進一個統(tǒng)一模型當(dāng)中,并將其作為目標(biāo)函數(shù):

(18)

為了降低模型復(fù)雜度,本文設(shè)置λu=λv=λt=λ.同時為了得到相應(yīng)的特征向量,本文采用隨機梯度下降法來得到它們的局部最優(yōu)值,其計算公式如下所示:

(19)

(20)

(21)

(22)

(23)

(24)

(25)

(26)

其中g(shù)′(x)是邏輯斯蒂函數(shù)g(x)的導(dǎo)數(shù),g′(x)=exp(x)/(1+exp(x))2.

4 復(fù)雜性分析

BTRank的計算開銷主要來自于公式(14)中前期信任關(guān)系的訓(xùn)練、公式(18)中目標(biāo)函數(shù)L的計算以及公式(19)-(26)中各個特征向量對應(yīng)的梯度下降的計算.在訓(xùn)練信任關(guān)系時,我們假設(shè)存在信任數(shù)據(jù)的用戶數(shù)量為t,且每個用戶的鄰居集合大小為N,則間接信任關(guān)系的訓(xùn)練時間復(fù)雜度為O(t2N),其中N通常較小,可以認(rèn)為是常數(shù),則時間復(fù)雜度趨向于O(t2);目標(biāo)函數(shù)L的時間復(fù)雜度為O(pRl+pSl),其中pR,pS分別表示矩陣R,S中非零元素個數(shù),由于數(shù)據(jù)稀疏性,pR和ps都很??;梯度下降法中計算復(fù)雜度主要由公式(19)-(21)產(chǎn)生,其時間復(fù)雜度分別為O(pRk+pSk),O(pRk)和O(pSk),k表示最終推薦給用戶的top-k目表中的項目個數(shù),因此每次迭代的總時間復(fù)雜度為O(pRk+pSk).假設(shè)本文算法迭代d次,總的時間復(fù)雜度為O(t2)+O(dpRk+dpSk),因此,與pair-wise的LTR方法不同,我們提出的模型可以有效地應(yīng)用到大規(guī)模數(shù)據(jù)集中.

5 實驗與結(jié)果分析

在本章節(jié)中設(shè)計了幾個實驗將本文的算法BTRank與其余幾個出色的算法進行比較.實驗的設(shè)計主要基于以下幾點:

1.如何將本文算法與已有優(yōu)秀算法進行比較?

2.考慮時間因素是否可以提升算法的精度?

3.模型訓(xùn)練前使用第3.4節(jié)中提出的信任模型對信任數(shù)據(jù)做處理是否對算法有所幫助?

4.參數(shù)β對算法推薦準(zhǔn)確率有怎樣的影響?

5.特征向量U、V、T的維度取值對推薦準(zhǔn)確率有什么影響?

5.1 數(shù)據(jù)集

在實驗中,我們使用兩個公共現(xiàn)實世界的數(shù)據(jù)集Epinions*http://www.trustlet.org/wiki/Extended_Epinions_dataset和Ciao*https://www.librec.net/datasets.html,每個數(shù)據(jù)集都包含用戶項目評分、用戶之間的信任關(guān)系(數(shù)據(jù)集中的信任關(guān)系都是不對稱的)和評分的時間信息,其中項目評分是區(qū)間[1,5]內(nèi)的整數(shù).

5.2 實驗規(guī)則

對于每位用戶我們分別隨機選取n=10,20,50條項目評分和信任記錄作為訓(xùn)練數(shù)據(jù)集,余下的都作為測試數(shù)據(jù).為了保證每位用戶至少存在10條測試數(shù)據(jù),我們會相應(yīng)的過濾掉數(shù)據(jù)記錄少于20,30,60條的用戶.

參數(shù)設(shè)置:對于所有的對比實驗,本文均按照原文設(shè)置最優(yōu)參數(shù);在算法BTRank中,我們設(shè)置λ=0.1,γ=0.01,其中γ是迭代過程中的學(xué)習(xí)速率,所有的實驗結(jié)果都是5次實驗的平均值.

5.3 評價函數(shù)

均方誤差(RMSE)和平均絕對誤差(MAE)是傳統(tǒng)推薦系統(tǒng)的標(biāo)準(zhǔn)評估指標(biāo),這兩個指標(biāo)能衡量真實評分與預(yù)測評分之間的差距,但是不能是評價top-k項目列表排序準(zhǔn)確性.本文旨在提高top-k推薦質(zhì)量,因此使用信息檢索領(lǐng)域最常用的指標(biāo)NDCG、Recall、Precision作為本文評價標(biāo)準(zhǔn).

NDCG更加重視排序列表的前幾位,排序越前面的項目在評估中所占比重越大.對于排序在第一位的項目來說,得到5分與得到4分評分相比,前者的NDCG@1更高.所以對于ui來說,k個項目排序列表的 NDCG值為:

(27)

其中Z是一個常量,它使對于ui來說最優(yōu)的top-k排序的NDCG為1.

最后我們計算所有用戶的NDCGi@K值并取平均值得到NDCG@K如下所示:

(28)

其中|U|是用戶集合U的大小.

Precision@K表示推薦精準(zhǔn)度,Recall@K表示召回率,對于ui,集合Pi={v1,v2,…vK}表示由推薦系統(tǒng)產(chǎn)生的top-k項目列表,Qi={v1,v2,…vz}表示實際用戶偏愛項目,則

(29)

(30)

5.4 對比實驗

本文跟以下三類出色的推薦算法對比:傳統(tǒng)CF方法,僅基于評分的LTR方法和基于社交網(wǎng)絡(luò)的LTR方法.

a)傳統(tǒng)CF方法

UserKNN[27]:一種基于用戶相似度的傳統(tǒng)協(xié)同過濾推薦算法.

b)基于評分的LTR方法

BPR[18]:結(jié)合矩陣分解方法的pair-wise類LTR算法.

ListRank[19]:結(jié)合矩陣分解方法的list-wise類LTR算法.

c)基于社交網(wǎng)絡(luò)的LTR方法

SBPR[9]:在BRP的基礎(chǔ)上加入信任信息,提高算法準(zhǔn)確度.

SoRank[8]:結(jié)合信任信息的list-wise類LTR算法,線性結(jié)合信任用戶對目標(biāo)用戶的影響,從而優(yōu)化top-k推薦算法效果.

BTRank:本文提出的算法.

5.5 信任模型的作用

為了驗證3.4節(jié)中提出的信任模型的有效性,我們設(shè)計了多個對比實驗,將本文算法BTRank與未應(yīng)用信任模型的BTRank進行比較,實驗結(jié)果如圖2所示.從圖中可以看出,在各種情況下使用了信任模型的算法結(jié)果明顯好于未使用的算法結(jié)果,證明了本文信任模型對算法有推進作用,在算法訓(xùn)練之前對信任數(shù)據(jù)做預(yù)先處理是必要的.

5.6 時間效應(yīng)模型的作用

本文在3.2節(jié)中,根據(jù)艾賓浩斯遺忘曲線提出了一個時間效應(yīng)模型,對用戶的評分?jǐn)?shù)據(jù)根據(jù)歷史時間給予相應(yīng)的權(quán)重,越接近當(dāng)前時間的評分?jǐn)?shù)據(jù)其權(quán)重值越高,反之則越小.

為了驗證該模型的有效性,我們設(shè)計了多個對比實驗將本文算法BTRank與未應(yīng)用該時間效應(yīng)模型的BTRank進行比較,實驗結(jié)果如圖3所示.從圖中可以看出,在各種情況下使用了時間效應(yīng)模型的算法結(jié)果明顯好于未使用的算法結(jié)果,證明了該模型對算法有推進作用,考慮用戶評分?jǐn)?shù)據(jù)時間效應(yīng)性是有必要的.

圖2 信任模型的影響Fig.2 Impact of trust model

圖3 時間模型的影響Fig.3 Impact of time attenuation model

圖4 參數(shù)β的影響(n=20,k=5)Fig.4 Impact of parameter β (n=20,k=5)

5.7 參數(shù)β的影響

在文本算法BTRank中參數(shù)β用于控制信任用戶興趣愛好對項目評分的影響.本次實驗訓(xùn)練數(shù)據(jù)選取規(guī)則采用n=20,結(jié)果如圖4所示.在不同數(shù)據(jù)集上算法效果趨勢各不一致,但是大體上都呈先上升后下降趨勢.其中β=0.4是一個閾值,當(dāng)β<0.4時,算法效果呈上升趨勢,β>0.4時算法效果呈下降趨勢,所以此時將β值設(shè)為0.4使得算法效果最優(yōu).

5.8 特征維度的影響

矩陣分解算法復(fù)雜度隨著特征維度取值增加而增加,本文為了降低模型訓(xùn)練的時間,在區(qū)間[1,50]上探尋局部最優(yōu)的維度取值,實驗結(jié)果如圖5所示.根據(jù)結(jié)果可以看出,雖然算法效果趨勢都不完全一致,但是都呈先上升后下降的趨勢,在特征維度值取為5的時候達到最佳效果,所以在本文之后的實驗中我們將維度設(shè)置為5.

圖5 特征維度取值影響(n=10,k=5)Fig.5 Impact of latent dimensionality (n=10,k=5)

5.9 算法比較

為了驗證本文算法的有效性,本實驗將BTRank與其余五個算法進行比較,結(jié)果如圖6所示.從圖中可以看出本文算法BTRank的效果在各種不同情況下普遍好于其余算法,而UserKNN算法效果明顯弱于其它算法,很好地說明傳統(tǒng)的個性化推薦算法并不適用于top-k推薦.

BTRank、SoRank、ListRank-MF均是基于list-wise的LTR類算法,其中ListRank-MF算法未考慮信任用戶對目標(biāo)用戶的影響,而SoRank和本文算法均考慮到了信任關(guān)系的影響,并且從實驗結(jié)果中可以明顯看出這兩個算法效果好于ListRank-MF,說明同時考慮自身以及朋友因素對評分構(gòu)成的影響可以有效提升算法的效果;相比于SoRank,本文算法不但考慮用戶對項目排序展現(xiàn)出來的興趣偏好,同時聯(lián)合考慮用戶對朋友信任排序時的偏好信息,從而構(gòu)建更準(zhǔn)確的用戶特征矩陣.從這兩個算法的對比效果可以看出本文算法明顯好于SoRank,可見綜合考慮用戶對項目、朋友排序時的偏好可以有效提高算法效果.

其中BPR以及SBPR均是基于parie-wise的LTR類算法,這兩個算法與BTRank、SoRank、ListRank-MF對比,雖然整體效果要弱于list-wise類算法,但是并不明顯,說明pair-wise在top-k推薦中也獲得了較好的效果,但是相比于list-wise類算法還是略遜一籌.

6 總結(jié)與展望

本文提出了一種基于信任的LTR類推薦算法BTRank,通過加入社交網(wǎng)絡(luò)中信任信息來緩解數(shù)據(jù)稀疏問題、優(yōu)化top-k排名預(yù)測精度.具體來說,本文首先使用信任模型重構(gòu)用戶間的信任信息,其次設(shè)計時間衰減函數(shù)分階段評估用戶興趣變化,同時在預(yù)測用戶評分時考慮信任用戶對目標(biāo)用戶的影響,最終結(jié)合用戶對項目評分排序以及對其他用戶信任評分排序時產(chǎn)生的偏好信息,構(gòu)建更準(zhǔn)確的用戶特征矩陣從而得到較好的top-k推薦列表.綜合實驗結(jié)果表明,BTRank推薦的top-k項目列表在準(zhǔn)確度方面顯著優(yōu)于傳統(tǒng)的推薦算法以及同類top-k推薦算法.

圖6 不同算法效果對比Fig.6 Comparison of different algorithms

為了降低算法的復(fù)雜度,本文提出的BTRank是基于項目top-one 概率而不是top-k概率.在未來的工作中可以研究更好的項目排序概率模型用于top-k排序推薦;其次希望可以研究出更好的時間衰減模型,能更準(zhǔn)確地衡量評分?jǐn)?shù)據(jù)十分稀少的用戶興趣變化.

猜你喜歡
復(fù)雜度列表排序
一類長度為2p2 的二元序列的2-Adic 復(fù)雜度研究*
作者簡介
學(xué)習(xí)運用列表法
毫米波MIMO系統(tǒng)中一種低復(fù)雜度的混合波束成形算法
擴列吧
恐怖排序
Kerr-AdS黑洞的復(fù)雜度
非線性電動力學(xué)黑洞的復(fù)雜度
節(jié)日排序
列表畫樹狀圖各有所長