?

基于可信預測值的協同過濾推薦算法

2022-02-18 04:00于程遠袁徽鵬
關鍵詞:項目數準確度預測值

鄧 泓,吳 祎,于程遠*,袁徽鵬

(1.江西農業大學軟件學院,江西 南昌 330045;2.江西農業大學計算機與信息工程學院,江西 南昌 330049)

0 引言

隨著信息化的快速發展,爆炸式增長的數據容易造成信息過載和信息迷失等問題,因此在海量數據中挖掘出用戶感興趣的內容逐漸成為熱門的研究方向.一方面,用戶利用分類目錄和搜索引擎的方式主動尋找需要的信息;另一方面,通過分析用戶信息并運用一定技術挖掘出用戶潛在的感興趣內容,再將該興趣內容推薦給用戶,即為推薦算法[1].

推薦算法自提出以來就受到了廣泛關注,研究者將推薦算法分為基于內容推薦、基于協同過濾推薦和混合推薦[2],其中協同過濾算法根據用戶的歷史相關信息,挖掘用戶的偏好并進行推薦,再細分為基于記憶和基于模型的方法[3].

基于模型的方法運用數據挖掘和機器學習方法訓練模型,通過訓練后的模型計算用戶對項目的評分,以此作為預測評分.常見的模型方法有矩陣分解、聚類[4]和神經網絡.

基于記憶的方法利用用戶對項目的評分信息計算相似度,再通過相似集合預測未評分項目的潛在評分.根據集合種類分為基于項目和基于用戶的協同過濾,本文主要研究基于用戶的方法,該方法假設具有共同行為的相似用戶之間非共同行為也具有相似性,根據相似度尋找相似用戶集合,為目標用戶推薦相似用戶偏好的項目.基于記憶的協同過濾方法因具有易實現、跨領域性和可解釋性等特點,而成為推薦系統的主要研究方法,但同時該方法也存在冷啟動、精度低、稀疏性和擴展性等問題,其中精度低是常見的問題之一.在推薦系統中,精度問題是指因評分數據稀疏、用戶概貌注入攻擊等而導致推薦過程產生誤差,從而準確度降低的問題.該問題可以通過挖掘用戶或項目潛在關系、融合附加信息的方式來緩解,從而提高推薦精度.提高推薦精度具體表現在對協同過濾過程的優化,包括優化計算相似度、優化尋找最近鄰和優化預測評分值等.

計算相似性是在推薦算法中的關鍵步驟[5],用戶相似度用于選擇鄰居集合并作為權重因子應用在預測計算中,因此優化相似度是提高精度的核心方法,也是學者研究的重點.

L. Candillier等[6]將杰卡德相似度作為權重,與皮爾遜相似度進行乘積融合得到加權相似度(WPCC),實驗結果表明運用融合相似度能夠顯著提高準確度.S. Manochandar等[7]引入改進的接近-影響-流行度相似度(MPIP)方法,對接近度、影響力、流行度的權重進行歸一化.S. Bag等[8]應用評分值改進杰卡德系數,并結合均方差提出了相關杰卡德均值平方偏差(RJMSD)度量方法.Jin Qibing等[9]設計了一種聯合局部和全局的相似度算法(CLAG),使用離散化的奇異性作為局部相似度,融合共同評分和用戶評分習慣作為全局相似度.Jiang Shan等[10]采用次一擬范數相似度度量方法(SOQN),運用0~1間的小數作為范數值,充分利用評分值并弱化用戶間的差異性,實驗結果表明新方法具有更好的性能.Cai Wei等[11]提出倒數最近鄰算法(RNN),考慮用戶鄰居的對稱性,提高互為鄰居用戶的相似度.孫曉寒等[12]利用評分值將用戶評分項目集劃分為不同的項目子空間,綜合子空間的評分支持度得到用戶相似度(RRS).滕少華等[13]運用混合模型改進相似度,提出了一種混合用戶多興趣推薦算法.

