王永貴,張 鑒
遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105
推薦系統(tǒng)是一種優(yōu)秀的信息過濾器,它能夠迅速而準(zhǔn)確地找到用戶所需數(shù)據(jù),有效緩解信息超載問題,是目前最受歡迎的研究領(lǐng)域之一[1]。推薦系統(tǒng)可分為兩類,分別是生成個人推薦的個性化推薦系統(tǒng)和提供組推薦的群組推薦系統(tǒng),在這兩者之間,個性化推薦在技術(shù)和應(yīng)用方面已非常成熟,然而在很多情況下推薦系統(tǒng)需要為群組提供推薦,如家庭聚餐、旅行團(tuán)興趣點以及其他娛樂目的等活動需要考慮群組內(nèi)所有成員的偏好進(jìn)行推薦。因此,群組推薦系統(tǒng)正在受到越來越多的關(guān)注,并逐漸成為學(xué)術(shù)界的研究熱點之一[2]。
與面向個人的推薦不同,在群組推薦中,推薦結(jié)果需要使絕大多數(shù)組成員對推薦結(jié)果感到滿意,而群組推薦的結(jié)果是基于對單個用戶的偏好擬合和所有用戶的偏好融合[3]。
對于單個用戶偏好的擬合,常用的方法是將個性化推薦技術(shù)應(yīng)用到群組推薦中。協(xié)同過濾是當(dāng)前個性化推薦技術(shù)中應(yīng)用最為廣泛、發(fā)展最為成熟的個性化推薦技術(shù)之一[4]。它利用興趣相投、喜好相似的群體的偏好來推薦用戶感興趣的項目與信息,通過個人所給予信息的反饋記錄達(dá)到過濾的目的,從而幫助其他人來篩選信息。例如,陸航等人[5]提出了一種融合用戶興趣和評分差異的協(xié)同過濾推薦算法,將用戶興趣相似性和評分差異相似性進(jìn)行加權(quán)融合,獲取更加準(zhǔn)確的用戶鄰居,從而預(yù)測項目評分并進(jìn)行推薦,能夠有效緩解單一評分相似性計算不準(zhǔn)確的問題且具有良好的可擴(kuò)展性,但是當(dāng)面對大規(guī)模數(shù)據(jù)集或稀疏數(shù)據(jù)集時,算法表現(xiàn)較差。為了解決這些問題,概率矩陣分解(probabilistic matrix factorization,PMF)方法被提出,它是一種流行的基于模型的協(xié)同過濾方法,該方法通過將評分矩陣分解為兩個低維潛在因子矩陣,并使其乘積接近評分矩陣,從而預(yù)測未知評分,具有準(zhǔn)確和穩(wěn)定的預(yù)測性能,并且可以利用邊信息來有效緩解數(shù)據(jù)稀疏和冷啟動問題[6]。但是,PMF方法在計算過程中忽略了用戶之間的關(guān)系信息,而用戶之間的交互關(guān)系往往會對用戶的偏好產(chǎn)生較大影響,預(yù)測結(jié)果的準(zhǔn)確性仍有待提高。本文提出了聯(lián)合用戶關(guān)系的概率矩陣分解算法,在經(jīng)典概率矩陣分解算法中加入了用戶關(guān)系信息,具有更好的偏好擬合效果。
完成單個用戶的偏好擬合后,群組推薦中的另一個問題是群組成員偏好的融合,完成融合的方法有兩類,分別是模型融合方法(PA)和推薦融合方法(RA)。PA方法是將組用戶的偏好轉(zhuǎn)化為整個群組的偏好,然后將整個群組作為虛擬用戶,通過個體預(yù)測模型計算預(yù)測值。換句話說,這種方法在預(yù)測所有項目的評分之前,為整個群組構(gòu)建一個偏好模型。例如,楊麗等人[7]提出了一種基于ranking的混合深度張量分解群組推薦算法,基于成對張量分解模型來捕獲群組偏好模型,有效提高了推薦效率,但是由于一些特殊群組成員的意見可能會被忽略使得整個群體的偏好無法有效地代表;毛宇佳等人[8]提出了一種縮小群組推薦列表的方法,該方法通過劃分子組來縮小群組規(guī)模并減少群組偏好屬性數(shù)量,保證了推薦的公平性,具有較好的群組推薦效果,但是在數(shù)據(jù)集稀疏的情況下,由于缺乏大量原始評級信息,構(gòu)建群組偏好模型的能力較差,數(shù)據(jù)越稀疏,融合越困難;Ding等人[9]提出了一種基于模糊聚類的隨機群推薦模型,通過分析組中所有用戶的項目評分,推薦模型可以將群組抽象為虛擬用戶,然后應(yīng)用個人推薦算法為虛擬用戶推薦前K個最吸引人的項目,并采用偏好評分和基于多類的模糊聚類算法對群推薦模型的推薦結(jié)果進(jìn)行優(yōu)化,與傳統(tǒng)的群組推薦相比,該群組推薦模型推薦的項目用戶滿意度更高,但是付出了多樣性和公平性方面的代價,導(dǎo)致推薦精度不高,并且在大規(guī)模群組內(nèi)算法準(zhǔn)確度仍有待提高??偠灾?,對于PA方法,它只是簡單地合并用戶偏好構(gòu)建群組模型,這種做法并不嚴(yán)格,因為一些特殊群組成員的意見可能會被忽略,整個群組的偏好無法有效地代表。
群組推薦的另一種方法是RA方法,該方法首先為每個組成員生成預(yù)測,然后將這些預(yù)測合并為最終群組推薦結(jié)果。它有兩個主要分支,分別是基于預(yù)測評分的推薦融合方法(PRA)和基于推薦列表的推薦融合方法(RRA)。PRA方法匯總了各組成員對一組中所有項目的預(yù)測評分,并將其作為該組對相應(yīng)項目的預(yù)測評分,RRA方法則是將每個組成員的排名列表融合為整個群組的最終排名列表。
對于RRA方法的研究,李曉鵬等人[10]提出一種基于MedRank排序算法的群組推薦方法,該方法順序訪問每個群組用戶排序列表,通過順序排序算法輸出最終的群組推薦列表,這種方式可以避免當(dāng)群組規(guī)模擴(kuò)大時,群組推薦結(jié)果滿意度降低現(xiàn)象的產(chǎn)生,但是未考慮項目的具體排名信息,推薦精度較低;Du等人[11]提出了一種基于學(xué)習(xí)排序算法的群體活動推薦框架,使用貝葉斯群組排序算法將每個組成員的排名列表融合為整個群組的最終排名列表,該方法可擴(kuò)展性強,但是同樣未考慮項目的具體排名信息,導(dǎo)致不精確的組排名列表。總而言之,由于RRA方法只使用排名信息,而不知道列表中兩個推薦項目的差異細(xì)節(jié),可能會導(dǎo)致不精確的群組排名列表。相反,利用預(yù)測值進(jìn)行融合的PRA方法可以被視為更具體、更準(zhǔn)確的群組推薦方法。因此,本文的研究主要集中在PRA方法上。
對于PRA方法的研究,Liu等人[12]提出了一種基于群內(nèi)發(fā)散協(xié)同過濾的群組推薦方法,考慮用戶對時間和項目類別的偏好構(gòu)建用戶偏好向量,然后建立群體特征得到群組與其他用戶特征偏好的相似度,最后基于群體內(nèi)散度計算群組的偏好評分,該方法適合為大規(guī)模群組推薦,但是當(dāng)群組規(guī)模較小,用戶偏好不足時,推薦效果會很差;葉柏龍等人[13]提出了一種基于評分與項目特征相結(jié)合的方法,通過計算群組在項目特征和評分上的綜合相似度進(jìn)行預(yù)測評分并產(chǎn)生推薦,該方法可以考慮每個成員與項目之間的關(guān)系,但數(shù)據(jù)的稀疏性影響推薦結(jié)果;楊金勞等人[14]提出了一種基于改進(jìn)矩陣分解的群組推薦算法,首先根據(jù)用戶共有群信息計算用戶間的相關(guān)性并將其集成到矩陣分解中以生成單用戶的偏好評分,然后采用基于均值與最小辛苦策略融合的修正滿意平衡策略進(jìn)行評分融合,該算法能夠考慮到用戶與群組之間的關(guān)系,但是忽略了個別影響力因子大的用戶對整個群組的影響,且在大規(guī)模的群組中推薦的滿意度與準(zhǔn)確率偏低;尹青山[15]提出一種基于改進(jìn)矩陣分解的群組推薦算法,以融入群組特有信息的矩陣分解為基礎(chǔ)模型生成群內(nèi)單用戶的偏好評分,然后采用群推薦中傳統(tǒng)融合策略進(jìn)行個人評分融合,該方法能夠很好地獲取個人預(yù)測評分,但是在群組偏好融合的過程中使用傳統(tǒng)融合策略只是簡單地將群組內(nèi)所有成員的評分進(jìn)行合并,未考慮用戶權(quán)重應(yīng)不同,偏好融合效果欠佳;Guo等人[16]提出了一種基于偏好關(guān)系的群組推薦模型,使用多元回歸和極端學(xué)習(xí)程序預(yù)測每個用戶的預(yù)測評分,偏好融合則使用borda規(guī)則實現(xiàn),實驗表明該模型適用于大規(guī)模群組推薦,緩解了群組推薦的數(shù)據(jù)稀疏性問題,但是borda規(guī)則是傳統(tǒng)融合策略的一種變式,偏好融合表現(xiàn)較差,導(dǎo)致推薦的準(zhǔn)確度較低。
綜上可知,群組推薦方面的研究雖然眾多,但是仍然存在以下方面需要進(jìn)一步研究:一方面是對于單個用戶的偏好擬合,概率矩陣分解雖然具有穩(wěn)定的預(yù)測性能,并且可以利用邊信息來有效緩解數(shù)據(jù)稀疏問題,但是在計算過程中忽略了用戶之間的關(guān)系信息,而用戶之間的交互關(guān)系往往會對用戶的偏好產(chǎn)生較大影響,因此預(yù)測結(jié)果的準(zhǔn)確性仍有待提高;另一方面是對于群組用戶的偏好融合,當(dāng)群組成員之間存在偏好沖突時,傳統(tǒng)融合策略無法提供良好的群組推薦,而且將相同的權(quán)重分配給組中的所有個體,不能反映不同組用戶在實踐中的實際貢獻(xiàn)。事實上,群組中所有成員都應(yīng)該有不同的影響,在群組中有重要地位或能夠為群組做出更多貢獻(xiàn)的人,在偏好融合的過程中應(yīng)該擁有更高的權(quán)重,而且考慮到在群組中會有一些不可靠成員隨意評分,可能導(dǎo)致不準(zhǔn)確的推薦結(jié)果,用戶的可靠性也是一個必須考慮的因素。
為解決上述問題,本文提出了融合概率矩陣分解與ER規(guī)則的群組推薦方法(FPMF-ER),該方法通過聯(lián)合用戶之間的關(guān)系信息對經(jīng)典概率矩陣分解算法進(jìn)行改進(jìn),不僅能夠有效緩解數(shù)據(jù)稀疏問題,而且能夠獲得更加準(zhǔn)確、完整的單個用戶預(yù)測評分,為后續(xù)群組推薦工作奠定良好的基礎(chǔ);隨后,在群組成員偏好融合的過程中引入ER規(guī)則,利用ER規(guī)則合理地將權(quán)重和可靠性分配給不同的群組成員,保證了沖突偏好之間的準(zhǔn)確融合,能夠更加真實合理地反映偏好融合的過程。本文的主要貢獻(xiàn)可概括如下:
(1)提出了一種融合概率矩陣分解與ER規(guī)則的群組推薦方法,有效提升了群組推薦系統(tǒng)性能;
(2)在單個用戶偏好擬合階段,聯(lián)合用戶關(guān)系信息對PMF方法進(jìn)行改進(jìn),提出聯(lián)合概率用戶關(guān)系的概率矩陣分解方法,以獲取更完整、更準(zhǔn)確的單個用戶偏好擬合結(jié)果;
(3)在群組偏好融合階段,提出一種基于ER規(guī)則的偏好融合方法,通過ER規(guī)則根據(jù)群組成員的權(quán)重和可靠性識別群體成員的重要性和影響力,使偏好融合過程更加科學(xué)合理;
(4)為了評估所提出的群組推薦方法的性能,在Book-Crossing數(shù)據(jù)集上進(jìn)行了對比實驗,實驗結(jié)果證明了所提出方法的有效性。
在本章中,使用聯(lián)合用戶關(guān)系的概率矩陣分解方法獲取完整且準(zhǔn)確的個人預(yù)測評分,完成單個用戶偏好的擬合。擬合過程分為兩步:首先,構(gòu)建用戶關(guān)系矩陣,并通過經(jīng)典概率矩陣分解算法對用戶關(guān)系矩陣進(jìn)行補全;隨后,將補全后的用戶關(guān)系矩陣和用戶-項目評分矩陣引入改進(jìn)后驗概率的概率矩陣分解獲取個人預(yù)測評分。
對于群組中的用戶,根據(jù)公式(1)計算得到用戶之間的關(guān)系信息,并將關(guān)系信息儲存在一個M×M維的矩陣S中,M表示用戶數(shù)量,矩陣的元素Sl,r表示用戶l和用戶r之間的關(guān)系信息。
其中,rl,i、rr,i分別表示用戶l對項目i的評分和用戶r對項目i的評分;、分別表示用戶l的平均評分和用戶r的平均評分。Sl,r的值在?1到+1之間,值越接近1,表示兩個用戶之間的關(guān)系越緊密。
但是,由于關(guān)系信息是基于評分信息得到,而一般情況下用戶傾向于只對大量項目中的少數(shù)進(jìn)行評分導(dǎo)致數(shù)據(jù)稀疏,所以需對關(guān)系信息進(jìn)行補全。
假設(shè)關(guān)系信息矩陣S是由用戶l的潛在向量L和用戶r的潛在向量R的內(nèi)積來決定,且服從高斯分布,如式(2)所示:
則關(guān)系信息矩陣的條件分布可表示為如式(3)所示,其中Il,r為指標(biāo)函數(shù),如果用戶l與用戶r之間存在關(guān)系信息值,則為1,否則為0。
再假設(shè),用戶l的潛在向量L和用戶r的潛在向量R都服從均值為0的高斯分布,即:
則對于用戶l的潛在向量L和用戶r的潛在向量R,其后驗分布的對數(shù)函數(shù)如式(6)所示。其中,C是一個不依賴參數(shù)的常量。
最大化后驗分布的對數(shù)函數(shù)等價于最小化含有二次正則項的平方誤差和的目標(biāo)函數(shù),目標(biāo)函數(shù)如式(7):
最后,目標(biāo)函數(shù)E分別對Ll、Rr求導(dǎo),如式(8)、式(9)所示:
迭代更新完成后,用戶l和用戶r的關(guān)系可通過Ll與Rr相乘取得,從而獲得補全后的關(guān)系信息矩陣F,且矩陣F的第r行表示用戶r與其他用戶之間的關(guān)系信息。
假設(shè)在一個群組中有M個用戶和N個項目,形成一個M×N維的用戶-項目評分矩陣R,矩陣的元素Ri,j表示用戶i對項目j的評分值。
再假設(shè)評分矩陣R是由用戶潛在向量U(M×D)與項目潛在向量V(N×D)的內(nèi)積求得,且服從均值為,方差為的高斯分布,其中D是潛在特征矩陣,則矩陣R的概率分布如式(10)所示:
在1.1節(jié)中,經(jīng)過計算得到補全后的用戶關(guān)系信息矩陣F,根據(jù)式(11)對矩陣F的每行值進(jìn)行歸一化。
則用戶i的潛在向量Ui可表示為矩陣F中其他用戶的潛在向量乘以權(quán)重求和得到,如式(12)所示:
于是,用戶潛在向量U的高斯先驗分布如式(13)所示,項目潛在向量V的高斯先驗分布如式(14)所示:
則對于用戶潛在向量U和項目潛在向量V,其后驗分布的ln對數(shù)函數(shù)如式(15)所示:
而最大化該后驗分布的對數(shù)函數(shù),等價于最小化含有二次正則項的平方誤差和的目標(biāo)函數(shù)L,如式(16)所示,其中λU=σR2/σU2,λV=σR2/σV2,λF=σR2/σF2。
最后,目標(biāo)函數(shù)L分別對Ui和Vj求導(dǎo),如式(17)、式(18)所示:
在計算潛在特征向量后,獲得值=UiTVj,其中表示用戶i對物品j的預(yù)測偏好得分。至此,形成補全后的用戶-項目評分矩陣R,并獲得每個單個用戶對所有項目的預(yù)測值,將用于為后續(xù)偏好融合階段做準(zhǔn)備,是群組偏好融合過程中的重要組成部分。
本文在群組偏好融合的過程中引入ER規(guī)則,它是一種多準(zhǔn)則決策分析的通用方法,使用統(tǒng)一的信念結(jié)構(gòu)來建模各種類型的不確定性,可以被視為一種概率方法,并充分利用所有用戶生成的數(shù)據(jù),屬于人工智能范疇,常用于信息融合、專家系統(tǒng)、多準(zhǔn)則決策分析等方面。ER規(guī)則通過合理地分配證據(jù)的權(quán)重和可靠度,使得證據(jù)在不同的決策場景中具有與之相適應(yīng)的特性,保證了高沖突證據(jù)之間的準(zhǔn)確融合,而且它在計算過程中采用正交和算子進(jìn)行證據(jù)組合,通過迭代計算,大大減小了傳統(tǒng)證據(jù)組合的計算量,避免了組合爆炸問題[17-20]。
基于ER規(guī)則的偏好融合方法細(xì)節(jié)描述如下:在第1章中獲得了完整的用戶-項目評分矩陣R,可以顯示各組成員對項目的預(yù)測值,群組中的每個用戶對項目的預(yù)測值都可以作為一個證據(jù)用來預(yù)測整個群組的真實偏好,通過ER規(guī)則識別每個用戶權(quán)重以及可靠性,然后將所有用戶的預(yù)測值融合生成群組對項目的預(yù)測值,最終得到群組的推薦結(jié)果?;贓R規(guī)則的偏好融合方法的工作原理如下。
定義1(識別框架)對于一個群組,認(rèn)為項目集合Θ={v1,v2,…,vN}一個識別框架,其中Θ是一組相互排斥且詳盡的待推薦候選項目,識別框架的vj代表第j個項目。此外,Θ的所有子集構(gòu)成冪集p(Θ),如式(19)所示:
定義2(證據(jù))證據(jù)ei由信任分布來表示,如式(20)所示:
其中,(v,pv,i)表示支持假設(shè)v的證據(jù),其概率為pv,i,由群組中第i個成員形成,概率pv,i由群組成員對項目的預(yù)測值表示,這里v可以是除空集之外Θ的任何子集或p(Θ)的任何元素。
定義3(權(quán)重和可靠性)假設(shè)wi(0≤wi≤1)和Ri(0≤Ri≤1)分別是任意用戶i的權(quán)重和可靠性,wi表示用戶i的重要程度,越接近0表示越不重要,越接近1表示越重要,Ri表示用戶i的可靠程度,越接近0表示越不可靠,越接近1表示越可靠。
若某個用戶在一個群組中有重要的位置,或者可以為推薦工作做出更多的貢獻(xiàn),那么他的權(quán)重應(yīng)比較高。一般情況下,為了使推薦結(jié)果盡可能地滿足群體的偏好,所有用戶都對同一個目標(biāo)做出了貢獻(xiàn),而某個用戶的推薦召回率越高,說明這個用戶可以從群組的實際偏好中取回更多的項目,同時也說明這個用戶對社群的貢獻(xiàn)越大,因此將用戶的推薦召回率作為權(quán)重,用戶i的權(quán)重設(shè)置如式(21)所示:
其中,Qt表示用戶i正確推薦項目的數(shù)量,Q表示訓(xùn)練集中的項目總數(shù)。
因為權(quán)重反映了用戶i相對于其他用戶的相對重要性,所以需要將用戶i的權(quán)重歸一化,歸一化公式如式(22)所示:
對于群組成員的可靠性,則根據(jù)每個成員的推薦準(zhǔn)確率來設(shè)置。如果一個群組成員的推薦準(zhǔn)確率非常低,那么就認(rèn)為他不可靠,反之,推薦準(zhǔn)確率越高,則越可靠,任意用戶i的推薦精確率rpi如式(23)所示:
其中,Qt表示用戶i正確推薦項目的數(shù)量,Qu表示用戶i正確推薦列表上的項目數(shù)。
然而,大多數(shù)情況下沒有人能夠完全代表一個群組,這意味著沒有人是完全可靠的,用可靠性的閾值S來限定用戶的可靠性,用戶i的可靠性如式(24)所示:
用戶i的權(quán)重與可靠性的混合權(quán)重如式(25)所示:
基于上述條件,偏好融合的過程如下,將完整的用戶-項目評分預(yù)測矩陣RM×N={ri,j}轉(zhuǎn)化為證據(jù)資料矩陣PN×M=RTM×N={pv,i}。
若一個群組中只有兩個用戶,則融合結(jié)果可表示為如式(26)~(28)所示。其中,pv,E(2)表示群組對于項目v的預(yù)測值。
若一個群組中有兩個以上用戶,則使用遞歸方法進(jìn)行融合,根據(jù)式(29)~(31)計算融合社群對項目的預(yù)測值pv,E(i)。
經(jīng)過上述步驟,最終得到群組對項目的預(yù)測值pv,E(i),然后按照預(yù)測值高低將項目進(jìn)行推薦,預(yù)測值越高,用戶越有可能滿意。本文提出的FPMF-ER群組推薦方法框架如圖1所示。
圖1 FPMF-ER群組推薦方法框架Fig.1 FPMF-ER group recommendation method framework
下面對提出的FPMF-ER算法計算復(fù)雜度進(jìn)行分析。本文算法主要由概率矩陣分解和基于ER規(guī)則的偏好融合兩個部分組成,故算法的主要計算部分是更新潛在特征矩陣和證據(jù)融合時的遞歸運算。對于更新潛在特征矩陣,矩陣會反復(fù)更新,直至收斂,這一過程幾乎與王英博等人[21]定義的過程相似,由此可知概率矩陣分解的時間復(fù)雜度是O(kDMN),其中,k是收斂所需的迭代次數(shù),用戶和項目分別由M和N的對應(yīng)行表示,D是潛在特征向量。由于本文在經(jīng)典概率矩陣分解算法的基礎(chǔ)上聯(lián)合了用戶關(guān)系信息,所以每次迭代都需要額外的計算步驟。因此,上述優(yōu)化過程的總計算復(fù)雜度為O(k(DMN+LM2))。其中,L是用戶潛在特征向量。對于ER規(guī)則,它在偏好融合過程中采用正交和算子進(jìn)行證據(jù)組合,此部分的計算主要是遞歸運算,時間復(fù)雜度為O(K(logn)),其中K是遞歸次數(shù)。通過ER規(guī)則進(jìn)行偏好融合,能夠大大減小傳統(tǒng)證據(jù)組合的計算量,有效避免了組合爆炸問題,而且當(dāng)面對大規(guī)模數(shù)據(jù)集時,算法的優(yōu)勢更明顯。
本文在實驗中使用了Book-Crossing數(shù)據(jù)集,該數(shù)據(jù)集包含278 858個用戶、271 379本圖書和1 149 780條評論,評論信息不僅包括文本,還包括用戶對圖書的數(shù)字評分,數(shù)字評分從1~10。
但是,該數(shù)據(jù)集并不包含分組信息,本文借鑒文獻(xiàn)[22]的方式對數(shù)據(jù)集重構(gòu)、進(jìn)行群組劃分:如果用戶ui和用戶uj評價了相同的圖書,則將用戶ui和用戶uj劃分到以該圖書建立的一個群組。通過群組劃分,重構(gòu)的數(shù)據(jù)集中的278 858名用戶共形成18 619個群組,規(guī)模最大的群組有29個成員,規(guī)模最小的群組有3個成員。本文從重構(gòu)的數(shù)據(jù)集中隨機選擇80%的數(shù)據(jù)作為訓(xùn)練集,20%的數(shù)據(jù)作為測試集,數(shù)據(jù)集群組信息如表1所示。
表1 數(shù)據(jù)集群組信息Table 1 Data set group information
對于推薦效果的評估,本文采用均方根誤差RMSE作為評估推薦質(zhì)量好壞的指標(biāo),采用歸一化折損累計增益nDCG作為衡量生成Top-n推薦列表準(zhǔn)確率的指標(biāo),采用滿意度指標(biāo)GSM衡量用戶的滿意度,具體計算方式如下所示。
RMSE的計算如式(32)所示:
其中,N表示社群中參與預(yù)測的項目數(shù)目;ri表示用戶對項目i的實際評分;ri′表示用戶對項目i的預(yù)測評分。RMSE結(jié)果的值越小,表示推薦的準(zhǔn)確度越高。
nDCG的計算如式(33)、式(34)所示:
其中,{i1,i2,…,ik}是項目的評分列表;g表示社群,n表示推薦列表的前n個;rg,ik表示社群對項目ik的真實評分。nDCG是DCG的真實值與DCG的最大值的比值,DCG的最大值即推薦列表的最佳DCG值,nDCG的數(shù)值越大,表示推薦的準(zhǔn)確度越高。
GSM的計算如式(35)所示:
其中,Nir表示推薦項目的個數(shù),N表示社群中參與預(yù)測的項目數(shù)目,Ir表示推薦的項目。另外,為了提高實驗的準(zhǔn)確性和效率,需設(shè)置一個用戶的滿意度閾值,根據(jù)文獻(xiàn)[23],滿意度閾值過低,可能導(dǎo)致社群推薦整體準(zhǔn)確性產(chǎn)生偏差,閾值設(shè)定過高,則不能真實地反映推薦項目與用戶偏好情況。由于本文采用數(shù)據(jù)集評分為1~10,故將滿意度閾值設(shè)置為7,即評分大于或等于7的成員對推薦的結(jié)果表示滿意,故Isu表示7分以上的項目。
3.3.1 參數(shù)λU、λV和λF的選擇
本文在聯(lián)合用戶關(guān)系的概率矩陣分解中有3個參數(shù)分別是λU、λV和λF,其中,λU和λV可以起到正則化系數(shù)的作用,相較于λF,λU和λV的取值較小,通常在0.001到0.01之間。為了探究上述參數(shù)對推薦效果的影響以及最優(yōu)值,采用RMSE作為評價指標(biāo)進(jìn)行實驗,在其他參數(shù)不變的情況下,參數(shù)λU和λV對推薦效果的影響如圖2所示,λF對推薦效果的影響如圖3所示。
圖2 參數(shù)λU和λV對推薦效果的影響Fig.2 Parameters λU and λV on recommendation effect
圖3 參數(shù)λF對推薦效果的影響Fig.3 Parameter λF on recommendation effect
從實驗結(jié)果可以看出,當(dāng)參數(shù)λU取值為0.002,λV取值為0.004時,RMSE值最小,此時推薦質(zhì)量最高,故在后續(xù)實驗中將參數(shù)λU的值設(shè)置為0.002,將λV的值設(shè)置為0.004。對于參數(shù)λF,當(dāng)λF取0時,RMSE值最高,說明推薦的質(zhì)量最差,此時FPMF將退化為經(jīng)典PMF算法,而隨著λF逐漸增大,RMSE值逐漸下降,推薦質(zhì)量有所提高,當(dāng)λF取值為8時,此時RMSE值最小,此時推薦效果最佳,故在后續(xù)實驗中,將λF取值為8。
3.3.2 可靠性閾值實驗
對于基于ER規(guī)則的偏好融合方法,用戶的可靠性是一組相互沒有影響的絕對值。它表示每個成員的可靠程度。雖然可靠性等于1代表“完全可靠”,但是幾乎沒有人能夠完全能夠代表一個群組,為了減弱這種影響,采用可靠度閾值S來約束群組內(nèi)可靠性最高的成員。由于用戶可靠性的取值范圍是[0,1],且閾值設(shè)置不能太低,于是選擇在[0.5,0.9]之間進(jìn)行實驗,探究最佳的可靠性閾值以及可靠性閾值對算法精度的影響,實驗結(jié)果如圖4所示。
圖4 可靠性閾值S對算法精度的影響Fig.4 Influence of reliability threshold S on algorithm accuracy
從實驗結(jié)果可以看出,隨著可靠性閾值的增大,算法精度的變化趨勢是先增后降,當(dāng)可靠性閾值取0.8時,nDCG達(dá)到峰值82.9%,此時算法精度最高,取得最佳性能,故在后續(xù)實驗中,將可靠性閾值S設(shè)置為0.8。
3.3.3 潛在特征矩陣維度分析
潛在特征矩陣的維度會影響群推薦性能以及所提出模型的訓(xùn)練時間。在本小節(jié)中,分析不同維度對模型性能影響,實驗測試在潛在特征矩陣維度d取不同值時,F(xiàn)PMF-ER模型的性能。設(shè)定潛在特征矩陣維度d的取值范圍為10到100,選擇nDCG作為評價指標(biāo),在Book-Crossing數(shù)據(jù)集上進(jìn)行實驗,實驗結(jié)果如圖5所示。
圖5 不同潛在特征矩陣維度下的模型性能對比Fig.5 Comparison of model performance in different dimensions of potential feature matrix
從實驗結(jié)果可以看出,隨著潛在特征矩陣的維度d的逐漸增加,nDCG指標(biāo)逐漸升高,說明FPMF-ER模型的性能有所提升。當(dāng)潛在特征矩陣維度d達(dá)到80時達(dá)到飽和,模型的性能不再隨著潛在特征矩陣維度d的增加而提升。
3.3.4 優(yōu)化算法分析
本文在優(yōu)化過程中使用了隨機梯度下降(SGD)技術(shù),為了探究不同優(yōu)化算法對性能的影響,在本小節(jié)中選取了SGD、Momentum、RMSprop和Adam進(jìn)行實驗,實驗結(jié)果如圖6所示。從實驗結(jié)果可以看出,相比與其他優(yōu)化器,Momentum的效果較差,本文認(rèn)為主要原因是Momentum積累之前的動量來代替真正的梯度,在訓(xùn)練初期時對訓(xùn)練速度雖有提升,但是比較難學(xué)習(xí)一個較好的學(xué)習(xí)率,導(dǎo)致較差的優(yōu)化效果。RMSprop可以較好地修正收斂幅度,使各維度的擺動都較小,但是在應(yīng)對稀疏矩陣時優(yōu)化效果不佳,并且依然依賴一個不穩(wěn)定的全局學(xué)習(xí)率。Adam能夠動態(tài)調(diào)節(jié)每個參數(shù)的學(xué)習(xí)率,但是有可能會陷入局部最小值,最終會一直在最小值附近波動,并且面對大規(guī)模數(shù)據(jù)集時達(dá)不到較好的收斂效果。綜合來看,對于本文來說SGD是效果最好的優(yōu)化算法,它的每一步更新的計算時間不依賴于訓(xùn)練樣本數(shù)目的多寡,對于大規(guī)模數(shù)據(jù)集或較為稀疏的數(shù)據(jù)集,SGD會在處理整個訓(xùn)練集之前就收斂到最終測試機誤差的某個容錯范圍內(nèi),收斂速度和收斂程度均有較好的效果。
圖6 不同優(yōu)化算法的實驗結(jié)果Fig.6 Experiment result of different optimization algorithms
3.3.5 算法復(fù)雜度比較分析
對于算法的時間復(fù)雜度方面,將本文算法與先進(jìn)的群組推薦方法GROD和WBF進(jìn)行對比分析。WBF方法首先將加權(quán)方案引入到評分矩陣中,然后將用戶的偏好合并,并以一個虛擬用戶來表示以構(gòu)建群組偏好模型,最后通過矩陣分解算法獲取群組推薦結(jié)果[24]。GROD方法通過在群組成員之間達(dá)成共識來考慮群組推薦中群組成員之間的關(guān)系,它的具體實現(xiàn)如下:首先使用SVD獲得缺失的個人評分,然后使用獲得的評分獲得個人推薦并且獲得群組用戶之間的相似性矩陣,該相似矩陣用于在群組成員之間達(dá)成共識,最后使用意見動力學(xué)模型過濾與群組最相關(guān)的項目以產(chǎn)生推薦[25]。對于WBF方法,t1為迭代次數(shù),K代表潛在因子矩陣大小,Ig是群組中至少一個用戶評分的項目數(shù),它的時間復(fù)雜度為O(t1(K2,Ig,K3))。對于GROD方法,t2表示迭代次數(shù),k代表潛在因素矩陣的大小,I表示項目數(shù)量,Rg表示群組成員的最高評分量,該方法的計算復(fù)雜度為O(t2(gIk,g2Rg,g3))。分析可知WBF和GROD與本文算法在運行時間性能上的差異主要取決于迭代的運算復(fù)雜度與群組規(guī)模大小,WBF和GROD隨著群組規(guī)模的增大效果降低較快,且迭代次數(shù)越高,時間復(fù)雜度越高,相較于WBF和GROD,F(xiàn)PMF-ER的時間復(fù)雜度更低,并且在大規(guī)模模數(shù)據(jù)集的實際應(yīng)用中更為合適,具有較大的優(yōu)勢,時間復(fù)雜度比較如表2所示。
表2 算法復(fù)雜度比較Table 2 Comparison of algorithm complexity
3.3.6 準(zhǔn)確度結(jié)果分析
本文使用4個對比方法,分別是PR-VU-GA-GR、LFM-AGRT、GRS-IT和LDA-GRS。
(1)PR-VU-GA-GR:采用推薦融合方法,單個用戶偏好的擬合使用矩陣分解技術(shù),偏好融合階段使用一種基于虛擬用戶的權(quán)重融合策略進(jìn)行推薦[26]。
(2)LFM-AGRT:采用LFM隱語義模型對用戶數(shù)據(jù)進(jìn)行矩陣分解,通過將分解矩陣再次相乘獲得用戶對未評分項目的評分?jǐn)?shù)據(jù),然后采用加權(quán)混合融合策略對群組偏好進(jìn)行融合[27]。
(3)GRS-IT:引入領(lǐng)導(dǎo)者影響的方法,結(jié)合皮爾遜相關(guān)性與一種隱式信任度計算找出組內(nèi)領(lǐng)導(dǎo)者并獲取領(lǐng)導(dǎo)者與成員、成員彼此之間的影響權(quán)重,然后采用均值策略對群組偏好進(jìn)行融合[28]。
(4)LDA-GRS:采用模型融合方法,將組用戶的偏好轉(zhuǎn)化為整個群組的偏好,綜合考慮群組用戶的偏好以及信任關(guān)系構(gòu)建了群組模型,基于此模型生成推薦列表[29]。
為了評估本文所提出方法在推薦結(jié)果準(zhǔn)確度方面的整體表現(xiàn),選取最優(yōu)參數(shù),使用RMSE和nDCG作為評價指標(biāo),在重構(gòu)數(shù)據(jù)集上進(jìn)行實驗,分別比較群組規(guī)模在5、10、15、20、25時推薦結(jié)果的準(zhǔn)確度。并且為了保證實驗結(jié)果的公平性,實驗進(jìn)行5次測試再取平均值作為最終結(jié)果,選取RMSE作為評價指標(biāo)的對比實驗結(jié)果如圖7所示,選取nDCG作為評價指標(biāo)的對比實驗結(jié)果如圖8所示。
圖7 推薦準(zhǔn)確度的RMSE對比圖Fig.7 RMSE comparison chart of recommended accuracy
圖8 推薦準(zhǔn)確度的nDCG對比圖Fig.8 nDCG comparison chart of recommended accuracy
由圖7和圖8的實驗結(jié)果可以看出,五種方法在群組規(guī)模擴(kuò)大的過程中RMSE值均逐漸升高,nDCG值均逐漸降低,這說明隨著群組規(guī)模擴(kuò)大,推薦結(jié)果準(zhǔn)確度有所降低。
其中,GRS-IT方法整體表現(xiàn)較差,原因在于該方法在偏好融合的過程中采用了傳統(tǒng)融合策略中的均值策略,這種做法只是簡單地將群組成員的評分取平均值,在融合過程中可能會丟失掉大量的有價值的信息,因此推薦結(jié)果并不可靠;LDA-GRS方法采用的偏好模型融合方法在面臨群組規(guī)模擴(kuò)大的情況時,構(gòu)建偏好模型的能力下降,導(dǎo)致推薦準(zhǔn)確度下降,并且該方法未考慮群組中不同用戶的權(quán)重應(yīng)該不同,因此該方法在推薦結(jié)果準(zhǔn)確度方面表現(xiàn)一般;PR-VU-GA-GR和LFM-AGRT方法整體表現(xiàn)接近,且均優(yōu)于前兩種對比方法,原因在于在獲取個人預(yù)測評分時,都采用了矩陣分解方法,預(yù)測單個用戶的偏好擬合結(jié)果能力更強,因此推薦結(jié)果也更加準(zhǔn)確,但是這兩種方法在偏好融合時都同樣設(shè)置了固定權(quán)重,隨著規(guī)模的擴(kuò)大成員關(guān)系會減弱,推薦準(zhǔn)確度隨著規(guī)模的擴(kuò)大而降低;FPMF-ER方法整體表現(xiàn)最優(yōu),原因在于該方法在單個用戶偏好擬合階段采用聯(lián)合用戶關(guān)系信息對概率矩陣分解進(jìn)行改進(jìn),相比其他四種方法能夠得到更加準(zhǔn)確的個人預(yù)測結(jié)果,而且在偏好融合的過程中引入ER規(guī)則,為群組中不同用戶設(shè)置有不同的權(quán)重和可靠性,隨著群組規(guī)模的擴(kuò)大仍然能夠保持較高的準(zhǔn)確度,避免了有價值信息丟失的問題,保證了用戶偏好的準(zhǔn)確融合,因此推薦結(jié)果的準(zhǔn)確度更高。
3.3.7 用戶滿意度結(jié)果分析
用戶對于推薦結(jié)果的滿意度是評估的主要部分,因為群組推薦的目標(biāo)是向群組推薦合適的項目,以最大限度地提高組成員的滿意度,用戶滿意度實驗將FPMF-ER與PR-VU-GA-GR、LFM-AGRT、GRS-IT和LDA-GRS進(jìn)行比較,采用GSM作為評價指標(biāo),分別重復(fù)進(jìn)行5次實驗再將實驗結(jié)果取平均值作為最終結(jié)果,并分別比較群組規(guī)模在5、10、15、20、25時群組成員的滿意度,實驗結(jié)果如圖7所示。
由圖9的實驗結(jié)果可以看出,隨著群組規(guī)模的逐漸擴(kuò)大,各個方法的用戶滿意度均逐漸降低,F(xiàn)PMF-ER在規(guī)模為5、10、15、20、25時的GSM值分別為82.71%、79.54%、76.31%、74.22%、72.21%,且均高于其他四種方法的GSM值,原因在于FPMF-ER在偏好融合過程中能夠為不同用戶分配不同的權(quán)重和可靠性,識別出每個組成員的不同重要程度再進(jìn)行偏好融合,能夠更加真實地反映社會群體偏好選擇過程,故而組成員的滿意度較高。另外,五種方法的最高GMS值均是在群組規(guī)模為5時,分別為82.71%、79.27%、78.35%、74.32%、69.12%,且隨著規(guī)模的擴(kuò)大GSM逐漸降低。實驗結(jié)果可以看出五種群組推薦方法的用戶滿意度排序為:FPMF-ER>LFMAGRT>PR-VU-GA-GR>LDA-GRS>GRS-IT。
圖9 用戶滿意度對比圖(GSM)Fig.9 Comparison of user satisfaction(GSM)
本文提出了一種新的融合概率矩陣分解與ER規(guī)則的群組推薦方法,在單個用戶偏好擬合階段,采用聯(lián)合用戶關(guān)系的概率矩陣分解方法獲取個人預(yù)測評分,能夠準(zhǔn)確而穩(wěn)定地預(yù)測單個用戶的偏好。在群組用戶的偏好融合階段采用一種基于ER規(guī)則的偏好融合方法,該方法能夠根據(jù)不同用戶的權(quán)重和可靠性,準(zhǔn)確識別出用戶的重要性,使融合過程更加準(zhǔn)確合理。在真實數(shù)據(jù)集Book-Crossing進(jìn)行了實驗,以驗證本文所提出方法的有效性。結(jié)果表明,相對于其他方法,本文所提出的FPMF-ER方法在推薦結(jié)果的準(zhǔn)確性和用戶滿意度方面有較大的提升,具有較高的推薦質(zhì)量。
本文工作的局限性在于所使用的數(shù)據(jù)集針對性較強,不能保證算法的普適性,下一步的研究方向是選取其他數(shù)據(jù)集和評價指標(biāo)進(jìn)行更有力的驗證。另外,在未來的研究中,仍有許多其他有效的偏好融合方法有待發(fā)現(xiàn)和改進(jìn),接下來將繼續(xù)從偏好融合方面進(jìn)行研究,提出更高效的偏好融合方法,不斷提高群組推薦的效果。