原稿----一種基于機(jī)器學(xué)習(xí)的加權(quán) Slope One 算法改進(jìn)_第1頁(yè)
原稿----一種基于機(jī)器學(xué)習(xí)的加權(quán) Slope One 算法改進(jìn)_第2頁(yè)
原稿----一種基于機(jī)器學(xué)習(xí)的加權(quán) Slope One 算法改進(jìn)_第3頁(yè)
原稿----一種基于機(jī)器學(xué)習(xí)的加權(quán) Slope One 算法改進(jìn)_第4頁(yè)
原稿----一種基于機(jī)器學(xué)習(xí)的加權(quán) Slope One 算法改進(jìn)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一種基于機(jī)器學(xué)習(xí)的加權(quán)Slope One算法改進(jìn)張玉連1,2,郇思思1,3,梁順攀1,2 1 (燕山大學(xué)信息科學(xué)與工程學(xué)院,河北秦皇島066004)2 (燕山大學(xué)信息科學(xué)與工程學(xué)院計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心,河北秦皇島066004)3 (河北省計(jì)算機(jī)虛擬技術(shù)與系統(tǒng)集成重點(diǎn)實(shí)驗(yàn)室,河北秦皇島066004)E-mail :huansisi_摘要:Slope One算法是一種基于內(nèi)存的協(xié)同過(guò)濾推薦算法,但在計(jì)算時(shí),內(nèi)存消耗過(guò)大、預(yù)測(cè)結(jié)果準(zhǔn)確度不高,尤其當(dāng)用戶數(shù)量和項(xiàng)目數(shù)量較大時(shí),算法的執(zhí)行效率會(huì)很低?;诖?,本文將一種基于模型的算法融合到基于內(nèi)存的Slope One算法中,提出一種使用機(jī)

2、器學(xué)習(xí)中最小二乘法改進(jìn)的加權(quán)Slope One算法,該算法簡(jiǎn)單直觀且計(jì)算高效,可以克服傳統(tǒng)基于內(nèi)存推薦算法的諸多缺點(diǎn)。最后,在Filmtrust和Movielens數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)結(jié)果表明,融合偏差因子的加權(quán)Slope One算法在這兩個(gè)稀疏度不同的數(shù)據(jù)集下,均能獲得較高的推薦準(zhǔn)確度。關(guān)鍵詞:協(xié)同過(guò)濾;機(jī)器學(xué)習(xí);最小二乘法;加權(quán)Slope One算法中圖分類號(hào):TP 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):Improved Weighted Slope One Algorithm BasedonMachineLearningZHANG Yu-lian1,2,HUAN Si-si1,3, LIANG Shun

3、-pan1,21 (Information Science and Engineering College, Yanshan University, Qinhuangdao 066004, China)2 (The Basic Computer Teaching Experiment Center, Information Science and Engineering College, Yanshan University, Qinhuangdao 066004, China)3 (The Key Laboratory for Computer Virtual Technology and

4、System Integration of Hebei Province, Qinhuangdao 066004, China)Abstract: Slope One algorithm is a memory-based collaborative filtering recommendation algorithm, but in computing, the algorithms memory consumption is too large, and prediction accuracy is low, especially when the user and item number

5、 is larger. Therefore, this article puts forward integrate model-based and memory-based methods together ,called improved weighted Slope One algorithm basedonmachinelearning, the algorithm is intuitive and efficient, can overcome the traditional disadvantages of the memory-based recommendation algor

6、ithms. Finally, experiments on the well-known datasets Filmtrust and Movielens show that the biased integrating least squares technique into weighted Slope One algorithm in the case of different sparse datasets can both achieve great improvement of prediction accuracy. Key words: collaborative filte