在計算相似度后,一般運用KNN(k-nearest neighbor)方法設置最近鄰,即選擇相似度最高的k個用戶作為最鄰居集合,但是這種選取鄰居的方式具有片面性,在k個鄰居中可能存在鄰居相似度不高或相似度計算不準確的情況,導致對推薦結果的準確性產生負面影響,為了解決該問題,可以考慮加入閾值或可信度等其他因素優化選取最近鄰過程.

C. Kaleli[14]考慮用戶評分的不確定性,設計了一種基于熵的鄰居選擇方法(EUCF),該方法計算用戶評級分布的信息熵和皮爾遜相似度,將最近鄰選擇作為在固定熵差容量下最大化相似度的0-1背包問題.Zhang Ziyang等[15]設計2層鄰居選擇方案,首先根據相似度和共同項目數進行第1層鄰居選擇,再利用融合時間的動態信任選取第2層鄰居用戶.Li Zepeng等[16]提出快速鄰居搜索方法(FUNS),將用戶評分項目分為3個項目子空間,根據共同評級項目和鄰居傳遞在子空間中選擇近鄰用戶,結合子空間并集作為鄰居集合.賈東艷等[17]設計雙重鄰居選取策略,從目標項目評分的用戶中選取相似度大于平均相似度的用戶為興趣相似用戶,將興趣用戶的預測準確率作為信任度,取信任度最高用戶為鄰居用戶.

為提高算法精度,除了在計算相似度、選取鄰域集中挖掘用戶和項目的潛在關系,也能夠在評分預測中引入附加信息,進而提高預測值的準確度.

Chen Yicheng等[18]運用多重時間衰減函數捕捉用戶的偏好變化,將衰減值與評分值融合計算衰減預測值,并結合加權基線估計得到最終預測值.S. Manochandar等[7]組合基于用戶和基于項目的預測值,并考慮目標用戶和目標項目的評分偏差.孔麟等[19]引入用戶間交互信息的信任度,運用自適應模型計算相似度和信任度的加權平均值.

此外,基于模型的方法具有準確性和拓展性的優勢,在訓練不同模型中充分利用有效信息也能夠提高預測準確度.Feng Chenjiao等[20]提出了一種新型融合概率矩陣分解方法,在矩陣分解中結合多因素相似度和評分矩陣,實驗結果表明該融合方法能有效地提高預測精度.Pan Yiteng等[21]對評分和信任數據進行訓練,設計了一種相關去噪自動編碼器模型,將用戶分為評分者、信任者和受托人,并在隱藏層中結合具有多個角色的用戶特征.N.A. Noulapeu等[22]將矩陣分解與神經網絡相結合,利用雙重正則化矩陣分解提取用戶和項目潛在因子,并在多層感知機中融合潛在因子,以緩解在矩陣分解中線性點積的限制,提高推薦質量.

針對在推薦算法中的精度問題,在基于記憶的協同過濾中主要考慮對計算相似度、選擇鄰居和預測評分過程進行優化,以提高推薦結果的準確度,但在協同過濾方法產生的推薦中,僅根據預測值大小進行排名推薦,未考慮評分值的可信度.因此,本文對推薦產生這一過程進行優化,在產生推薦中引入評分結果的可信度,提出了一種基于可信預測值的協同過濾算法(RPCF),根據在鄰居集合中對推薦項目評級的鄰居數確定可信度,與預測評分值融合構成可信預測值,采用可信預測值進行推薦.

本文的主要貢獻如下:

1)考慮預測值的可信度,引入可信預測值的概念,提出基于可信預測值的協同過濾算法.

2)將本文提出的算法與其他提高精度算法進行實驗比較,實驗結果表明RPCF方法提高預測質量和算法魯棒性.

3)為評估RPCF方法的其他性能,衡量了該方法的其他指標,如多樣性和可拓展性.

1 基于可信預測值的協同過濾框架

1.1 計算相似度

常用的相似度方法有余弦相似度、修正余弦相似度和皮爾遜相似度,本文采用余弦相似度計算用戶相似度.

