武 森,董雅賢,魏桂英,高曉楠
北京科技大學(xué) 經(jīng)濟(jì)管理學(xué)院,北京100083
互聯(lián)網(wǎng)和信息技術(shù)的普及與應(yīng)用,使得海量信息不斷產(chǎn)生與傳播,信息過載成為普遍關(guān)心的問題。推薦系統(tǒng)因其能有效過濾信息,滿足用戶個(gè)性化服務(wù)的需求,在視頻、音樂、電子商務(wù)等領(lǐng)域起到關(guān)鍵作用。協(xié)同過濾是一種重要和應(yīng)用廣泛的推薦算法,其基本假設(shè)是用戶興趣具有延續(xù)性,即若過去兩用戶的偏好相似,則未來其偏好也具有相似性。協(xié)同過濾首先計(jì)算用戶或項(xiàng)目間相似度,在此基礎(chǔ)上,預(yù)測目標(biāo)用戶對目標(biāo)項(xiàng)目的評分并進(jìn)行有效推薦,因此合理的相似度計(jì)算成為實(shí)現(xiàn)精準(zhǔn)推薦的關(guān)鍵。
隨著用戶數(shù)目與項(xiàng)目數(shù)量的增加,用戶-項(xiàng)目評分矩陣稀疏程度加劇,例如,公開數(shù)據(jù)集MovieLenslatest-small 僅具有一個(gè)或兩個(gè)共同評分項(xiàng)的用戶對數(shù)目達(dá)到19%。傳統(tǒng)數(shù)值相似度計(jì)算方法如皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient,PCC)、余弦相似度(cosine similarity,COS)、修正余弦相似度(adjusted cosine similarity,ACOS)等首先查找共同評分項(xiàng),進(jìn)而由共同評分項(xiàng)評分?jǐn)?shù)值計(jì)算相似度。稀疏數(shù)據(jù)中共同評分項(xiàng)的減少將導(dǎo)致傳統(tǒng)數(shù)值相似度度量方法難以準(zhǔn)確計(jì)算用戶或項(xiàng)目間的相似度,因此推薦效果隨之降低。與數(shù)值相似度不同,結(jié)構(gòu)相似度依據(jù)用戶是否曾對項(xiàng)目進(jìn)行評分這一行為計(jì)算相似度,主要度量兩用戶評分項(xiàng)是否相關(guān)。杰卡德相似度(Jaccard)為常用的結(jié)構(gòu)相似度計(jì)算方法,衡量用戶共同評分項(xiàng)占比,計(jì)算簡單,但由于其完全忽視評分?jǐn)?shù)值,獲得的結(jié)構(gòu)相似度區(qū)分度低,難以辨別不同用戶之間相似性的差異。綜合相似度[通過融合結(jié)構(gòu)相似度與數(shù)值相似度綜合用戶評分的結(jié)構(gòu)信息與數(shù)值信息,可同時(shí)衡量用戶評分相關(guān)性與偏好一致性,改善數(shù)值相似度在稀疏數(shù)據(jù)中受共同評分項(xiàng)稀少影響難以準(zhǔn)確計(jì)算相似度的問題。然而現(xiàn)有綜合相似度大多依托于Jaccard,因此未能徹底解決區(qū)分度較弱的不足,且未能有效避免稀疏數(shù)據(jù)中數(shù)值相似度影響綜合相似度準(zhǔn)確性,相似度計(jì)算可靠性有待提升。
針對稀疏數(shù)據(jù)難以準(zhǔn)確計(jì)算相似度的問題,本文提出稀疏余弦相似度(sparse cosine similarity,SCS)提高稀疏數(shù)據(jù)中用戶相似度計(jì)算準(zhǔn)確性。稀疏余弦相似度首先定義稀疏集合相似度(sparse set similarity,SSS)以度量稀疏數(shù)據(jù)中的用戶結(jié)構(gòu)相似度。稀疏集合相似度通過結(jié)合數(shù)值度量,增強(qiáng)區(qū)分度以優(yōu)化結(jié)構(gòu)相似度計(jì)算。進(jìn)一步,設(shè)置稀疏集合相似度閾值,針對稀疏集合相似度大于閾值的高相關(guān)用戶與不滿足閾值要求的低相關(guān)用戶,分別定義數(shù)值相似度計(jì)算方法,降低數(shù)值相似度對評分稀疏用戶綜合相似度的影響,以規(guī)避數(shù)據(jù)稀疏時(shí)對數(shù)值相似度的誤導(dǎo)。最終,稀疏余弦相似度利用稀疏集合相似度閾值與調(diào)整系數(shù)平衡結(jié)構(gòu)相似度與數(shù)值相似度貢獻(xiàn),克服傳統(tǒng)數(shù)值相似度計(jì)算方法由于依賴共同評分項(xiàng),在稀疏數(shù)據(jù)中計(jì)算準(zhǔn)確性受到較大影響的問題,且改善原有結(jié)構(gòu)相似度區(qū)分度弱的問題。
協(xié)同過濾因其不用考慮推薦項(xiàng)目的內(nèi)容、技術(shù)易于實(shí)現(xiàn)等優(yōu)點(diǎn)被廣泛使用。隨著用戶、項(xiàng)目數(shù)量的劇增,用戶-項(xiàng)目評分矩陣的稀疏性導(dǎo)致協(xié)同過濾推薦的準(zhǔn)確性降低。針對這種情況,學(xué)者提出多種解決方法,其中包括數(shù)據(jù)填充、降維以及新相似度計(jì)算方法。
數(shù)據(jù)填充即針對缺失評分進(jìn)行填補(bǔ),利用平均數(shù)、中位數(shù)等可實(shí)現(xiàn)填補(bǔ),但這種方法將所有缺失的評分填補(bǔ)為相同的值,與實(shí)際情況不符。還有學(xué)者將聚類等方法應(yīng)用于數(shù)據(jù)填充,如對用戶進(jìn)行聚類,將簇內(nèi)用戶評分均值用于數(shù)據(jù)填充,然而數(shù)據(jù)稀疏將影響聚類效果,進(jìn)而影響用戶評分填充效果。
矩陣分解是經(jīng)典的降維方法,可分為奇異值分解(singular value decomposition,SVD)、概率矩陣分解(probabilistic matrix factorization,PMF)、非負(fù)矩陣分解(nonnegative matrix factorization,NMF)等。針對用戶-項(xiàng)目評分矩陣的分解,NMF 的純加性具有更好的解釋性,因此成為推薦領(lǐng)域最受歡迎的降維工具之一。矩陣分解將用戶-項(xiàng)目評分矩陣分解為低維矩陣,降低計(jì)算數(shù)據(jù)的維度,但可能導(dǎo)致信息丟失。
相似度計(jì)算方法將直接影響協(xié)同過濾推薦效果,作為實(shí)現(xiàn)有效推薦的關(guān)鍵步驟,受到學(xué)者廣泛研究。為解決數(shù)據(jù)稀疏問題,新相似度計(jì)算方法層出不窮。其中,一部分學(xué)者在相似度計(jì)算過程中融入更多信息,通過豐富信息量來增強(qiáng)稀疏數(shù)據(jù)中相似度的可靠度。如提取用戶隱含評分、上下文信息、用戶年齡、教育水平、用戶興趣主題等用于用戶相似度計(jì)算。然而這些信息的可獲取性將影響這類相似度計(jì)算方法的適用性。另有許多學(xué)者則針對稀疏的評分?jǐn)?shù)據(jù)設(shè)計(jì)新相似度計(jì)算方法以提高用戶相似度計(jì)算準(zhǔn)確度,可分為數(shù)值相似度、結(jié)構(gòu)相似度、綜合相似度。
COS將用戶評分視為向量,將兩個(gè)評分向量之間的角度的余弦值用作相似度值,如式(2)所示。
但是,COS 未考慮不同用戶的評級偏好,ACOS則針對這一問題進(jìn)行了改進(jìn),如式(3)所示。
PCC、COS、ACOS 都屬于對稱相似度,即、之間的相互影響力相同。有學(xué)者認(rèn)為用戶間相互影響力存在差異,并提出不對稱余弦相似度。
上述傳統(tǒng)的數(shù)值相似度計(jì)算依賴用戶對共同評分項(xiàng)的評分?jǐn)?shù)值,具有以下缺點(diǎn):首先,僅使用共同評分項(xiàng)評分?jǐn)?shù)值,未使用非共同評分項(xiàng)評分?jǐn)?shù)值,信息利用不充分;其次,共同評分項(xiàng)稀少時(shí)無法準(zhǔn)確計(jì)算相似度。然而在實(shí)際推薦場景中,用戶項(xiàng)目評分矩陣稀疏,用戶間共同評分項(xiàng)稀少影響相似度計(jì)算準(zhǔn)確性進(jìn)而影響推薦效果。以算例分析稀疏數(shù)據(jù)對用戶相似度計(jì)算的影響。
假設(shè)用戶集合{,,,,}對各項(xiàng)目的評分如表1 所示。
表1 用戶-項(xiàng)目評分矩陣算例Table 1 Example of user-item rating matrix
針對表1 中部分用戶的評分進(jìn)行詳細(xì)分析,結(jié)果如表2 所示。以(,)表示用戶、間的相似度。{,}共同評分項(xiàng)數(shù)、共同評分項(xiàng)所占比例均大于{,},且{,}共同評分項(xiàng)評分差距較小,因此(,)應(yīng)大于(,)。同理,(,)應(yīng)大于(,)。針對表1計(jì)算用戶相似度,部分結(jié)果如表3所示。
表2 部分用戶評分分析Table 2 Analysis of partial user ratings
表3 部分用戶相似度計(jì)算結(jié)果Table 3 Similarity measure of partial users
表3 中,PCC(,)小于PCC(,),COS(,)小于COS(,),COS(,)小于COS(,),ACOS(,)小于ACOS(,)。對比表2 分析結(jié)果與表3計(jì)算結(jié)果,數(shù)據(jù)稀疏時(shí)受共同評分項(xiàng)數(shù)稀少影響,數(shù)值相似度計(jì)算結(jié)果不合理。
結(jié)構(gòu)相似度根據(jù)用戶是否曾對項(xiàng)目進(jìn)行評分計(jì)算相似度,其受數(shù)據(jù)稀疏影響較小,但不考慮具體評分?jǐn)?shù)值,易損失信息。Jaccard 是經(jīng)典的結(jié)構(gòu)相似度,可以找到傾向于共同評價(jià)的高度相關(guān)的用戶,但未考慮評分?jǐn)?shù)值,無法判斷用戶偏好的一致性且區(qū)分度較弱。如,表1 中{,}與{,}共同評分項(xiàng)評分差距不同,因此(,)應(yīng)不同于(,),然而Jaccard(,)=Jaccard(,)=0.4。
綜合相似度結(jié)合數(shù)值相似度與結(jié)構(gòu)相似度,往往可彌補(bǔ)這兩類相似度的缺點(diǎn),提高稀疏數(shù)據(jù)用戶相似度計(jì)算準(zhǔn)確性。Bobadilla 等提出了一種綜合相似度度量方法,該方法結(jié)合Jaccard 和數(shù)值相似度MSD(mean squared differences),稱為JMSD(Jaccard mean squared differences)。Liu 等提出數(shù)值相似度PSS(proximity significance singularity),并結(jié)合改進(jìn)的Jaccard 形成綜合相似度NHSM(new heuristic similarity model)以提高稀疏數(shù)據(jù)中用戶相似度計(jì)算準(zhǔn)確性。Wang 等利用KL 散度(Kullback Leibler divergence)改進(jìn)PSS,以共同評分項(xiàng)占比計(jì)算結(jié)構(gòu)相似度,最終形成的綜合相似度適用于稀疏數(shù)據(jù)用戶相似度計(jì)算。Patra 等提出一種結(jié)合Jaccard 和巴氏系數(shù)的綜合相似度計(jì)算方法,稱為BCF(Bhattacharyya coefficient in collaborative filtering)。巴氏系數(shù)利用用戶所有評分信息克服共同評分的限制,有助于計(jì)算稀疏數(shù)據(jù)中用戶數(shù)值相似度。Bag 等提出噪聲識(shí)別與較正的方法,與巴氏系數(shù)集成,針對無噪聲稀疏數(shù)據(jù)展開推薦。Mu 等為了緩解稀疏問題引入海林格距離和Jaccard,以降低共同評分項(xiàng)稀少給相似度計(jì)算帶來的影響。Bag 等認(rèn)為目標(biāo)用戶單獨(dú)評分項(xiàng)數(shù)與其他用戶單獨(dú)評分項(xiàng)數(shù)對用戶相似度計(jì)算的作用不同并提出一種不對稱的JMSD 稱為RJMSD(relevant Jaccard mean square distance)。
綜合相似度同時(shí)考慮用戶評分結(jié)構(gòu)與評分?jǐn)?shù)值,受數(shù)據(jù)稀疏影響較小,然而未能有效避免共同評分項(xiàng)稀少時(shí)數(shù)值相似度誤導(dǎo)。已有綜合相似度研究通常利用調(diào)整系數(shù)調(diào)節(jié)結(jié)構(gòu)相似度與數(shù)值相似度的權(quán)重來結(jié)合兩種相似度計(jì)算結(jié)果。假設(shè)(,)與(,)分別表示用戶、的結(jié)構(gòu)相似度與數(shù)值相似度,則用戶、的綜合相似度(,)大多如式(4)所示。
若以融合Jaccard 與ACOS 構(gòu)成綜合相似度。以表1 數(shù)據(jù)為例,經(jīng)計(jì)算小于0.88 時(shí),(,)大于(,),顯然不合理。而取值越大代表綜合相似度涵蓋的數(shù)值信息越少,即對用戶偏好一致性的判斷越弱。若為緩解共同評分項(xiàng)稀少時(shí)數(shù)值相似度的誤導(dǎo),將調(diào)整得過大,則會(huì)弱化共同評分項(xiàng)繁多時(shí)綜合相似度判斷偏好一致性的作用。因此,這類綜合相似度難以有效避免數(shù)據(jù)稀疏時(shí)數(shù)值相似度的誤導(dǎo)。
現(xiàn)有綜合相似度主要借助用戶共同評分項(xiàng)占比計(jì)算結(jié)構(gòu)相似度,再進(jìn)一步與數(shù)值相似度結(jié)合,未能有效提升結(jié)構(gòu)相似度區(qū)分度,且受數(shù)據(jù)稀疏影響嚴(yán)重的數(shù)值相似度會(huì)影響綜合相似度的計(jì)算結(jié)果。因此,提出一種新的綜合相似度計(jì)算方法——SCS。SCS 首先定義融入數(shù)值信息的結(jié)構(gòu)相似度計(jì)算方法SSS,增強(qiáng)結(jié)構(gòu)相似度的區(qū)分度。相較于原有綜合相似度僅依靠調(diào)整系數(shù)調(diào)節(jié)結(jié)構(gòu)相似度與數(shù)值相似度權(quán)重,難以規(guī)避稀疏數(shù)據(jù)數(shù)值相似度極端值影響,SCS 利用閾值與調(diào)整系數(shù)實(shí)現(xiàn)綜合相似度中結(jié)構(gòu)相似度與數(shù)值相似度權(quán)重的雙重調(diào)節(jié),規(guī)避共同評分項(xiàng)稀少時(shí)數(shù)值相似度對綜合相似度的誤導(dǎo),提高稀疏數(shù)據(jù)中用戶相似度的準(zhǔn)確性,提升推薦效果。
為改進(jìn)結(jié)構(gòu)相似度區(qū)分度低的問題,首先新定義了集合聚合度和集合離差度,進(jìn)而提出通過集合聚合度與集合離差度融合數(shù)值信息的結(jié)構(gòu)相似度SSS,作為提出面向稀疏數(shù)據(jù)的協(xié)同過濾用戶相似度SCS 的基礎(chǔ)。
(集合聚合度(set aggregation,SA))假設(shè)用戶集合包含||個(gè)對象,的集合聚合度()如式(5)所示。
其中,表示中所有用戶評分項(xiàng)集合的交集的對象個(gè)數(shù),即中用戶共同評分項(xiàng)的個(gè)數(shù),表示中所有用戶評分相等的項(xiàng)目個(gè)數(shù)。以表1 為例,令={,},則()=2×2+2×0=4。
集合聚合度從集合結(jié)構(gòu)和數(shù)值兩方面提煉集合內(nèi)信息,統(tǒng)計(jì)集合結(jié)構(gòu)的相似信息,統(tǒng)計(jì)集合內(nèi)數(shù)值相等信息,且由于只針對共同評分項(xiàng)判斷評分是否相等,因此,必小于等于。集合聚合度綜合集合結(jié)構(gòu)與數(shù)值信息,且結(jié)構(gòu)信息對集合聚合度影響更大。
(集合離差度(set deviation,SD))假設(shè)表示由各項(xiàng)目評分的最大值組成的最大值向量,表示由各項(xiàng)目評分的最小值組成的最小值向量,的集合離差度()如式(6)所示。
其中,表示中僅有部分用戶進(jìn)行評分的項(xiàng)目個(gè)數(shù),如式(7)所示。
其中,各用戶可對個(gè)項(xiàng)目進(jìn)行評分,|X|表示中對項(xiàng)目進(jìn)行評分的用戶個(gè)數(shù)。
式(6)中,(,) 表示的最大值向量與最小值向量間的余弦距離,如式(9)所示。
式(6)中,()表示的平均絕對離差,如式(10)所示。
集合離差度從集合結(jié)構(gòu)與數(shù)值兩方面提煉集合內(nèi)信息,描述集合結(jié)構(gòu)的差異信息,()描述集合內(nèi)數(shù)值差異,且由于數(shù)據(jù)稀疏,將縮小數(shù)值差異在集合離差度中的比重,使集合離差度將以結(jié)構(gòu)差異信息主導(dǎo)。以表1 為例,令={,},則()=3+0.030 5×2=3.061。
(稀疏集合相似度(SSS))假設(shè)()表示的集合聚合度,提煉集合結(jié)構(gòu)相似與數(shù)值相等的信息。()表示的集合離差度,提煉集合結(jié)構(gòu)差異與數(shù)值離散的信息。將()與()結(jié)合,的稀疏集合相似度()如式(11)所示。
以表1為例,令={,},則()=1.307,={,},則()=1.32。相比于Jaccard,稀疏集合相似度利用集合聚合度、集合離差度在考量評分結(jié)構(gòu)的同時(shí)增加了數(shù)值度量,有效提升區(qū)分度。集合聚合度只針對共同評分項(xiàng)判斷評分是否相等,結(jié)構(gòu)信息對集合聚合度影響更大;集合離差度利用集合最大值與最小值的余弦距離縮小評分?jǐn)?shù)值信息在其計(jì)算中的比重。因此綜合集合聚合度與集合離差度的稀疏集合相似度仍以度量評分結(jié)構(gòu)為主的同時(shí),又因增加了數(shù)值度量而較Jaccard 更具有區(qū)分度。
當(dāng)={,}時(shí),()表示用戶、的稀疏集合相似度,此時(shí)稀疏集合相似度側(cè)重于計(jì)算兩用戶的結(jié)構(gòu)相似度。結(jié)構(gòu)相似度主要度量兩用戶評分項(xiàng)是否相關(guān),難以判斷兩用戶偏好是否一致。將稀疏集合相似度與數(shù)值相似度進(jìn)一步結(jié)合則可同時(shí)實(shí)現(xiàn)對相關(guān)性與偏好一致性的衡量。然而針對稀疏數(shù)據(jù),數(shù)值相似度計(jì)算不靈敏,其相似度計(jì)算結(jié)果常產(chǎn)生誤導(dǎo)。例如,假設(shè)用戶、用戶、用戶的評分向量分別是(5,—,—,1,—)、(3,1,—,—,—)與(5,—,2,—,4)(“—”表示未進(jìn)行評分),此時(shí)(,)=(,)=(,)=1,(,)=(,)=(,)=1,然而用戶、對第一項(xiàng)的偏好存在較大差異,而用戶、對第一項(xiàng)的偏好是相似的,顯然在稀疏數(shù)據(jù)中傳統(tǒng)數(shù)值相似度COS 與ACOS 計(jì)算結(jié)果與實(shí)際情況不相符。特別地,若目標(biāo)用戶與其他用戶皆僅存在一個(gè)共同評分項(xiàng),依據(jù)COS 則目標(biāo)用戶與其他用戶相似度皆為1,表現(xiàn)為高度相似,此時(shí)數(shù)值相似度產(chǎn)生誤導(dǎo)?,F(xiàn)有綜合相似度大多如式(4)所示,利用調(diào)整系數(shù)融合結(jié)構(gòu)相似度與數(shù)值相似度,其準(zhǔn)確性受數(shù)值相似度準(zhǔn)確性與結(jié)構(gòu)相似度準(zhǔn)確性共同影響,未能有效避免共同評分項(xiàng)稀少時(shí)數(shù)值相似度誤導(dǎo)。
稀疏集合相似度取值受共同評分項(xiàng)占比影響,因此進(jìn)一步設(shè)置稀疏集合相似度閾值,借助衡量用戶相關(guān)性的稀疏集合相似度將用戶區(qū)分為高相關(guān)用戶與低相關(guān)用戶。若稀疏集合相似度高于閾值,即用戶評分結(jié)構(gòu)存在較大相關(guān)性,稱為高相關(guān)用戶,此時(shí)用戶間共同評分項(xiàng)所占比例較大,數(shù)值相似度可有效衡量偏好一致性;若稀疏集合相似度低于閾值,即用戶評分結(jié)構(gòu)相關(guān)性較低,稱為低相關(guān)用戶,此時(shí)用戶間共同評分項(xiàng)所占比例較小,共同評分項(xiàng)相對較少,數(shù)值相似度計(jì)算結(jié)果更易產(chǎn)生誤導(dǎo),因此針對不同用戶的數(shù)值相似度采用差異化處理,更有助于綜合衡量用戶相似度?;谏鲜鏊枷胩岢鱿∈栌嘞蚁嗨贫萐CS。
(稀疏余弦相似度(SCS))假設(shè)(,)表示用戶、的稀疏集合相似度,用戶、的稀疏余弦相似度(,)如式(12)所示。
其中,(,)表示用戶、的數(shù)值相似度,如式(13)所示。
以表1 為例,若令SCS 閾值為0.5,則用戶為用戶的低相關(guān)用戶,用戶為用戶的高相關(guān)用戶,此時(shí)若令調(diào)整系數(shù)為0.5,則(,)為0.124,(,)為0.377,即用戶與用戶更為相似,與表1 中用戶數(shù)據(jù)特征一致。
SSS 可衡量用戶評分的結(jié)構(gòu)相似度,ACOS 則常用于計(jì)算兩用戶評分的數(shù)值相似度。由于ACOS 受數(shù)據(jù)稀疏影響較大,共同評分項(xiàng)較多、占比較高時(shí),ACOS 計(jì)算結(jié)果較為準(zhǔn)確,而共同評分項(xiàng)較少、占比較低時(shí)計(jì)算結(jié)果更易產(chǎn)生誤導(dǎo)。因此,針對共同評分項(xiàng)繁密的高相關(guān)用戶,引入調(diào)整系數(shù)平衡結(jié)構(gòu)相似度與數(shù)值相似度比重,同時(shí)衡量評分相關(guān)性與偏好一致性;由于共同評分項(xiàng)稀疏的低相關(guān)用戶的數(shù)值相似度更易產(chǎn)生誤導(dǎo),故而僅以結(jié)構(gòu)相似度計(jì)算綜合相似度,避免數(shù)值相似度對用戶相似度產(chǎn)生誤導(dǎo)。
簡言之,稀疏余弦相似度首先提出綜合考慮數(shù)值信息與結(jié)構(gòu)信息的稀疏集合相似度,增強(qiáng)了結(jié)構(gòu)相似度區(qū)分度;進(jìn)而,設(shè)置稀疏集合相似度閾值區(qū)分高相關(guān)用戶與低相關(guān)用戶,針對不同用戶定義差異化的數(shù)值相似度計(jì)算方法;最終,稀疏余弦相似度利用閾值與調(diào)整系數(shù)雙層調(diào)節(jié)稀疏集合相似度與數(shù)值相似度,可有效度量稀疏數(shù)據(jù)中用戶相似度。
假設(shè)推薦系統(tǒng)中含有個(gè)用戶、個(gè)商品,在構(gòu)建用戶相似度矩陣時(shí)需分別計(jì)算用戶兩兩間相似度,因此基礎(chǔ)的時(shí)間復(fù)雜度為(),利用稀疏余弦相似度構(gòu)建用戶相似度矩陣的時(shí)間復(fù)雜度同樣為(),與COS、Jaccard、ACOS 一致,未增加時(shí)間復(fù)雜度。而空間復(fù)雜度主要來源于存儲(chǔ)用戶相似度矩陣,利用稀疏余弦相似度構(gòu)建的用戶相似度矩陣的空間復(fù)雜度為(),與COS、Jaccard、ACOS一致,未增加空間復(fù)雜度。
表4 數(shù)據(jù)集描述Table 4 Description of datasets
實(shí)驗(yàn)采用隨機(jī)劃分的方式將80%的數(shù)據(jù)作為訓(xùn)練集,20%的數(shù)據(jù)作為測試集。實(shí)驗(yàn)中取5 次實(shí)驗(yàn)的算術(shù)平均值作為最終結(jié)果。
采用平均絕對誤差(mean absolute error,MAE)與均方根誤差(root mean squared error,RMSE)作為衡量評分預(yù)測準(zhǔn)確性的標(biāo)準(zhǔn),二者反映協(xié)同過濾利用最近鄰計(jì)算的預(yù)測評分與用戶實(shí)際評分的貼近程度,值越小,表示基于所使用的相似度計(jì)算方法的協(xié)同過濾推薦性能越好。MAE 如式(14)所示,RMSE如式(15)所示。
其中,r表示用戶U對項(xiàng)目I的實(shí)際評分;R表示相應(yīng)的預(yù)測評分;表示測試集的樣本數(shù)量。
為驗(yàn)證SCS 有效性,采用6 種廣泛應(yīng)用的經(jīng)典相似度計(jì)算方法以及1 種新穎不對稱相似度RJMSD 與SCS 在不同數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)對比,選取當(dāng)前目標(biāo)用戶不同最近鄰數(shù),進(jìn)行多次實(shí)驗(yàn),以排除偶然因素。實(shí)驗(yàn)中SCS 需要預(yù)先設(shè)置閾值,給定取值范圍={0,0.1,0.2,…,1.0},分別計(jì)算SCS 對應(yīng)的預(yù)測精度,將MAE、RMSE 最小時(shí)閾值的值視為最優(yōu)取值。實(shí)驗(yàn)結(jié)果如圖1、圖2 所示。對比實(shí)驗(yàn)用到的相似度計(jì)算方法見表5。
表5 對比方法描述Table 5 Description of comparison methods
圖1 不同相似度MAE 對比Fig.1 Comparison of MAE with different similarities
圖2 不同相似度RMSE 對比Fig.2 Comparison of RMSE with different similarities
在MovieLens-100K、MovieLens-latest-small 中,SCS 在MAE 與RMSE 兩個(gè)指標(biāo)均取得最優(yōu)效果。在FilmTrust中,SCS 在MAE 指標(biāo)取得最優(yōu)結(jié)果,而針對RMSE 指標(biāo)在=80、100 時(shí),其表現(xiàn)不如COS,其余最近鄰數(shù)下均取得最優(yōu)效果,且針對RMSE 指標(biāo),COS、PCC、SCS、Jaccard 效果皆較為接近。綜合三個(gè)數(shù)據(jù)集實(shí)驗(yàn)結(jié)果,原有相似度計(jì)算方法受數(shù)據(jù)稀疏影響較大,由稀疏數(shù)據(jù)計(jì)算相似度時(shí)計(jì)算結(jié)果易產(chǎn)生誤導(dǎo),而數(shù)據(jù)稀疏對SCS 計(jì)算效果影響較小,針對稀疏數(shù)據(jù)SCS 可以更準(zhǔn)確地計(jì)算用戶相似度,優(yōu)于原有相似度計(jì)算方法。
此外,對比SCS 與利用降維解決稀疏問題常用的基于NMF 的推薦方法,由于NMF 不涉及最近鄰數(shù),對比兩種方法在MAE 與RMSE 下的最優(yōu)值與均值,如表6 所示。
表6 SCS 與NMF 推薦效果對比Table 6 Recommended performance comparison of SCS and NMF
針對MAE 指標(biāo),SCS 在三個(gè)數(shù)據(jù)集中均明顯優(yōu)于NMF,MAE 平均降低0.05。針對RMSE 指標(biāo),在MovieLens-latest-small數(shù)據(jù)集中,SCS效果優(yōu)于NMF,RMSE 平均降低0.02;在MovieLens-100K 數(shù)據(jù)集中,SCS 效果不及NMF,RMSE 平均提升0.02;在FilmTrust數(shù)據(jù)集中,SCS 與NMF 效果分別在最優(yōu)值與均值取得最佳結(jié)果且差異較小。整體來看,SCS 優(yōu)于NMF,可針對稀疏數(shù)據(jù)準(zhǔn)確地進(jìn)行推薦。
為了進(jìn)一步說明SCS 推薦效果隨參數(shù)的變化趨勢,令閾值為0,選取當(dāng)前目標(biāo)用戶不同最近鄰數(shù),比較不同數(shù)據(jù)集中取值變化對推薦效果的影響,實(shí)驗(yàn)結(jié)果如圖3、圖4 所示。
圖3 β 的變化對稀疏余弦相似度MAE 的影響Fig.3 Influence of β on sparse cosine similarity MAE
圖4 β 的變化對稀疏余弦相似度RMSE 的影響Fig.4 Influence of β on sparse cosine similarity RMSE
在MovieLens-100K 中,取值范圍在[0.6,0.8]時(shí),易取得最優(yōu)效果;在MovieLens-latest-small 中,取值范圍在[0.7,0.8]時(shí),易取得最優(yōu)效果;在Film-Trust 中,取值范圍為0.9 時(shí),易取得最優(yōu)效果。且隨著變化,MAE 與RMSE 變化不明顯,即較為穩(wěn)健。在三個(gè)數(shù)據(jù)集中,隨著稀疏程度提升,取得最優(yōu)推薦效果的值也隨之提升,且推薦效果隨提升而提升的趨勢越明顯,即隨數(shù)據(jù)稀疏程度提升,數(shù)值相似度產(chǎn)生較大誤導(dǎo),提高綜合相似度中結(jié)構(gòu)相似度占比并降低數(shù)值相似度影響有助于提升推薦效果。
為了進(jìn)一步說明SCS 推薦效果隨參數(shù)的變化趨勢,令取各數(shù)據(jù)集最優(yōu)效果時(shí)取值,選取當(dāng)前目標(biāo)用戶不同最近鄰數(shù),比較不同數(shù)據(jù)集中稀疏集合相似度閾值取值變化對推薦效果的影響,實(shí)驗(yàn)結(jié)果如圖5、圖6 所示。
圖5 b 的變化對稀疏余弦相似度MAE 的影響Fig.5 Influence of b on sparse cosine similarity MAE
圖6 b 的變化對稀疏余弦相似度RMSE 的影響Fig.6 Influence of b on sparse cosine similarity RMSE
在MovieLens-100K 中,取值范圍在[0.2,0.3]時(shí),易取得最優(yōu)效果;在MovieLens-latest-small 中,取值為0.1 時(shí),取得最優(yōu)效果;在FilmTrust 中,取值為0.7 時(shí)取得最優(yōu)效果。且隨著變化,MAE 與RMSE 變化不明顯,即取值對SCS 效果影響較小。由于SSS 取值必大于0,若令=0,即將全部用戶視為高相關(guān)用戶,與現(xiàn)有綜合相似度計(jì)算方法相同;當(dāng)>0 時(shí),閾值可將用戶劃分為高相關(guān)用戶與低相關(guān)用戶。在三個(gè)數(shù)據(jù)集中,通過增加稀疏集合相似度閾值,區(qū)分高相關(guān)用戶與低相關(guān)用戶相似度計(jì)算方法后,SCS 推薦效果均有所提升,且隨著稀疏程度提升,增添稀疏集合相似度閾值對SCS 提升效果越強(qiáng)。
本文針對稀疏數(shù)據(jù)難以準(zhǔn)確計(jì)算用戶相似度,進(jìn)而影響協(xié)同過濾推薦效果的問題,構(gòu)造了稀疏余弦相似度。該方法首先通過融合用戶評分結(jié)構(gòu)信息與數(shù)值信息構(gòu)造稀疏集合相似度,提高結(jié)構(gòu)相似度區(qū)分度;接著,針對稀疏集合相似度設(shè)置閾值區(qū)分目標(biāo)用戶的高相關(guān)用戶與低相關(guān)用戶;然后,針對不同用戶采用差異化的數(shù)值相似度計(jì)算方式;最后,綜合結(jié)構(gòu)和數(shù)值相似度形成稀疏余弦相似度,通過閾值與調(diào)整系數(shù)實(shí)現(xiàn)稀疏數(shù)據(jù)中相似度計(jì)算的雙層調(diào)節(jié),可有效度量評分稀疏時(shí)的用戶相似度,提升推薦效果。本文采用MAE 與RMSE 指標(biāo)來評價(jià)不同相似度計(jì)算方法的表現(xiàn),在公開數(shù)據(jù)集MovieLens-100K、MovieLens-latest-small、FilmTrust 上的實(shí)驗(yàn)表明,相比已有相似度計(jì)算方法,稀疏余弦相似度受數(shù)據(jù)稀疏影響較小,可以更準(zhǔn)確地計(jì)算稀疏數(shù)據(jù)中的用戶相似度,提升推薦結(jié)果的準(zhǔn)確率。