7、ring;machine learning; least squares technique ;weighted Slope One algorithm1引言 隨著互聯(lián)網(wǎng)的發(fā)展和普及,信息過(guò)載問(wèn)題愈加嚴(yán)重。在面對(duì)海量數(shù)據(jù)時(shí),用戶如何從冗余的信息中找到自己需要的內(nèi)容,便成了一個(gè)值得研究的課題1。為有效解決信息過(guò)濾問(wèn)題,推薦系統(tǒng)應(yīng)運(yùn)而生。協(xié)同過(guò)濾(Collaborative Filtering, CF)算法是推薦系統(tǒng)中較常用的算法之一2,是目前發(fā)展的最成熟的推薦技術(shù),它僅僅通過(guò)分析用戶的歷史行為便可為用戶進(jìn)行推薦。按照內(nèi)存的占用程度和算法的計(jì)算效率,協(xié)同過(guò)濾推薦算法可分為兩類:基于內(nèi)存的協(xié)同過(guò)濾(

8、Memory-Based Collaborative Filtering)和基于模型的協(xié)同過(guò)濾(Model-Based Collaborative Filtering)。目前,推薦算法的研究集中在基于內(nèi)存的推薦上3-8,它為研究者提供了一種簡(jiǎn)單直觀的方法進(jìn)行預(yù)測(cè),但內(nèi)存消耗太大,且預(yù)測(cè)效果不明顯。而基于模型的方法將數(shù)學(xué)模型與推薦算法相結(jié)合9,為研究者提供了一種內(nèi)存占用少且高效的方式進(jìn)行預(yù)測(cè)。為融合基于內(nèi)存和基于模型推薦算法各自的優(yōu)點(diǎn),將機(jī)器學(xué)習(xí)中較為常用的最小二乘法與Slope One算法(Slope One Algorithm, SO)結(jié)合對(duì)用戶進(jìn)行推薦。最小二乘法是機(jī)器學(xué)習(xí)方法中一種數(shù)字優(yōu)

9、化技術(shù),計(jì)算預(yù)測(cè)值與實(shí)際評(píng)分值的誤差平方和來(lái)得到最佳函數(shù)匹配9。Slope One算法是Lemire等人4提出的一種基于項(xiàng)目的協(xié)同過(guò)濾算法,它運(yùn)算簡(jiǎn)便、易于實(shí)現(xiàn)和維護(hù)且具有良好的可擴(kuò)展性等優(yōu)點(diǎn),但并未考慮到項(xiàng)目間相似度,在處理稍大規(guī)模的數(shù)據(jù)時(shí),會(huì)遇到內(nèi)存耗費(fèi)過(guò)大,且所得預(yù)測(cè)結(jié)果準(zhǔn)確度低等問(wèn)題。針對(duì)以上問(wèn)題,本文提出一種基于機(jī)器學(xué)習(xí)的加權(quán)Slope One算法 (Improved Weighted Slope One Algorithm BasedonMachineLearning),算法基本思想為:(1)基于內(nèi)存的方法簡(jiǎn)單直觀,易于理解,而基于模型的方法在普遍比基于內(nèi)存的方法可以得到更準(zhǔn)確的預(yù)

10、測(cè)結(jié)果,本文考慮將基于模型和基于內(nèi)存的推薦方法兩者的優(yōu)點(diǎn),提出一種新的算法為用戶產(chǎn)生推薦;(2)加權(quán)Slope One算法在進(jìn)行計(jì)算產(chǎn)生預(yù)測(cè)時(shí),將系統(tǒng)中所有的項(xiàng)目視為平等的,僅計(jì)算了共同評(píng)論兩個(gè)項(xiàng)目的用戶的個(gè)數(shù),并沒(méi)有詳細(xì)評(píng)定兩個(gè)項(xiàng)目間的相似性。本文使用梯度下降的方法為兩項(xiàng)目間相似度進(jìn)行衡量,動(dòng)態(tài)調(diào)節(jié)預(yù)測(cè)評(píng)分,進(jìn)而提高預(yù)測(cè)準(zhǔn)確度。2相關(guān)工作 協(xié)同過(guò)濾推薦算法是常用的推薦算法之一,其中,基于內(nèi)存的協(xié)同過(guò)濾推薦算法2是現(xiàn)下研究者們比較常用的推薦算法, Slope One算法4 (Slope One algorithm, SO)就是一種基于項(xiàng)目的協(xié)同過(guò)濾推薦算法,它通過(guò)計(jì)算用戶已評(píng)分項(xiàng)目間的偏差來(lái)產(chǎn)