用戶對項目不同的評分構成了用戶評分向量,評分向量越接近則2個用戶越相似,運用評分向量的余弦值表示用戶相似度,其計算公式為

其中Ru,i、Rv,i分別表示用戶u、v對項目i的真實評分,Iu、Iv分別為用戶u、v的評分項目集,Iuv為用戶u、v的共同評分項目集.

1.2 尋找最近鄰

在計算用戶相似度后,選取相似值最高的用戶集合作為最近鄰集合,用Un表示.設置最近鄰用戶數為K,即K=|Un|.

1.3 預測評分

在用戶的最近鄰集合中,根據最近鄰用戶的評級項目與相似值的加權計算用戶對未評分項目的預測評分值,并對相似度進行歸一化,預測值計算公式為

(1)

1.4 產生推薦

傳統的協同過濾方法在計算預測評分之后,根據預測評分值最高的項目產生推薦,但未考慮預測值的可信度.對于僅有1個最近鄰用戶評分過的項目,即N=1的情況,設該項目為i1,評分過項目i1的鄰居用戶為v1,則目標用戶對項目i1的評分值為

此時對項目i1的預測評分值為鄰居用戶v1對項目i1的評分值,若該值為4或5,則按傳統方法根據預測評分值最大的項目進行推薦,項目i1極大概率地會推薦給目標用戶.在這種情況下,僅根據單個鄰居用戶的較大評分就能夠產生推薦,推薦結果的可信度較低,受鄰居用戶影響較大,導致推薦準確度降低.

因此,本文提出基于可信度的協同過濾方法,不直接使用傳統方法的預測值進行推薦,而是在預測評分和產生推薦過程中考慮預測值的可信度r,根據融合可信度的預測值產生推薦列表.其中r與N相關,對目標項目評價的最近鄰居數越多,即N越大,對該項目計算預測值的可信度越高,N越小,其可信度越低.因而設置r的值是與N呈正相關的函數,利用softsign函數計算可信度,計算公式為

r=(N+x)/(1+(N+x)),

(2)

其中x為參數,可信度r取值為(0,1).將考慮可信度的預測值稱為可信預測值,其計算公式為

2 實驗設計與分析

2.1 數據集

實驗數據集采用MovieLens 1M電影評分數據集,包括6 040個用戶對3 706個項目的1 000 209個評分值,數據集的稀疏度為95.53%,每次實驗隨機劃分訓練集和測試集,其中訓練集占70%,測試集占30%.

2.2 評價指標

評價指標運用在預測準確度中的平均絕對誤差(MA),MA衡量在測試集中真實值與預測值之間的偏差,其計算公式為

評價分類準確度指標采用精度(pr),精度是推薦結果列表中推薦正確項目的比值,其計算公式為

其中Utest表示在測試集中的用戶集合,Ir為推薦的項目列表,Iu表示為測試集用戶的評分項目集.

考慮推薦結果的多樣性,本文也將覆蓋率作為評價指標.覆蓋率(cr)可定義為推薦項目數量在總項目數中的占比,其計算公式為

2.3 預測準確度比較和算法魯棒性分析

為驗證本文基于可信預測值推薦算法的有效性,采用WPCC[6]、NHSM[23]、MLCF[24]、JMSD[25]、RJMSD[8]、MPIP[7]、RNN[11]、SOQN[10]、CLAG[9]和RRS[12]作為對比方法,其中RNN運用余弦相似度方法計算相似度.在該節中討論衡量算法的預測準確度,設置鄰居用戶數k從5增至50,步長為5,在式(2)中參數x設置為8,根據可信預測值最高的前10個項目產生推薦,比較不同鄰居用戶下的MA值,結果如圖1所示.

圖1 不同方法的MA值比較

由圖1可知:RPCF算法的預測準確度有顯著提高,如當k=50時,RPCF算法的平均絕對誤差為0.542 1,次最優的RJMSD方法為0.878 9.對比其他方法,本文方法的MA值更小.

