国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于用戶相似度加權(quán)的Slope One算法

2017-01-20 09:44:28田松瑞
軟件 2016年4期
關(guān)鍵詞:個(gè)性化推薦協(xié)同過濾數(shù)據(jù)挖掘

摘要:SlopeOne算法基于簡單的線性回歸模型,通過減少響應(yīng)時(shí)間和維護(hù)難度,顯著提高了推薦性能。然而SlopeOne算法沒有考慮用戶內(nèi)部的關(guān)聯(lián),同等地使用各個(gè)用戶數(shù)據(jù)進(jìn)行預(yù)測,容易造成偏差,影響推薦質(zhì)量。本文提出了一種改進(jìn)的Slope One算法,它將用戶相似度納入考慮并且對評分偏差計(jì)算公式進(jìn)行了修正?;陧?xiàng)目的Slope One算法結(jié)合基于用戶的協(xié)同過濾算法,提出新的混合推薦算法US-Slope One。在MovieLens數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該算法與原Slope One算法相比具有更好的預(yù)測準(zhǔn)確度和推薦質(zhì)量。

關(guān)鍵詞:協(xié)同過濾;用戶相似度;SlopeOne;數(shù)據(jù)挖掘;個(gè)性化推薦

中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A DOI:10.3969/j.issn.1003-6970.2016.04.015

0 引言

當(dāng)今互聯(lián)網(wǎng)信息量不斷擴(kuò)大,網(wǎng)絡(luò)經(jīng)濟(jì)發(fā)展迅猛,信息過載成為社會性問題。個(gè)性化推薦系統(tǒng)是解決這一問題的一種有效工具。協(xié)同過濾技術(shù)在推薦系統(tǒng),尤其是在電子商務(wù)中得到了廣泛的應(yīng)用,幾乎所有大型電子商務(wù)平臺都使用了各種推薦系統(tǒng),對用戶的特征和喜好進(jìn)行分析,并提供更具個(gè)性化的推薦。協(xié)同過濾利用具有相似經(jīng)驗(yàn)的用戶群體的偏好信息為特定用戶進(jìn)行商品或信息的推薦。根據(jù)模型的不同,協(xié)同過濾可分為基于用戶的協(xié)同過濾和基于項(xiàng)目的協(xié)同過濾。

Slope One算法是一種基于項(xiàng)目的協(xié)同過濾算法,它使用一個(gè)線性回歸模型進(jìn)行預(yù)測,在與其他復(fù)雜的協(xié)同過濾推薦具有同等推薦精度的前提下,花銷更少,更加易于實(shí)現(xiàn)。它的簡潔高效使得采用Slope One算法的推薦系統(tǒng)更加易于實(shí)現(xiàn)和維護(hù)。然而,Slope One算法在進(jìn)行推薦時(shí),沒有考慮到用戶的作用,用戶間的內(nèi)在關(guān)聯(lián)對預(yù)測結(jié)果起著重要影響。Slope One算法不加區(qū)分地采用所有用戶評分?jǐn)?shù)據(jù)來計(jì)算項(xiàng)目之間的偏差,這就導(dǎo)致一些與當(dāng)前活躍用戶偏好不同甚至相反的用戶數(shù)據(jù)同等參與了預(yù)測,這會削弱擁有高相似度的用戶的作用效果,使得預(yù)測精度降低。采用聚類或動態(tài)k近鄰可以去除部分噪聲數(shù)據(jù),但卻造成了數(shù)據(jù)丟失。數(shù)據(jù)稀疏性問題是當(dāng)前推薦系統(tǒng)所面臨的主要問題之一。在數(shù)據(jù)極端稀疏的情況下,數(shù)據(jù)的缺失將使得推薦效果很不理想。

因此本文提出了一種改進(jìn)的Slope One算法(US-Slope One),利用用戶相似度對用戶評分差值進(jìn)行加權(quán),使得擁有不同相似度的用戶數(shù)據(jù)以不同權(quán)重參與預(yù)測,實(shí)現(xiàn)在盡可能保證不丟失評分信息的前提下,在非稠密數(shù)據(jù)集中的推薦精度得到提升。

1 Slope one算法理論

1.1 SlopeOne算法