11、生預(yù)測(cè),即使用線性關(guān)系來(lái)表示項(xiàng)目間的關(guān)系,具有計(jì)算簡(jiǎn)便、易于實(shí)現(xiàn)和維護(hù)、能為新用戶提供推薦服務(wù)、具有高效的查詢相應(yīng)、具有合理的準(zhǔn)確性等優(yōu)點(diǎn)。但該算法在計(jì)算時(shí),將項(xiàng)目間的相似度一視同仁,并未對(duì)相似度問(wèn)題進(jìn)行詳細(xì)的衡量。文獻(xiàn)4中還提出了一種加權(quán)Slope One算法(Weighted Slope One algorithm, WSO),它考慮了同時(shí)評(píng)論兩個(gè)項(xiàng)目的用戶數(shù)量,但對(duì)項(xiàng)目間的不同卻一視同仁,沒(méi)有細(xì)致的區(qū)別開(kāi),這使得預(yù)測(cè)結(jié)果相較于Slope One算法預(yù)測(cè)結(jié)果的改善并不明顯。Wang等人5用Slope One算法填充用戶-項(xiàng)目矩陣中的空缺值,而后使用基于用戶的算法進(jìn)行預(yù)測(cè),提高了推薦的準(zhǔn)確度

12、。文獻(xiàn)6也使用上述方法進(jìn)行填充,不同的是在產(chǎn)生推薦時(shí)使用了基于項(xiàng)目的推薦算法。這兩種方法都對(duì)用戶-評(píng)分矩陣進(jìn)行填充,但是這個(gè)方法存在偶然性,所得預(yù)測(cè)結(jié)果并不穩(wěn)定。Gao等人7將基于內(nèi)容的算法與Slope One算法相結(jié)合,但該模型在數(shù)據(jù)稀疏和可擴(kuò)展性上所得的效果并不理想。如上所述,考慮到在現(xiàn)有的推薦系統(tǒng)中,由于用戶數(shù)量和項(xiàng)目數(shù)量的快速增長(zhǎng),導(dǎo)致算法在進(jìn)行計(jì)算時(shí)內(nèi)存占用過(guò)度,導(dǎo)致運(yùn)行較慢等問(wèn)題。為提高算法效率,降低計(jì)算的復(fù)雜性,本文考慮將基于模型的協(xié)同過(guò)濾推薦算法也融入到算法改進(jìn)中。其中,最小二乘法9是機(jī)器學(xué)習(xí)方法中最簡(jiǎn)單有效的算法之一,使用最小二乘法可以簡(jiǎn)便地獲得未知的預(yù)測(cè)數(shù)據(jù),并使得預(yù)測(cè)數(shù)據(jù)

13、與實(shí)際評(píng)分值之間的誤差平方和最小。文獻(xiàn)9就使用了最小二乘法對(duì)推薦算法進(jìn)行改進(jìn),基本獲得了較好的預(yù)測(cè)結(jié)果,但是算法的穩(wěn)定性不強(qiáng),在數(shù)據(jù)集較為稀疏時(shí),得到的預(yù)測(cè)結(jié)果并不理想。3相關(guān)定義Lemire等人在文獻(xiàn)4提出了一種新的協(xié)同過(guò)濾推薦算法,即Slope One算法(Slope One algorithm,SO),它是一種基于項(xiàng)目的協(xié)同過(guò)濾推薦算法。該算法在實(shí)踐中展現(xiàn)了自身的諸多優(yōu)點(diǎn),例如計(jì)算簡(jiǎn)單方便、易于實(shí)現(xiàn)和維護(hù)、能為新用戶提供較為準(zhǔn)確的推薦、具有快速的查詢響應(yīng)、具有較高的推薦準(zhǔn)確性等優(yōu)點(diǎn),它是通過(guò)計(jì)算用戶共同評(píng)分項(xiàng)目之間的偏差來(lái)產(chǎn)生預(yù)測(cè),相較于傳統(tǒng)的協(xié)同過(guò)濾推薦算法,本算法展現(xiàn)了自身良好的計(jì)算

