張華偉
摘 要 用戶評分?jǐn)?shù)據(jù)極端稀疏的情況之下進(jìn)行了分析,根據(jù)現(xiàn)有的項(xiàng)目進(jìn)行評分預(yù)測的協(xié)同過濾推薦算法中,項(xiàng)目與項(xiàng)目之間的相似度量不夠準(zhǔn)確以及新的項(xiàng)目冷啟動問題,從而給出一種優(yōu)化的基于項(xiàng)目評分預(yù)測的協(xié)同過濾推薦算法,這種算法是在計(jì)算項(xiàng)目與項(xiàng)目之間的相似性的時候,不但考慮項(xiàng)目的評分相似度,還會考慮到項(xiàng)目的特性之間的相似性。通過實(shí)驗(yàn)表明,利用優(yōu)化后的算法會計(jì)算出項(xiàng)目與項(xiàng)目之間的相似度更加精準(zhǔn),并且有效地可以解決新項(xiàng)目的推薦問題,這樣讓數(shù)據(jù)稀疏性對推薦的結(jié)果產(chǎn)生的負(fù)面影響相對較小,還可以提高系統(tǒng)的推薦質(zhì)量問題。
關(guān)鍵詞 算法 推薦系統(tǒng) 協(xié)同過濾 評分相似性
1協(xié)同過濾推薦算法技術(shù)的闡述
目前最為成功的個性化推薦技術(shù)就是協(xié)同過濾推薦技術(shù),在協(xié)同過濾推薦技術(shù)當(dāng)中,用戶可以利用相互協(xié)作的作用來選擇有用的信息,就是可以根據(jù)其他用戶對信息作出評價來選擇想要的信息。協(xié)同過濾推薦技術(shù)方法會向用戶的行為進(jìn)行合理分析,但并不會關(guān)心信息的實(shí)際內(nèi)容,系統(tǒng)會自動的收集用戶對信息評價具有相同興趣愛好的用戶,然后把具有相同興趣愛好的用戶對于信息評價從而產(chǎn)生出推薦結(jié)果。
協(xié)同過濾推薦技術(shù)是有兩種方式的,一種是基于用戶的協(xié)同過濾推薦,另一種是基于項(xiàng)目的協(xié)同過濾推薦。前面一種是根據(jù)評分相似的具有相同興趣愛好的用戶的信息評分來對目標(biāo)用戶產(chǎn)生推薦結(jié)果。因?yàn)橄嗤d趣愛好的用戶對于項(xiàng)目的評分與目標(biāo)用戶是非常接近的,為此目標(biāo)用戶對于沒有評分項(xiàng)的評分可以通過相同興趣愛好的用戶對項(xiàng)的評分來進(jìn)行預(yù)判。
為了可以找到與目標(biāo)用戶相同興趣愛好的用戶從而必須推薦度量用戶之間的相似性,然后在通過選擇相似性最高的若干用戶作為目標(biāo)用的相同興趣愛好的用戶。計(jì)算用戶之間相似性的方法有好幾種其中以下兩種較為普遍:
(1)余弦相似性 (cosine)。 用戶評分則是看出n維項(xiàng)目空間上的向量, 若用戶沒有對項(xiàng)目進(jìn)行評分, 那么用戶對這個項(xiàng)目的評分是0, 用戶之間的相似性可以通過向量間的余弦夾角度量。設(shè)立用戶u和用戶v,在n維項(xiàng)目空間上的評分可以分別表示為:
向量u和v, 則用戶u和v之間的相似性sim(u, v)為 :
sim(u, v)=cos(u, v)=u· v/(‖ u‖ ?。縱‖ ) (1) 式中表示:分子是兩個用戶評分向量的內(nèi)積;而分母則是兩個向量模的乘積,當(dāng)夾角越小時,則相似度越高。
(2)關(guān)聯(lián)的相似性correlation)??梢栽O(shè)置用戶u與用戶v共同評分過的項(xiàng)目集合用Iuv表示, 則用戶u和用戶v之間的相似性 sim(u, v)經(jīng)過pearson有關(guān)聯(lián)的系數(shù)度量: sim(u, v)=[ ∑i∈ Iuv (Ru, i-Ru)(Rv, i-Rv)] / [ ∑i∈ Iuv (Ru, i-Ru)2 ∑i∈ Iuv (Rv, i-Rv)2 ] ,其中(2)式中:Ru,i表示用戶u對項(xiàng)目i的評分;Ru和Rv則分別表示為用戶u和用戶v對項(xiàng)目的平均評分。
2實(shí)驗(yàn)以及結(jié)果分析
2.1數(shù)據(jù)集
該實(shí)驗(yàn)的數(shù)據(jù)集是來自MovieLens站點(diǎn),這個站點(diǎn)是是一個Web的上研究型推薦系統(tǒng),使用該系統(tǒng)必須滿足一個條件,就是注冊用戶必須對他所擁有的電影中的15部進(jìn)行評價才能夠使用這個系統(tǒng),至少15部。對此,這個站點(diǎn)每一個注冊用戶都至少對15部電影評價過。當(dāng)前,這個站點(diǎn)的注冊用戶已經(jīng)超過了45000人,電影超過6600部被用戶評分過。實(shí)驗(yàn)數(shù)據(jù)集就從這個站點(diǎn)的數(shù)據(jù)集中隨機(jī)的抽取100000個評價數(shù)據(jù),當(dāng)中有943名用戶對1682部電影進(jìn)行評價,同時要求每個用戶都要至少對100部電影進(jìn)行評價;與此同時,還會對這1682部電影的20個特征屬性都給予一定的權(quán)值。把這個分為兩部分進(jìn)行實(shí)驗(yàn),分別是訓(xùn)練集和測試集,經(jīng)過實(shí)驗(yàn)表明訓(xùn)練集數(shù)據(jù)是占整個數(shù)據(jù)集的80%,而測試集是占整個數(shù)據(jù)集的20%。
2.2評價的標(biāo)準(zhǔn)
評價推薦系統(tǒng)推薦質(zhì)量的度量標(biāo)準(zhǔn),采取的是統(tǒng)計(jì)度量方法中的平均絕對偏差MAE進(jìn)行度量。MAE經(jīng)過計(jì)算預(yù)測用戶評分與實(shí)際用戶評分之間是有偏差的,利用偏差來度量預(yù)測的準(zhǔn)確性,若是MAE的值越小,那么推薦質(zhì)量就越高。根據(jù)評分?jǐn)?shù)據(jù)來預(yù)測的評分集合表示為{p1 , p2 , …,pN},而實(shí)際的評分集合則表示為成{q1 , q2 , …, qN}, 一般常用的的推薦質(zhì)量度量方法為MAE=∑ N i=1 piqi /N進(jìn)行度量。
2.3實(shí)驗(yàn)的結(jié)果以及分析
這個實(shí)驗(yàn)所提出的算法都是具有有效性的,采取的基于項(xiàng)目評分以及項(xiàng)目特質(zhì)屬性相互結(jié)合的方法來計(jì)算出項(xiàng)目之間的相似之處。在這個基礎(chǔ)之上可以應(yīng)用本文提出的優(yōu)化算法計(jì)算推薦集。同樣可以把本文的算法與原始的基于項(xiàng)目評分預(yù)測的協(xié)同過濾算法以及可以提出一種改進(jìn)的算法,就是基于修正條件概率下的推薦算法進(jìn)行比較,從而計(jì)算出各種的推薦算法的MAE。通過分析計(jì)算其實(shí)可以知道在鄰居個數(shù)不相同的時候,本文提出的優(yōu)化基于項(xiàng)目評分預(yù)測的協(xié)同過濾推薦算法有著最小的MAE。對此,用戶可以在評分?jǐn)?shù)據(jù)極端稀疏的情況之下進(jìn)行。
3結(jié)語
綜上所述,提出一種優(yōu)化的基于項(xiàng)目評分預(yù)測的協(xié)同過濾推薦算法,在此算法之上有充分考慮到計(jì)算項(xiàng)目相似性的項(xiàng)目之間的評分相似性和屬性相似性,這樣可以讓數(shù)據(jù)稀疏性對計(jì)算結(jié)果的負(fù)面影響變小。本文通過優(yōu)化算法可以在一定程度上提升系統(tǒng)的推薦質(zhì)量。
參考文獻(xiàn)
[1] 鄧愛林,朱揚(yáng)勇,施伯樂.基于項(xiàng)目評分預(yù)測的協(xié)同過濾推薦算法[J].軟件學(xué)報,2013(09):1621-1628.
[2] 姚忠,魏佳,吳躍.基于高維稀疏數(shù)據(jù)聚類的協(xié)同過濾推薦算法[J].信息系統(tǒng)學(xué)報,2015,2(02):78-96.
[3] 黃創(chuàng)光,印鑒,汪靜,劉玉葆,王甲海.不確定近鄰的協(xié)同過濾推薦算法[J]. 計(jì)算機(jī)學(xué)報,2010,33(08):1369-1377.
[4] 賈冬艷,張付志.基于雙重鄰居選取策略的協(xié)同過濾推薦算法[J].計(jì)算機(jī)研究與發(fā)展,2013,50(05):1076-1084.
[5] 于金明,孟軍,吳秋峰.基于改進(jìn)相似性度量的項(xiàng)目協(xié)同過濾推薦算法[J]. 計(jì)算機(jī)應(yīng)用,2017,37(05):1387-1391+1406.