假設(shè)推薦系統(tǒng)中有m個(gè)用戶和n個(gè)項(xiàng)目,分別建立兩個(gè)集合U={u1,u2,…,um}和I={i1,i2,…,in},U代表用戶集合,I代表項(xiàng)目集合。推薦算法常用矩陣Rm×n來表示不同用戶對每個(gè)項(xiàng)目的評分。行向量Rm表示每個(gè)用戶的評分,列向量Rn表示每個(gè)項(xiàng)目的得分。為了使計(jì)算更加明確,采用ri,j(1≤i≤m,1≤j≤n)表示用戶i對項(xiàng)目j的評分。

SlopeOne算法采用f(x)=x+b進(jìn)行預(yù)測,其中參數(shù)6是用戶對兩項(xiàng)目的平均評分偏差。Slope One算法先計(jì)算項(xiàng)目ii與其他項(xiàng)目ik之間的平均評分偏差devjk,再預(yù)測當(dāng)前活躍用戶u對目標(biāo)項(xiàng)目,的可能評分Predictionu,j。定義Sjk為給項(xiàng)目ij和項(xiàng)目ik都評過分的用戶集合,Rj為與項(xiàng)目ij同時(shí)被評分的項(xiàng)目集合,count(X)為集合X中的元素個(gè)數(shù)。SlopeOne算法如下:

(1)

(2)

1.2 加權(quán)Slope One算法

為平衡每個(gè)項(xiàng)目對目標(biāo)項(xiàng)目的影響,同時(shí)對項(xiàng)目ij和ik評過分的用戶數(shù)目sjk將作為權(quán)重加入兩項(xiàng)目評分偏差的計(jì)算,其中sjk=count(Sjk)。

(3)

1.3 雙極Slope One算法

雙極Slope One算法考慮到用戶對物品的喜好,將項(xiàng)目集合Ijk府劃分為兩部分,一個(gè)是用戶評分高于其評分均值的項(xiàng)目集合Ilikejk,剩下的構(gòu)成Idislikejk。從而分別計(jì)算出喜歡偏差devlikejk和不喜歡偏差devdislikejk

(4)

同樣的方法,我們可以計(jì)算不喜歡偏差devdislikejk。最后得出評分預(yù)測如下:

(5)

2 US-Slope one算法設(shè)計(jì)

如前一章所述,Slope One算法采用所有用戶評分?jǐn)?shù)據(jù)而不考慮相似度問題,當(dāng)存在大量噪聲數(shù)據(jù)時(shí),預(yù)測準(zhǔn)確度會大大降低,導(dǎo)致最終的推薦結(jié)果不理想。然而在數(shù)據(jù)極度稀疏的情況下,往往又希望保留盡可能多的數(shù)據(jù),US-Slope One算法針對這一問題,采用用戶相似度進(jìn)行加權(quán),使得相似度不同的用戶數(shù)據(jù)以不同權(quán)重加入預(yù)測。常用的用戶相似性度量方法有余弦相似性,修正余弦相似性,皮爾遜相關(guān)系數(shù)以及斯皮爾曼相似性等??紤]到不同用戶的評分尺度問題,本文采用修正余弦相似性計(jì)算用戶間相似度。若用戶ua和ub的共同評分的項(xiàng)目集合為Iab,用戶ua和ub對項(xiàng)目ic的評分分別為rac和rbc,ra和rb分別表示用戶ua和ub的評分均值,則用戶ua和ub之間的相似度sim(ua,ub)為:

(6)

將用戶相似度作為評分偏差計(jì)算的權(quán)值,US-Slope One算法如下:

(7)

3 實(shí)驗(yàn)結(jié)果及分析

3.1 實(shí)驗(yàn)所用數(shù)據(jù)集