14、性能。定義1. Slope One算法Slope One算法的計(jì)算過(guò)程,即找出如的函數(shù)形式,對(duì)兩項(xiàng)目間的相似關(guān)系進(jìn)行表示,即為每對(duì)項(xiàng)目根據(jù)其中一個(gè)項(xiàng)目的評(píng)分來(lái)預(yù)測(cè)另一個(gè)項(xiàng)目的評(píng)分。等式中的b表示兩個(gè)項(xiàng)目被同一用戶評(píng)分的評(píng)分偏差,x表示用戶對(duì)已知項(xiàng)目的評(píng)分值。那么,給定兩個(gè)項(xiàng)目i和j(),偏差計(jì)算公式devij如下所示: (1)其中,rui表示用戶u對(duì)項(xiàng)目i的評(píng)分,Sij表示同時(shí)對(duì)項(xiàng)目i與j()有評(píng)分的用戶集合,表示用戶集合Sij中用戶的數(shù)量。得到項(xiàng)目i與j()之間的偏差devij后,用戶u即可對(duì)項(xiàng)目i進(jìn)行預(yù)測(cè),預(yù)測(cè)公式preui如下: (2)其中,S(u)表示用戶u所評(píng)分的所有項(xiàng)目的集合,表示

15、集合中至少有一個(gè)項(xiàng)目(即i除外的項(xiàng)目)與項(xiàng)目i同時(shí)被用戶u評(píng)分的項(xiàng)目集合。定義2. 加權(quán)Slope One算法上面講到的Slope One算法沒(méi)有考慮到同時(shí)被評(píng)分的項(xiàng)目的數(shù)量,顯而易見(jiàn),如果被不同用戶同時(shí)進(jìn)行評(píng)分的共同項(xiàng)目數(shù)量越多,那么預(yù)測(cè)結(jié)果就會(huì)越準(zhǔn)確。故Lemire等人在文獻(xiàn)4中還提出加權(quán)Slope One算法(Weighted Slope One Algorithm, WSO)如下: (3)等式中的表示共同評(píng)論項(xiàng)目i和j()的用戶個(gè)數(shù)。4基于機(jī)器學(xué)習(xí)的加權(quán)Slope One算法改進(jìn)接下來(lái),首先介紹一種基于最小二乘法的傳統(tǒng)Slope One算法改進(jìn),然后再介紹四種基于最小二乘法的加權(quán)Slo

16、pe One算法改進(jìn)。4.1 基于最小二乘法的Slope One算法改進(jìn)本文首先提出了一種基于最小二乘法的Slope One算法改進(jìn) (Integrating Least Squares Technique into Slope One Algorithm,LSO)。LSO算法的預(yù)測(cè)公式與加權(quán)Slope One算法的預(yù)測(cè)公式相似,由于在實(shí)驗(yàn)時(shí),加權(quán)Slope One算法所得的預(yù)測(cè)結(jié)果要略優(yōu)于Slope One算法,因此,本文依照加權(quán)Slope One算法模式,先提出了基于最小二乘法的Slope One算法,預(yù)測(cè)公式如下所示: (4)其中,將初始值設(shè)為1,即為原始的Slope One算法。通過(guò)解