隨著鄰居的增加,對比方法的MA值呈先降后升的趨勢,這是因為過多鄰居選取存在相似度不高或計算不準確的問題.不同于其他方法,RPCF的MA值先降低后趨于穩定,這是因為該方法將對待推薦項目評分的鄰居數作為可信度,使得更傾向于對多個鄰居用戶評級的項目進行推薦.這能夠降低不準確鄰居帶來的影響,使推薦結果具有更強的魯棒性,從而獲得更好的預測質量.

從圖1可以看出:當k≤15時,RPCF方法的MA值略低于RRS和MPIP方法;當k>15時,RPCF方法的MA值最小.在MovieLens 1M數據集中,比較圖1中的其他方法,除RPCF方法外,準確度較高的方法有MPIP、MLCF和RJMSD.當k≤35時,3種方法中MPIP的MA值低于MLCF和RJMSD的MA值,預測精度更高;當k>35時,RJMSD平均絕對誤差最小,其次是MLCF的平均絕對誤差.對于增加相似值的MLCF和RNN方法,MLCF性能優于RNN.CLAG和RJACC在k<25時的平均絕對誤差較低,隨著鄰居數的增加,MA大幅增加,這表明2種方法受鄰居影響更大,導致準確度降低.此外,JMSD和NHSM的預測準確度大體相近.

2.4 分類準確度比較

為驗證RPCF算法的分類準確度,采用精度作為衡量指標.精度與推薦項目數L和用戶鄰居數k相關,因此,設置L=10,k從5增至50;k=20,L從5增至40,進行2組精度實驗對比,結果如圖2和圖3所示.

圖2 不同鄰居用戶數的精度比較

圖3 不同推薦項目數的精度比較

由圖2可知:在不同的鄰居用戶中,RPCF的精度明顯高于其他方法,比對比方法平均提高了0.034 7~0.077 4.除RPCF外,精度較高的方法有RJMSD、JMSD以及MLCF,當k<25時,JMSD精度最高,當k>25時,RJMSD精度最高.隨著最近鄰用戶數的增加,推薦結果的精度逐漸下降,其原因是受不準確鄰居的影響.而RPCF算法的精度在鄰居數為25時逐漸平緩,趨于穩定.因為RPCF將鄰居數N作為可信度對推薦列表進行優化,緩解了鄰居選取不準確的影響,使推薦結果具有魯棒性,提供了更好的推薦質量.

由圖3可知:在不同的推薦項目數中,本文方法在大多數情況下獲得了更高的精度.當L≤25時,RPCF精度最高,優于其他所有方法;當L>25時,RPCF略低于RJMSD和JMSD方法.如當L=30時,RPCF的精度值為0.043 64,JMSD和RJMSD的精度值分別為0.044 54和0.044 90,當N=5時RPCF的精度值為0.120 69,JMSD的精度值為0.06447,RJMSD的精度值為0.058 354.由于在測試數據集中可進行推薦的高質量項目數量有限,所以算法的推薦精度隨著推薦項目數的增加呈下降趨勢.如圖3所示,在推薦項目數小于10時RPCF精度顯著高于其他方法,這說明在MovieLens 1M數據集中RPCF方法能夠快速準確地對高質量項目進行推薦.但是隨著推薦項目數的進一步增加,RPCF的精度大幅下降,這是因為在數據集中可進行推薦的高質量項目數量大幅減少,使得RPCF算法對低質量項目進行推薦.當推薦項目數大于25時,RPCF算法的精度逐漸接近其他算法的精度.

因此,通過比較圖2和圖3的精度大小表明RPCF提供了顯著更好的性能,進一步驗證了本文算法的有效性和穩定性.

2.5 覆蓋率比較

在該節中衡量RPCF算法推薦結果的多樣性,將覆蓋率作為評價指標,更改推薦項目數,參數與2.4節設置一致,比較各方法在不同推薦數下的覆蓋率,結果如圖4所示.

圖4 不同推薦項目數的覆蓋率比較