本實(shí)驗(yàn)所用的數(shù)據(jù)集是由GroupLens研究產(chǎn)品組田松瑞:基于用戶相似度加權(quán)的Slope One算法提供的電影評分?jǐn)?shù)據(jù)集Movielens(http://movielens.umn.edu),該數(shù)據(jù)包括943個(gè)用戶對1682部電影的共計(jì)100000條評分記錄,其中每位用戶至少對20部電影進(jìn)行了評分。評分值范圍是1到5分,分值越高代表用戶對電影的評價(jià)越好。該數(shù)據(jù)稀疏度為6.30%。實(shí)驗(yàn)時(shí)從該數(shù)據(jù)集中按一定規(guī)則隨機(jī)抽取80%的數(shù)據(jù)作為訓(xùn)練集,其余20%作為測試集。

3.2 度量標(biāo)準(zhǔn)

用于推薦系統(tǒng)的推薦質(zhì)量評價(jià)的度量標(biāo)準(zhǔn)主要包括統(tǒng)計(jì)精度度量方法和決策支持精度度量方法兩種。其中統(tǒng)計(jì)精度度量方法的平均絕對誤差MAE(Means AbsoIute Error)和均方根誤差RMSE(RootMean Square Error)由于更易于理解并且能夠更直觀地對推薦質(zhì)量進(jìn)行度量,因此成為推薦質(zhì)量評價(jià)最常用的方法。MAE和RMSE的值越小,代表推薦質(zhì)量越高。本文實(shí)驗(yàn)采用MAE和RMSE作為推薦質(zhì)量的度量標(biāo)準(zhǔn)。

假設(shè)兩個(gè)分組P和Q分別代表預(yù)測評分集合和實(shí)際評分集合,P={p1,P2,…,pN},Q={q1,q2,…,qN}。MAE和RMSE的定義如下:

(8)

(9)

3.3 實(shí)驗(yàn)結(jié)果

本實(shí)驗(yàn)將US-slope One算法與基本Slope One算法和加權(quán)slope One算法以及雙極Slope One算法進(jìn)行比較,得到的MAE值和RMsE值分別如圖1和圖2所示。經(jīng)統(tǒng)計(jì)學(xué)分析,實(shí)驗(yàn)結(jié)果具有代表性。

實(shí)驗(yàn)結(jié)果表明,在稀疏數(shù)據(jù)集上,US-slope One算法的MAE值和RMsE值均明顯低于Slope One算法、加權(quán)Slope One算法和雙極Slope One算法,其推薦精度更高。US-Slope One算法總體推薦性能更好,使用用戶相似度進(jìn)行加權(quán)能夠在保證數(shù)據(jù)量盡可能完整的基礎(chǔ)上顯著提高了預(yù)測精度。

4 結(jié)論

本文分析了Slope One推薦算法及其改進(jìn)算法,針對其在數(shù)據(jù)稀疏情況下利用有限用戶評分?jǐn)?shù)據(jù)做出更合理的推薦問題,提出了將用戶相似度作為權(quán)重融入預(yù)測的US-Slope One算法,在盡可能保證不丟失原始數(shù)據(jù)的基礎(chǔ)上,更加合理地運(yùn)用數(shù)據(jù)。最后,對本算法以及已有算法在稀疏數(shù)據(jù)集上進(jìn)行試驗(yàn),比較結(jié)果表明本算法提升了現(xiàn)有算法對于稀疏數(shù)據(jù)集的適應(yīng)性,提高了預(yù)測精度和推薦性能。

猜你喜歡
個(gè)性化推薦協(xié)同過濾數(shù)據(jù)挖掘
探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢
基于并行計(jì)算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
電力與能源(2017年6期)2017-05-14 06:19:37
基于鏈?zhǔn)酱鎯Y(jié)構(gòu)的協(xié)同過濾推薦算法設(shè)計(jì)與實(shí)現(xiàn)
基于相似傳播和情景聚類的網(wǎng)絡(luò)協(xié)同過濾推薦算法研究
個(gè)性化推薦系統(tǒng)關(guān)鍵算法探討
基于協(xié)同過濾算法的個(gè)性化圖書推薦系統(tǒng)研究
混合推薦算法在電影推薦中的研究與評述
無線定位個(gè)性化導(dǎo)覽關(guān)鍵技術(shù)在博物館中的運(yùn)用
一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
基于GPGPU的離散數(shù)據(jù)挖掘研究
宿松县| 高邮市| 平安县| 牟定县| 和政县| 潮安县| 芜湖县| 于田县| 佳木斯市| 上林县| 得荣县| 拜城县| 墨竹工卡县| 汨罗市| 江安县| 钦州市| 淅川县| 达拉特旗| 盱眙县| 当阳市| 含山县| 安徽省| 图片| 太和县| 偏关县| 龙里县| 宁德市| 灵武市| 西昌市| 同江市| 大新县| 碌曲县| 任丘市| 无棣县| 鲁山县| 海丰县| 锦屏县| 曲阜市| 庐江县| 特克斯县| 庆阳市|