17、決最小二乘法的問(wèn)題來(lái)確定的取值: (5)其中,表示測(cè)試集中用戶對(duì)項(xiàng)目評(píng)分的真實(shí)值,最小二乘法通過(guò)真實(shí)評(píng)分值與預(yù)測(cè)評(píng)分值得殘差平方和最小來(lái)確定擬合曲線的位置,從而得到更為接近真實(shí)評(píng)分值的預(yù)測(cè)值。本文將使用梯度下降的方法來(lái)確定最合適的值:if 其中,為預(yù)測(cè)偏差,計(jì)算方式為,表示劃分的測(cè)試集中用戶對(duì)項(xiàng)目評(píng)分的真實(shí)數(shù)值,表示使用Slope One算法預(yù)測(cè)所得到的用戶對(duì)項(xiàng)目的評(píng)分預(yù)測(cè)值。是學(xué)習(xí)速率,其選取需要通過(guò)交叉驗(yàn)證,即反復(fù)試驗(yàn)來(lái)確定其取值。4.2基于最小二乘法的加權(quán)Slope One算法改進(jìn)接下來(lái),提出一種基于最小二乘法的加權(quán)Slope One算法 (Integrating Least Squar

18、es Technique into Weighted Slope One Algorithm,LWSO)。由于加權(quán)Slope One算法考慮了權(quán)重問(wèn)題,故在考慮因子時(shí),可將因子視為衡量項(xiàng)目與項(xiàng)目的相似程度的指標(biāo)10,則改進(jìn)后的預(yù)測(cè)公式如下所示: (6)其中,的初始值仍設(shè)為1,即為加權(quán)Slope One算法。仍然通過(guò)解決最小二乘法的問(wèn)題來(lái)確定的取值: (7)之后,依舊采用梯度下降的方法來(lái)確定最合適的值,但是,為了對(duì)比不同的梯度下降方法對(duì)預(yù)測(cè)結(jié)果的影響,本文采用兩種不同的梯度下降方式來(lái)驗(yàn)證LWSO算法,分別命名為L(zhǎng)WSO1和LWSO2。LWSO1的梯度下降方式和LSO采用的方式一樣,如下所示:if

19、 其中,為預(yù)測(cè)偏差,計(jì)算方式為,與3.2中計(jì)算方式一樣,不同的是,表示使用加權(quán)Slope One算法預(yù)測(cè)所得的用戶對(duì)項(xiàng)目的評(píng)分預(yù)測(cè)值。而LWSO2的梯度下降方式則采用如下形式:if 顯然,第二種梯度下降方式比第一種梯度下降方式在梯度間隔的選取時(shí)更為密集,之后的實(shí)驗(yàn)將驗(yàn)證兩種梯度間隔的選取對(duì)實(shí)驗(yàn)結(jié)果的影響。4.3融合偏差因子的加權(quán)Slope One算法改進(jìn)在現(xiàn)實(shí)生活中,人們?cè)诰W(wǎng)上購(gòu)物或者瀏覽網(wǎng)頁(yè)進(jìn)行評(píng)價(jià)時(shí),往往會(huì)加入自己的偏見(jiàn),這就是所謂的用戶偏見(jiàn),考慮到用戶及項(xiàng)目的偏好,則需要對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理,用以消除用戶及項(xiàng)目的偏好對(duì)算法的影響,因此,本文在接下來(lái)的改進(jìn)中,把用戶偏好問(wèn)題也考慮到算法

20、中,提出了一種新的融合偏差因子的加權(quán)Slope One算法(The Biased Integrating Least Squares Technique into Weighted Slope One Algorithm,BLWSO)。本文先定義用戶u對(duì)項(xiàng)目i的偏好如下: (8)其中,是定值,即數(shù)據(jù)集中所有項(xiàng)目所得評(píng)分的平均值,是用戶偏差,表示某個(gè)用戶對(duì)已評(píng)分項(xiàng)目的所有評(píng)分平均值相對(duì)于數(shù)據(jù)集中所有評(píng)分平均分的偏差,是項(xiàng)目偏差,表示某個(gè)項(xiàng)目所得評(píng)分的平均分相對(duì)于數(shù)據(jù)集中所有評(píng)分平均分的偏差。改進(jìn)后的預(yù)測(cè)公式如下所示: (9)其中,的初始值仍設(shè)為1,和 初始化為0。通過(guò)解決最小二乘法的問(wèn)題來(lái)確定的