由圖4可知:隨著推薦項目數的增加,覆蓋率也在不斷增加,其中覆蓋率較高的方法有RNN和MLCF.RPCF的覆蓋率在L=10時高于SOQN、RRS和MPIP的覆蓋率,隨著推薦數的增加覆蓋率逐漸超過JMSD、CLAG和NHSM的覆蓋率,除此外RPCF方法的覆蓋率低于其余方法的覆蓋率.該方法將鄰居數與預測值結合產生推薦列表,使得推薦結果趨于熱門項目,因此覆蓋率降低,推薦多樣性較差.

2.6 拓展性分析

為評估本文算法的拓展性,選取2.3節準確度最高的4種優化相似度方法,即MPIP、RJMSD、MLCF和RRS,將其與RPCF融合,優化推薦項目列表,融合后的方法記為MPIP_RP、RJMSD_RP、MLCF_RP和RRS_RP.設置鄰居用戶數從5增至50,步長為5,比較這4種方法運用可信度優化前后的MA值,結果如圖5所示.

圖5 不同方法融合RPCF的MA值比較

由圖5可知:融合后的MPIP_RP、RJMSD_RP、MLCF_RP和RRS_RP準確度都高于MPIP、RJMSD、MLCF和RRS的準確度,MA各自降低了0.278 3、0.163 0、0.181 2和0.307 0,這說明RPCF算法具有一定的可拓展性,可考慮與其他優化方法結合.

2.7 與其他方法比較

在該節中將鄰居選擇方法作為對比方法,包括EUCF[14]、FUNS[16]和TBCF[26],其中EUCF方法的背包容量設置為0.01,FUNS利用AC_PCC計算相似度,TBCF選擇余弦相似度,相似度閾值為0.34.將鄰居選擇方法與RPCF方法結合,記為EUCF_RP、FUNS_RP和TBCF_RP,比較不同方法的MA、精度和覆蓋率,結果如表1所示.

表1 不同方法的評價指標比較

由表1可以看出:本文提出的RPCF在預測準確度上優于3種鄰居選擇方法,但在覆蓋率上卻低于EUCF和TBCF方法.比較3種方法結合RPCF前后的評價指標,MA和精度都有大幅改善,FUNS_RP方法的覆蓋率增加,這進一步表明本文算法的可拓展性.

3 結束語

針對在協同過濾算法中推薦精度較低、預測質量較差的問題,本文在產生推薦過程中進行優化,將對推薦項目評級的鄰居數作為可信度,結合傳統預測值,提出了基于可信預測值的協同過濾算法.通過MovieLens數據集的幾組實驗比較表明:本文提出的算法能夠提高推薦系統的準確率和算法的魯棒性,相比較其他提高精度方法具有更好的性能.

此外,本文算法利用用戶鄰居數量評估可信度,使推薦列表更傾向于多個鄰居用戶評級的項目.這雖然可以降低鄰居選取不準確問題的影響,提高算法的魯棒性和精度,但同時也讓推薦結果趨于熱門項目,導致算法缺少多樣性和新穎性.可以考慮融入懲罰系數降低熱門項目的影響,或將可信預測值與填充方法相結合,填充鄰居用戶的評分集.在未來的工作中,將研究算法的拓展性,設計綜合本文方法與其他優化相似度方法,以進一步提高算法的精度,同時嘗試分析融合其他因素作為可信度,以達到在提高準確度的同時增強結果的多樣性.

猜你喜歡
項目數準確度預測值
加拿大農業部下調2021/22年度油菜籽和小麥產量預測值
±800kV直流輸電工程合成電場夏季實測值與預測值比對分析
AI講座:ML的分類方法
Phosphatidylinositol-3,4,5-trisphosphate dependent Rac exchange factor 1 is a diagnostic and prognostic biomarker for hepatocellular carcinoma
幕墻用掛件安裝準確度控制技術
“中國PPP大數據” 之全國PPP綜合信息平臺項目管理庫2017年報
“中國PPP大數據” 之全國PPP綜合信息平臺項目庫季報
動態汽車衡準確度等級的現實意義
高爐重量布料準確度的提高
京津滬渝穗主要經濟指標2008年1-12月
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合