亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Slope One推薦算法改進

        2018-01-18 06:51:08黃義純
        現(xiàn)代計算機 2017年35期
        關(guān)鍵詞:皮爾遜余弦權(quán)值

        黃義純

        (四川大學計算機學院,成都 610065)

        0 引言

        隨著信息技術(shù)和互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,人們逐步從信息匱乏的年代邁入了信息過載的時代。為了解決人們信息過載的問題,推薦系統(tǒng)受到了廣泛的使用。近年來,推薦算法的研究主要分為以下三個方向:協(xié)同過濾、項目內(nèi)容和用戶知識[1]。Slope one是一種協(xié)同過濾的推薦算法,首先由Lemire等人提出。它是基于物品之間的平均評分偏差來預測評分,只依照項目評分計算,而不考慮項目之間的相似度。該算法思想雖然簡單卻極為高效,同時它的推薦精度也令人滿意。相比其他基于鄰域的協(xié)同過濾算法[2],Slope one算法一個很重要的特點就是基本不存在“冷啟動”問題,即推薦精度不受系統(tǒng)評分數(shù)據(jù)的數(shù)量的影響。因此,該算法被廣泛應用于工業(yè)界。

        1 Slope One推薦算法

        對于Slope One算法,其推薦流程為1)計算物品之間的平均評分偏差矩陣;2)計算用戶對未評分項目的預測評分值;3)最后,對該用戶所有未評分項目按評分預測值倒序排序,取得前N個物品推薦給用戶[3]。

        下面,通過一個例子來對Slope One算法的工作過程進行說明。如表1所示,user1、user2同時對item1和item2進行評分,現(xiàn)在要預測user3對item2的評分。Slope One算法首先計算item1對item2的平均評分偏差:(( 5 -3)+(4 -3))/2=1.5,這意味著用戶對item1的平均評分比item2多1.5,因此user3對item2的評分則可以認為是:4-1.5=2.5。再假設(shè)表1中還有一列物品 item3,user1對 item3評分為 2,user2對item3的評分為3,user3對item3的評分為4,繼續(xù)預測user3對item2的評分值。

        表1 用戶-物品評分矩陣

        此時,使用item1對item2的平均偏差來預測得到的是2.5,使用item3對item2的平均偏差來預測得到的是4-((2-3)+(3-3))/2=4.5,原生的Slope One算法通過求平均值的方式獲得最終的預測值(2.5+4.5)/2=3.5。

        假如有100個用戶同時對item1和item2進行了評分,5個用戶對item3和item2進行了評分,上述單純求平均值的方式在各個用戶共同評分數(shù)差異過大的,對結(jié)果的預測不是很準確,這時可以通過使用帶權(quán)重的 Slope One求預測值(100×4.5+5×3.5)/(100+5)=4.45更加合理。

        綜上所述,Slope One算法的重點在于求物品間的平均偏差以及使用的預測評分計算上[4]。設(shè)評分矩陣為R,若devj,i表示項目i,j之間的平均偏差,則:

        其中,ui、uj表示用戶u的評分向量中對物品i,j的評分值,Sj,i(R)表示評分矩陣R中對物品i,j都有評分的用戶集,card()用于求集合中的元素個數(shù)。

        用戶u對物品j的預測值可以表示為devj,i+ui,對于整個評分矩陣R來說,要預測用戶u對物品j的評分則需要依賴所有其它物品與物品j的平均偏差[5],同時考慮到計算不同項目間的平均偏差值時,使用的項目評分對的數(shù)量不一致,導致每個平均偏差值在R中的權(quán)重是不一樣的。因此,文獻[6]將用戶共同評分數(shù)作為Slope one的權(quán)重,其預測評分公式可表示為:

        上式用來預測用戶u對物品 j的評分值,S(u)表示用戶u評過分的物品集。

        2 項目相似度

        在基于用戶的協(xié)同過濾或者基于物品的協(xié)同過濾算法中,相似度的計算是推薦系統(tǒng)實現(xiàn)的關(guān)鍵步驟[7]。常用的相似度計算有三種,下面以基于項目的協(xié)同過濾為例,分別進行介紹。項目相似度的計算要基于用戶-物品評分矩陣[8],如表2。

        表2 用戶-物品評分矩陣

        余弦相似度(Cosine):余弦相似度是通過計算向量之間的余弦夾角來計算兩個向量的相似度[9],取值范圍是(-1,1)。若r→i和r→j分別表示物品i和物品j物品的評分向量,則余弦相似度可以用如下公式表示:

        其中,Uij表示同時對物品i、j評分的用戶集合,Ui和Uj分別表示對物品i和物品 j評分的用戶集合,rui和ruj分別表示用戶u對物品i和物品 j的具體評分值。

        修正的余弦相似度(Adjusted Cosine,AC):修正的余弦相似度是在余弦相似度基礎(chǔ)上,修正了不同用戶評分尺度的問題[10]。以星級評分1-5分制為例,用戶A認為評分在4分及以上才是自己喜歡的物品,而對于用戶B來說可能評分在3分及以上就屬于自己喜歡的了。為此,AC算法在計算相似度時先計算每個用戶的平均評分,然后將每個具體評分減去該用戶的評分均值。具體公式如下:

        其中,rˉu表示用戶u對物品評分的均值。

        皮爾遜相似度(Pearson Correlation,PC):皮爾遜相似度是從Pearson相關(guān)系數(shù)發(fā)展而來,其計算是在物品i和物品 j具有共同評分的基礎(chǔ)上,同時考慮了用戶評分尺度和物品評分尺度的問題[11]。在不同的算法中需要使用不同的評分尺度,比如,在User-based CF中考慮的是用戶評分尺度,而在Item-based CF中考慮的是物品評分尺度。其計算方式如下:

        其中 rˉi代表物品 i的平均評分,rˉj代表物品 j的評分均值,其他符號含義同公式(3)。

        3 改進的Slope One算法

        3.1 使用項目相似度作為權(quán)值

        評分預測公式(2)中通過使用card(Sj,i(R))加權(quán)的方式,即考慮到了不同項目之間用戶評分數(shù)量的差異,在一定程度上提高了可信度和推薦精度。但是這種加權(quán)方式并沒有考慮到項目之間的內(nèi)在相關(guān)性,即所有用戶對兩個項目的評分會反映出這兩個項目之間的內(nèi)在關(guān)系。因此文獻[12]中采用了項目相似度作為權(quán)值的Slope One算法,算法的評分預測公式如下:

        其中wij表示項目之間的皮爾遜相似度[12],但本文將分別使用余弦相似度、修正余弦相似度、皮爾遜相似度對wij進行求解,進行對比試驗。

        3.2 使用項目相似度與用戶共同評分數(shù)乘積為權(quán)值

        使用項目相似度為權(quán)值的Slope One算法,只考慮了項目相似度而未考慮用戶共同評分個數(shù)[13]。因此本文在此的基礎(chǔ)上,采用項目相似度與用戶共同評分數(shù)乘積為權(quán)值進行算法的改進。改進后的算法不僅考慮項目間的相似度,同時也考慮到當用戶對物品的共同評分個數(shù),兩者的結(jié)合不僅解決了原生Slope One算法因用戶共同評分數(shù)差異過大導致推薦精度下降問題,同時也考慮了項目之間的內(nèi)在相關(guān)性。改進后的Slope One算法的評分預測公司如下:

        本文將使用余弦相似度與用戶共同評分數(shù)乘積為權(quán)值的算法稱為CCW Slope One,使用修正余弦相似度優(yōu)化與用戶共同評分數(shù)乘積為權(quán)值的算法稱為ACCW SlopeOne,使用皮爾遜相似度與用戶共同評分數(shù)乘積為權(quán)值的算法稱為PCCW Slope One。

        4 實驗

        4.1 實驗數(shù)據(jù)集及檢驗標準

        本文使用數(shù)據(jù)集來源于MovieLens,該數(shù)據(jù)集包含100萬條真實電影評分記錄(6040個用戶對3952部電影的評分)。使用RMSE(均方根誤差)對預測結(jié)果精度進行評價,RMSE越小表示預測準確度越高[14]。

        其中ui表示在訓練集上產(chǎn)生的對物品i的預測評分,rui表示測試集上用戶u對物品i的正式評分, ||T表示測試集的大小。

        實驗按以下步驟進行:

        處理下載的數(shù)據(jù)集,即將本地數(shù)據(jù)集讀入到內(nèi)存,并用合適數(shù)據(jù)結(jié)構(gòu)存儲。

        劃分數(shù)據(jù)集,每輪實驗將數(shù)據(jù)集隨機分成10份,每次選擇其中的9份作為訓練集訓練出推薦模型,剩余的一份作為測試集計算RMSE評價指標,每輪實驗進行10次,分別選取不同的測試集,最后得到的10次實驗的平均RMSE值作為本輪實驗的RMSE值輸出。

        4.2 實驗結(jié)果

        (1)余弦相似度改進的算法

        比較原生的Slope One算法和使用余弦相似度改進的后的算法Slope One、CCW Slope One算法在推薦精度RMSE上的差異。如圖1。

        圖1 余弦相似度改進算法精度對比

        上圖中Native Slope One代表原生Slope One算法,Weight Slope One代表使用用戶共同評分數(shù)為權(quán)值的Slope One算法。CW Slope One算法代表使用余弦相似度為權(quán)值的Slope One算法。從上圖可以看出使用余弦相似度為權(quán)值對于推薦精度有較大的提升,而同時考慮余弦相似度和用戶共同評分數(shù)的CCW Slope One算法比僅使用余弦相似度的Slope One算法的推薦精度又有所提升。

        (2)修正余弦相似度改進的算法

        比較原生的Slope One算法和使用相似余弦相似度改進的后的Slope One算法、ACCW Slope One算法在推薦精度RMSE上的差異。如圖2。

        圖2 修正余弦相似度改進算法精度對比

        上圖ACW Slope One代表使用修正余弦值為權(quán)值的Slope One??梢钥闯鍪褂眯拚嘞蚁嗨贫葹闄?quán)值改進的Slope One算法與原生算法相比推薦精度有了明顯的提高,而采用修正余弦相似度和用戶共同評分數(shù)乘積為權(quán)值的ACCW Slope One算法比僅使用修正余弦相似度為權(quán)值的Slope One算法的推薦精度又有所提升。

        (3)皮爾遜相似度改進的算法

        比較原生的Slope One算法和使用皮爾遜相似度改進的后的算法Slope One、PCCW Slope One算法在推薦精度RMSE上的差異。如圖3。

        圖3 皮爾遜相似度改進算法精度對比

        上圖可以看出使用皮爾遜相似度改進的Slope One算法和PCCW Slope One算法相比原生算法有了很大的改進,且以修正余弦相似度和用戶共同評分數(shù)為權(quán)值的PCCW Slope One算法比PCW Slope One算法的推薦精度又有所提升。

        4.3實驗總結(jié)

        從上面3組實驗可以表明采用項目相似度作與用戶共同評分數(shù)乘積為權(quán)值的Slope One算法相比本文中的其他算法推薦精度是最高的。其中,使用皮爾遜相似度改進的算法與原生Slope One算法比較提高的推薦精度達到了0.029,是所有改進算法效果最好的。同時也進一步說明,改進的Slope One算法不僅考慮到了項目之間的關(guān)聯(lián)性,同時也解決了原生算法出現(xiàn)的用戶共同評分差異過大的問題,有效地提高了算法的推薦精度。

        5 結(jié)語

        本文介紹了Slope One推薦算法,同時也介紹了以項目相似度為權(quán)值Slope One算法,在此基礎(chǔ)上又結(jié)合了用戶共同評分數(shù)再次改進了Slope One算法,采用項目相似度與用戶共同評分數(shù)為權(quán)值的Slope One充分考慮了用戶自身的喜好,以及項目之間的關(guān)聯(lián)度。實驗結(jié)果也明顯表明了,改進后的算法與原生Slope One算法推薦精度有了明顯的提高。

        [1]基于用戶相似性的加權(quán)Slope One算法[J].劉林靜,樓文高,馮國珍.計算機應用研究,2016(09).

        [2]李淋淋,倪建成,于蘋蘋,姚彬修,曹博.基于聚類和Spark框架的加權(quán)Slope One算法[J].計算機應用,2017,37(05):1287-1291+1310.[2017-08-23].

        [3]丁少衡,姬東鴻,王路路.基于用戶屬性和評分的協(xié)同過濾推薦算法[J].計算機工程與設(shè)計,2015(02).

        [4]孫天昊,黎安能,李明,朱慶生.基于Hadoop分布式改進聚類協(xié)同過濾推薦算法研究[J].計算機工程與應用,2015(15).

        [5]郝立燕,王靖.基于填充和相似性信任因子的協(xié)同過濾推薦算法[J].計算機應用.2013(03).

        [6]Lemire,D.,&Maclachlan,A.(2007).Slope One Predictors for Online Rating-Based Collaborative Filtering.

        [7]周濤,李華.基于用戶情景的協(xié)同過濾推薦[J].計算機應用,2010,30(04):1076-1078+1082.[2017-08-23].

        [8]冷亞軍,陸青,梁昌勇.協(xié)同過濾推薦技術(shù)綜述[J].模式識別與人工智能,2014,27(08):720-734.[2017-08-23].DOI:10.16451/j.cnki.issn1003-6059.2014.08.005.

        [9]一種改進的Slope One協(xié)同過濾算法[J].王毅,樓恒越.計算機科學.2011(S1).

        [10]柴華,劉建毅.一種改進的slope one推薦算法研究[J].信息網(wǎng)絡(luò)安全,2015,(02):77-81.[2017-08-23].

        [11]基于鄰近項目的Slope One協(xié)同過濾算法[J].杜茂康,劉苗,李韶華,浦琴.重慶郵電大學學報(自然科學版).2014(03)

        [12]張玉連,郇思思,梁順攀.融合用戶相似度與項目相似度的加權(quán)Slope One算法[J].小型微型計算機系統(tǒng),2016,37(06):1174-1178.[2017-08-26].

        [13]基于不同數(shù)據(jù)集的協(xié)作過濾算法評測[J].董麗,邢春曉,王克宏.清華大學學報(自然科學版).2009(04)

        [14]基于項目語義相似度的協(xié)同過濾推薦算法[J].肖敏,熊前興.武漢理工大學學報.2009(03)

        猜你喜歡
        皮爾遜余弦權(quán)值
        一種融合時間權(quán)值和用戶行為序列的電影推薦模型
        CONTENTS
        現(xiàn)代統(tǒng)計學之父:卡爾·皮爾遜
        現(xiàn)代統(tǒng)計學之父:卡爾·皮爾遜
        Excel在水文學教學中的應用
        卡方分布的探源
        基于權(quán)值動量的RBM加速學習算法研究
        自動化學報(2017年7期)2017-04-18 13:41:02
        兩個含余弦函數(shù)的三角母不等式及其推論
        分數(shù)階余弦變換的卷積定理
        圖像壓縮感知在分數(shù)階Fourier域、分數(shù)階余弦域的性能比較
        亚洲永久无码7777kkk| 视频区一区二在线观看| 色婷婷久久亚洲综合看片| 色天使综合婷婷国产日韩av| 国产精品户露av在线户外直播 | 国产超碰人人爽人人做人人添| 消息称老熟妇乱视频一区二区 | 国产精品久久久久电影网| 精品18在线观看免费视频| 久久夜色精品国产亚洲av老牛| 国产麻豆一区二区三区在| 亚洲理论电影在线观看| 性欧美大战久久久久久久久| 人妻av一区二区三区av免费 | 99精品人妻无码专区在线视频区 | 国产中文三级全黄| 丰满熟女人妻中文字幕免费| 亚洲色图综合免费视频| 美国黄色av一区二区| 亚洲av永久无码精品漫画| 日韩精品人妻系列无码专区免费| 亚洲精品第一国产麻豆| 18禁成人免费av大片一区| 国产亚洲精品美女久久久久| 天干天干啦夜天干天2017| 丁香六月久久| 久久伊人精品中文字幕有| 精品亚洲国产成人| 无限看片在线版免费视频大全| 乱色视频中文字幕在线看| 国产精品一区二区偷拍| 国产亚洲精品精品精品| 538在线啪在线观看| av免费在线观看在线观看| 高清午夜福利电影在线| 人妻无码一区二区三区四区| 久久亚洲精品成人AV无码网址| 视频区一区二在线观看| 亚洲a∨无码一区二区三区| 少妇高潮喷水久久久影院| 国模一区二区三区白浆|