21、取值: (10)其中,加號(hào)后面的部分是為了防止訓(xùn)練過(guò)擬合。依舊采用梯度下降的方法來(lái)確定最合適的、和值,同上一種方法一樣,為了對(duì)比不同的梯度下降方法對(duì)預(yù)測(cè)結(jié)果的影響,BLWSO算法也將采用兩種不同的梯度下降方式來(lái)驗(yàn)證,分別命名為BLWSO1和BLWSO2。BLWSO1采用的梯度下降方式如下所示:if 而B(niǎo)LWSO2的梯度下降方式采用如下形式:if 5實(shí)驗(yàn)及結(jié)果分析 5.1 數(shù)據(jù)集為了更好的驗(yàn)證提出的五個(gè)算法的優(yōu)劣,本文分別使用兩個(gè)數(shù)據(jù)集對(duì)其進(jìn)行試驗(yàn)。1)Filmtrust數(shù)據(jù)集。在這個(gè)數(shù)據(jù)集中,包含有1508個(gè)用戶對(duì)2071部電影共35497條評(píng)分記錄。該數(shù)據(jù)集的評(píng)分范圍為0.5-4.0分,用戶

22、給電影所打的評(píng)分越高,表示該用戶對(duì)這部電影的喜愛(ài)程度越高。數(shù)據(jù)集的稀疏度為98.86%。2)Movielens數(shù)據(jù)集。這個(gè)數(shù)據(jù)集中,包含943個(gè)用戶對(duì)1682部電影共100000條評(píng)分記錄,該數(shù)據(jù)集的評(píng)分范圍也為1-5分,據(jù)稀疏度為93.70%。選擇數(shù)據(jù)集的標(biāo)準(zhǔn),是為了驗(yàn)證在稀疏度相差較大的兩個(gè)數(shù)據(jù)集中,改進(jìn)后的五種方法是否都能獲得較為理想的預(yù)測(cè)結(jié)果。為了防止訓(xùn)練過(guò)擬合,在實(shí)驗(yàn)時(shí),采用了五折交叉驗(yàn)證法進(jìn)行實(shí)驗(yàn),即將這兩個(gè)數(shù)據(jù)集分別均等的劃為5份,取其中4份為訓(xùn)練集,剩下的1份為測(cè)試集。然后分別進(jìn)行五次實(shí)驗(yàn),那么這五次實(shí)驗(yàn)所得結(jié)果的平均值即為實(shí)驗(yàn)結(jié)果。5.2 測(cè)量指標(biāo)本實(shí)驗(yàn)采用平均絕對(duì)誤差MAE

23、(Mean Absolute Error, MAE)和均方根誤差RMSE(Root Mean Squared Error, RMSE)對(duì)提出的五種方法的預(yù)測(cè)準(zhǔn)確度進(jìn)行驗(yàn)證。MAE計(jì)算方法如下: (11)其中,rui為用戶u對(duì)項(xiàng)目i的實(shí)際評(píng)分,preui為用戶u對(duì)用戶i通過(guò)預(yù)測(cè)算法計(jì)算出來(lái)的預(yù)測(cè)評(píng)分。T為測(cè)試集,表示測(cè)試集中元素的個(gè)數(shù)。MAE越小,說(shuō)明算法結(jié)果預(yù)測(cè)值與用戶評(píng)分真實(shí)值越接近,結(jié)果就越準(zhǔn)確,預(yù)測(cè)效果越好。RMSE計(jì)算方法如下: (12)同樣,RMSE值越小,表示預(yù)測(cè)值與評(píng)分真實(shí)值越接近,預(yù)測(cè)效果越好。5.3 實(shí)驗(yàn)結(jié)果與討論本文設(shè)計(jì)了2組實(shí)驗(yàn),來(lái)驗(yàn)證這五種算法在不同數(shù)據(jù)集下的算法性能。

24、即分別在Filmtrust和Movielens數(shù)據(jù)集上將改進(jìn)后的五種算法LSO、LWSO1、LWSO2、BLWSO1和BLWSO2算法分別與文獻(xiàn)4中提出的SO算法和WSO算法進(jìn)行比較。實(shí)驗(yàn)1 在Filmtrust數(shù)據(jù)集中,按各個(gè)算法進(jìn)行計(jì)算,得到結(jié)果預(yù)測(cè)值,計(jì)算得出MAE(圖1)和RMSE值(圖2)并進(jìn)行比較。其中,橫坐標(biāo)按照梯度下降的迭代次數(shù)進(jìn)行設(shè)置,迭代次數(shù)分別為10、20、100次。由于文獻(xiàn)4中提出的原始SO算法和加權(quán)SO算法在計(jì)算時(shí)不用迭代,故它們的MAE和RMSE結(jié)果沒(méi)有任何變化趨勢(shì),所得結(jié)果在圖上表示即為一條直線。同時(shí),由于它們的MAE和RMSE值比改進(jìn)后的算法結(jié)果值偏大,為了使改

25、進(jìn)后的五種算法的MAE和RMSE值變化趨勢(shì)更加明顯,故用表1將原始SO算法和加權(quán)SO算法的結(jié)果單獨(dú)進(jìn)行展示。圖1 各算法在Filmtrust數(shù)據(jù)集上MAE值比較Figure 1 Comparison of MAE between relevant recommendation algorithms on the Filmtrust dataset.圖2 各算法在Filmtrust數(shù)據(jù)集上RMSE值比較Figure 2 Comparison of RMSE between relevant recommendation algorithms on the Filmtrust dataset.表1

26、 SO、WSO算法在Filmtrust數(shù)據(jù)集上MAE和RMSE值比較Table 1 Comparison of MAE and RMSE between SO、WSO algorithms on the Filmtrust dataset.MAERMSESO0.6372876630.845336008WSO0.6347011950.840286949從圖1 、圖2、表1中的數(shù)據(jù)可以看出,在Filmtrust數(shù)據(jù)集中, BLWSO2算法相比其他幾個(gè)算法而言,包括文獻(xiàn)4中提出的原始的SO算法和WSO算法,能獲得更小的MAE值,但同時(shí)考慮到預(yù)測(cè)準(zhǔn)確度和算法的表現(xiàn)性能上來(lái)看,BLWSO1算法的效果更好

27、。另外,比較兩幅圖在不同迭代次數(shù)時(shí)的MAE和RMSE值,可以看出,隨著迭代次數(shù)的增多,LSO和LWSO1算法的性能一直很穩(wěn)定,迭代次數(shù)的多少對(duì)其產(chǎn)生的影響不大。LWSO2、BLWSO1和BLWSO2算法收斂速度很快,且當(dāng)?shù)螖?shù)越多時(shí),MAE和RMSE值也更小,預(yù)測(cè)結(jié)果越準(zhǔn)確。實(shí)驗(yàn)2 在Movielens數(shù)據(jù)集上,分別對(duì)提出的五個(gè)算法進(jìn)行計(jì)算,同實(shí)驗(yàn)1一樣,將MAE(圖3)和RMSE值(圖4)進(jìn)行比較,橫坐標(biāo)也按照梯度下降的迭代次數(shù)進(jìn)行設(shè)置,迭代次數(shù)分別為10、20、100次。為了方便實(shí)驗(yàn)結(jié)果與Filmtrust數(shù)據(jù)集實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,實(shí)驗(yàn)2中的其他設(shè)置與實(shí)驗(yàn)1相同。結(jié)果如圖3、圖4和表2所示

28、:圖3 各算法在Movielens數(shù)據(jù)集上MAE值比較Figure 3 Comparison of MAE between relevant recommendation algorithms on the Movielens dataset.圖4 各算法在Movielens數(shù)據(jù)集上RMSE值比較Figure 4 Comparison of RMSE between relevant recommendation algorithms on the Movielens dataset.表2 SO、WSO算法在Movielens數(shù)據(jù)集上MAE和RMSE值比較Table 2 Comparison

29、of MAE and RMSE between SO、WSO algorithms on the Movielens dataset.MAERMSESO0.7448660790.946691342WSO0.7408973390.940817242從圖3、圖4和表2分析得出,在Movielens數(shù)據(jù)集上,MAE和RMSE值的實(shí)驗(yàn)結(jié)果所呈現(xiàn)的趨勢(shì)與在Filmtrust數(shù)據(jù)集上一致,都呈現(xiàn)下降趨勢(shì)。隨著迭代次數(shù)的增多,改進(jìn)后的算法計(jì)算所得到的MAE和RMSE值,都比在Filmtrust數(shù)據(jù)集中所得的結(jié)果要好,算法穩(wěn)定性也略優(yōu)于Filmtrust數(shù)據(jù)集。與Filmtrust數(shù)據(jù)集中一樣,隨著迭代次數(shù)的

30、增多,LSO和LWSO1算法的性能一直很穩(wěn)定,迭代次數(shù)的多少對(duì)其產(chǎn)生的影響不大。本文提出的BLWSO2方法在Movielens數(shù)據(jù)集也能獲得較準(zhǔn)確的推薦結(jié)果。另外,各個(gè)算法在Movielens數(shù)據(jù)集上算法的收斂速度比Filmtrust慢,說(shuō)明本文提出的算法在數(shù)據(jù)稠密的情況下能獲得更好的結(jié)果和穩(wěn)定性。總體而言,BLWSO2算法相比本文提出的其他算法,MAE和RMSE值小很多,預(yù)測(cè)評(píng)分較準(zhǔn)確,推薦精度較高,預(yù)測(cè)質(zhì)量較好,具有良好的擴(kuò)展性。綜合圖1-4中LWSO1和LWSO2算法、BLWSO1和BLWSO2的算法結(jié)果可知,最小二乘法在不同的梯度下降方式中,所得的預(yù)測(cè)結(jié)果也是不同的,雖然變化趨勢(shì)一致,

31、但是第二種梯度下降方式明顯比第一種梯度下降方式所得的預(yù)測(cè)結(jié)果更加準(zhǔn)確,說(shuō)明了第二種梯度下降的選取方式更加合理,由于梯度間跨度較小,故算法的收斂速度變慢,變化趨勢(shì)更加明顯。6結(jié)束語(yǔ) 本文重點(diǎn)研究了加權(quán)Slope One算法改進(jìn),該算法在計(jì)算時(shí)并未對(duì)項(xiàng)目間相似度進(jìn)行詳細(xì)的劃分,同時(shí)考慮到基于模型的算法所得的結(jié)果普遍優(yōu)于基于內(nèi)存的算法,因此,本文在此基礎(chǔ)上分別提出了五種方法,并將文獻(xiàn)4中提出的SO和WSO算法與改進(jìn)后的五種算法在兩個(gè)數(shù)據(jù)集上分別進(jìn)行比較,實(shí)驗(yàn)表明,改進(jìn)后的五種算法相較于SO和WSO算法預(yù)測(cè)結(jié)果更為準(zhǔn)確。其中,BLWSO2算法的表現(xiàn)結(jié)果更為突出,預(yù)測(cè)結(jié)果好。同時(shí),本文也驗(yàn)證了最小二乘法

32、在不同的梯度下降的方式中所得的結(jié)果也是不同的,梯度間隔越小,數(shù)值選取越密集,算法的收斂速度越慢,趨勢(shì)變化越明顯,反之收斂速度變快。在未來(lái)的改進(jìn)中,如何將加權(quán)Slope One算法使用其他機(jī)器學(xué)習(xí)的算法進(jìn)行改進(jìn)并提高算法的預(yù)測(cè)精度,更好的在數(shù)據(jù)稀疏的情況下高效的進(jìn)行推薦,以及更合理滿足用戶偏好將是工作的中心和重點(diǎn)。References: 1 Xu Hai-ling, Wu Xiao, Li Xiao-dong, et al. Comparison study of Internet recommendation system J. Journal of Software, 2009, 20(2)

33、:350-362.2 Wang Peng, Wang Jing-Jing, Yu Neng-hai. A kernel and user-based collaborative filtering recommendation algorithmJ. Journal of Computer Research and Development, 2013, 50(7): 1444s-1451.3 Luo Jun, Zhu Wen-qi. User similarity function considering weight of items similarity J. Computer Engin

34、eer-ing and Applications, 2013.4 Lemire D, Maclachlan A. Slope One Predictors for Online Rating-Based Collaborative FilteringC. In: Proceedings of the Fifth SIAM International Conference on Data Mining, 2005, 471-480. 5 Wang P, Ye H W. A Personalized Recommendation Algorithm Combining Slope One Scheme and User Based Collaborative FilteringC. In: Proceedings of the 2009 International Conference on Industrial and Information Systems, 2009: 152-154. 6 Zhang D J. An Item

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論