版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)劃類別 項(xiàng)目編號(hào) 項(xiàng)目技術(shù)報(bào)告課題名稱 項(xiàng)目主持人 承擔(dān)單位 題目:基于MyMediaLite平臺(tái)的推薦方法探究推薦系統(tǒng)是互聯(lián)網(wǎng)和電子商務(wù)的產(chǎn)物。它是建立在對(duì)海量數(shù)據(jù)訓(xùn)練的基礎(chǔ)上的一種智能平臺(tái),能夠向顧客提供個(gè)性化的信息服務(wù)和決策。隨著電子商務(wù)大數(shù)據(jù)的高速發(fā)展,推薦系統(tǒng)正逐漸成為學(xué)術(shù)界的研究熱點(diǎn)之一。針對(duì)推薦系統(tǒng)理論性強(qiáng)、內(nèi)容抽象的特點(diǎn),本文介紹了以MyMediaLite為平臺(tái)的個(gè)性化推薦實(shí)踐方案,并詳細(xì)闡述了其具體的實(shí)施過(guò)程。通過(guò)介紹MyMediaLite的系統(tǒng)結(jié)構(gòu)框架,以及分析基于MyMediaLite的實(shí)驗(yàn)過(guò)程,為研究者使用MyMediaLite推薦系統(tǒng)庫(kù)進(jìn)行算法研究奠定了基礎(chǔ)。關(guān)鍵詞
2、:個(gè)性化推薦;機(jī)器學(xué)習(xí);MyMediaLite;推薦系統(tǒng);協(xié)同過(guò)濾Abstract:The recommendation system is the product of Internet and e-commerce.It is an intelligent platform built on the basis of massive data training.It provides personalized information service and decision-making to customers.With the rapid development of big data
3、 in electronic commerce,the recommendation system is becoming one of the hot topics in the academic field.In view of the highly theoretical and abstract nature of the recommendation system,this paper introduces the personalized recommending practice scheme based on MyMediaLite,and expounds its speci
4、fic implementation process in detail.By introducing the system framework of MyMediaLite and analyzing the experimental process based on MyMediaLite,it establishes a foundation for researchers to conduct studies on the algorithms with MyMediaLite recommendation system library.Keywords:personalized re
5、commendation;machine learning;Mymedialite;the recommendation system;collaborativefiltering1 引言(Introduction)互聯(lián)網(wǎng)的日益普及,使得電子商務(wù)成為人們生活中不可或缺的一部分。隨著大量商品和用戶群體的涌入,電子商務(wù)系統(tǒng)中的數(shù)據(jù)量呈爆炸式增長(zhǎng),這便使得推薦系統(tǒng)獲得了極大的發(fā)展空間。短時(shí)間內(nèi)涌現(xiàn)出很多諸如SVDFeature1、MyMediaLite2、Apache Mahout3等知名的開(kāi)源推薦系統(tǒng)。SVDFeature包含一個(gè)很靈活的Matrix Factorization推薦框架,能方便地實(shí)
6、現(xiàn)奇異值分解(SVD)和改進(jìn)的SVD+4等算法。Apache Mahout是一種能實(shí)現(xiàn)大多數(shù)分布式機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘的平臺(tái)。其中有一部分包含了推薦算法中的協(xié)同過(guò)濾算法,但大部分其他類型推薦算法并未涉及。MyMediaLite提供了多種項(xiàng)目預(yù)測(cè)和評(píng)級(jí)預(yù)測(cè)任務(wù)下先進(jìn)的算法,以及為大多數(shù)推薦模型提供了增量式更新數(shù)據(jù)。與其他平臺(tái)相比,MyMediaLite囊括的算法與模型更加全面,對(duì)于推薦系統(tǒng)的系統(tǒng)學(xué)習(xí)和研究更有幫助。2 MyMediaLite推薦系統(tǒng)庫(kù)(MyMediaLiterecommendation system library)2.1 MyMediaLite簡(jiǎn)介MyMediaLite是由德國(guó)希
7、爾德海姆大學(xué)基于微軟.NET平臺(tái)開(kāi)發(fā)的輕量級(jí)、多用途、可拓展的推薦系統(tǒng)算法庫(kù)。它包含了包括SVD+算法、K-近鄰(KNN)5算法和直接優(yōu)化物品排序的矩陣分解算法(BPRMF)6等在內(nèi)的幾十個(gè)不同的推薦算法。除了提供了常見(jiàn)場(chǎng)景的推薦算法,MyMediaLite也有Social Matrix Factorization這樣獨(dú)特的功能。在實(shí)現(xiàn)方面,MyMediaLite推薦系統(tǒng)庫(kù)涉及了兩個(gè)最常見(jiàn)的任務(wù):評(píng)級(jí)預(yù)測(cè)和項(xiàng)目預(yù)測(cè)。此外,精心設(shè)計(jì)的軟件框架可以使新算法的實(shí)現(xiàn)和評(píng)估更加容易。通過(guò)使用開(kāi)源的Mono的項(xiàng)目,MyMediaLite可以在所有相關(guān)操作系統(tǒng)上使用。這個(gè)庫(kù)的使用不再僅限于C#,它可以很容易
8、被其他語(yǔ)言如Ruby和Python調(diào)用。2.2 推薦任務(wù)2.2.1 評(píng)級(jí)預(yù)測(cè)評(píng)級(jí)預(yù)測(cè)加載的評(píng)級(jí)是用戶偏好的顯式反饋(explicit feedback)。評(píng)級(jí)可以分為1n級(jí),例如15級(jí),5級(jí)表示用戶十分喜歡,而1級(jí)則表示不喜歡。評(píng)級(jí)預(yù)測(cè)算法根據(jù)給定的已知評(píng)級(jí)集估算未知的評(píng)級(jí),從而推薦系統(tǒng)可以根據(jù)預(yù)測(cè)的評(píng)級(jí)進(jìn)行推薦。MyMediaLite中包含的評(píng)級(jí)預(yù)測(cè)算法有:不同變種的K-近鄰(KNN)分類算法、簡(jiǎn)單基線算法(Slop-One)7和矩陣分解算法(SVD+)等。評(píng)級(jí)預(yù)測(cè)下的常用的準(zhǔn)確性度量指標(biāo):RMSE(均方根誤差)和MAE(平均絕對(duì)誤差)。endprint(1)RMSE:均方根誤差是均方誤差的
9、算術(shù)平方根,如式(1)所示。其中observedt表示實(shí)際評(píng)級(jí),predictedt表示預(yù)測(cè)評(píng)級(jí)。均方根誤差常用于衡量推薦結(jié)果與實(shí)際結(jié)果的離散程度。均方根誤差越大,表明推薦結(jié)果與實(shí)際結(jié)果離散程度越大,推薦算法越不精準(zhǔn)。均方根誤差越小,表明推薦結(jié)果與實(shí)際結(jié)果的離散程度越小,推薦算法精度越高。2.2.2 項(xiàng)目預(yù)測(cè)與評(píng)級(jí)預(yù)測(cè)不同的是,項(xiàng)目預(yù)測(cè)加載的數(shù)據(jù)是用戶偏好的隱式反饋(implicit feedback),如用戶瀏覽頁(yè)面的時(shí)間、轉(zhuǎn)發(fā)行為、購(gòu)買等。購(gòu)買商品或者長(zhǎng)時(shí)間瀏覽某個(gè)商品的頁(yè)面的行為可以很好地從側(cè)面體現(xiàn)出用戶的偏好。現(xiàn)實(shí)生活中的大多數(shù)推薦系統(tǒng)(如電子商務(wù)等)也往往并不依賴評(píng)級(jí),它們往往根據(jù)用
10、戶的歷史行為推測(cè)出用戶的偏好,從而推薦出與用戶偏好相一致的產(chǎn)品。MyMediaLite中包含的項(xiàng)目預(yù)測(cè)算法有:K-近鄰分類算法、簡(jiǎn)單基線算法(Random,MostPopular)、矩陣分解算法(BPR-MF,WR-MF)等。項(xiàng)目預(yù)測(cè)下常用的準(zhǔn)確性度量指標(biāo)有:precN和AUC。(1)precN(precision at N): 推薦準(zhǔn)確率表示算法推薦成功的比率,如式(3)所示。其中test表示測(cè)試集,top-N表示系統(tǒng)推薦給用戶的N個(gè)項(xiàng)目。(2)AUC(Area Under the ROC Curve):AUC被定義為ROC曲線下的面積。ROC(Receiver Operating Char
11、acteristic)有兩個(gè)指標(biāo):sensitivity(敏感度)和Specificity(特異度)8。前者為任選一個(gè)用戶喜歡的項(xiàng)目,該項(xiàng)目被系統(tǒng)推薦的概率;后者為任選一個(gè)用戶不喜歡的項(xiàng)目,該項(xiàng)目未被系統(tǒng)推薦的概率。設(shè)定一個(gè)域值,項(xiàng)目被正確推薦的概率大于域值的,認(rèn)為是用戶喜歡的項(xiàng)目;概率小于域值的,認(rèn)為是用戶不喜歡的項(xiàng)目。圖1所示為ROC曲線,縱坐標(biāo)Sensitivity,橫坐標(biāo)為1-specificity。Sensitivity值在0到1之間變化,給定一個(gè)域值,就對(duì)應(yīng)圖中左上角的曲線上的一個(gè)點(diǎn)。圖中穿過(guò)原點(diǎn)和(1,1)點(diǎn)的直線表示一個(gè)隨機(jī)推薦的系統(tǒng),即任選一個(gè)用戶喜歡的項(xiàng)目,該項(xiàng)目被系統(tǒng)推薦
12、的概率為0.5。由圖1可知,曲線越向左上角靠近,則AUC越大,說(shuō)明推薦系統(tǒng)的推薦精度越高,反之則越低。3 基于MyMediaLite的實(shí)驗(yàn)過(guò)程(Experimentalprocess based on MyMediaLite)由于MyMediaLite使用C#進(jìn)行編寫(xiě)和Windows的廣泛使用,本次實(shí)驗(yàn)將使用Visual Studio 2010的開(kāi)發(fā)環(huán)境進(jìn)行實(shí)驗(yàn)。3.1 數(shù)據(jù)選取本次實(shí)驗(yàn)我們使用的是推薦系統(tǒng)研究中權(quán)威的測(cè)試集MoiveLens-100k。數(shù)據(jù)集一共記錄了943名用戶對(duì)于1682部電影的100000條評(píng)級(jí)記錄(15)。其中每名用戶至少評(píng)論過(guò)20部電影。其中u.base文件中記錄的
13、是數(shù)據(jù)集中完整的數(shù)據(jù)。它是一個(gè)制表符分隔數(shù)據(jù)的列表,每一行的數(shù)據(jù)包含用戶ID、項(xiàng)目、評(píng)級(jí)、時(shí)間戳。u1.base和u1.test到u5.base和u5.test則是將u.base中的完整數(shù)據(jù)按照80%/20%的比率分割成的5組訓(xùn)練數(shù)據(jù)與比對(duì)數(shù)據(jù)。ua.base、ua.test和ub.base、ub.test則是按照將每個(gè)用戶10%的評(píng)級(jí)加入比對(duì)數(shù)據(jù)的規(guī)則進(jìn)行分割得到的訓(xùn)練數(shù)據(jù)和比對(duì)數(shù)據(jù)。訓(xùn)練數(shù)據(jù)(.base)用于訓(xùn)練模型,從而得到用戶的偏好,而比對(duì)數(shù)據(jù)(.test)則用于測(cè)試推薦系統(tǒng)推薦的精準(zhǔn)度。需要注意的是,將MoiveLens數(shù)據(jù)集用于MyMediaLite時(shí),RatingPredicti
14、on下的算法將截取前三列作為數(shù)據(jù)(用戶、項(xiàng)目、評(píng)分),而ItemRecommender下的算法將只取前兩列作為數(shù)據(jù)(用戶、項(xiàng)目)。3.2 運(yùn)行配置MyMediaLite推薦系統(tǒng)庫(kù)是以C#源碼的形式提供給用戶使用的,它實(shí)際上是一個(gè)依賴于.NET框架的程序集。雖然源代碼的形式可以讓我們深入了解算法底層的細(xì)節(jié),從而根據(jù)業(yè)務(wù)的場(chǎng)景進(jìn)行算法配置和調(diào)優(yōu),但這樣無(wú)疑增加了很多使用難度。在使用MyMediaLite進(jìn)行推薦實(shí)驗(yàn)之前,我們需要進(jìn)行相關(guān)的配置。3.2.1 引用的動(dòng)態(tài)鏈接庫(kù)文件打開(kāi)程序集中源碼(src)文件夾下的解決方案文件MyMediaLite.sln,則可以在VS2010中查看MyMediaLi
15、te的解決方案。通過(guò)項(xiàng)目MyMediaLite,可以對(duì)MyMediaLite推薦算法庫(kù)中算法的源碼進(jìn)行查看。MyMediaLite項(xiàng)目需要四個(gè)類庫(kù)文件的支持:C5、MathNet.Numerics、MathNet.Numerics.IO和Mono.Posix。需要注意的是,MyMediaLite推薦算法庫(kù)的發(fā)行版不會(huì)自帶Mono.Posix的庫(kù)文件,需要用戶自行下載并引用,否則項(xiàng)目將無(wú)法通過(guò)之后的編譯。3.2.2 動(dòng)態(tài)鏈接庫(kù)文件的生成將MyMediaLite項(xiàng)目生成,之后便可以在src/MyMediaLite/bin/Debug目錄下找到生成的MyMediaLite.dll、MyMediaLi
16、te.pdb和項(xiàng)目引用的庫(kù)文件。動(dòng)態(tài)鏈接庫(kù)文件(.dll)為我們使用MyMediaLite推薦系統(tǒng)庫(kù)提供了應(yīng)用程序接口。調(diào)試配置文件(.pdb)可以為我們的應(yīng)用程序和源碼之間建起一座橋梁,它將讓我們?cè)谡{(diào)試時(shí)準(zhǔn)確定位到源碼。3.3 新建實(shí)驗(yàn)項(xiàng)目使用C#新建一個(gè)控制臺(tái)程序,在項(xiàng)目中引用MyMediaLite.dll,然后在主函數(shù)中輸入相應(yīng)代碼(以評(píng)級(jí)預(yù)測(cè)任務(wù)中的SVD+為例),源代碼如下所示。該代碼展示了使用MyMediaLite推薦系統(tǒng)庫(kù)的常見(jiàn)步驟;(1)加載數(shù)據(jù);(2)建立推薦系統(tǒng)模型;(3)訓(xùn)練數(shù)據(jù);(4)得出推薦結(jié)果。endprint3.4 參數(shù)設(shè)置接下來(lái)設(shè)置程序的命令行參數(shù),將一組訓(xùn)練數(shù)
17、據(jù)與比對(duì)數(shù)據(jù)作為參數(shù)傳入到應(yīng)用程序中。在項(xiàng)目屬性中選擇調(diào)試,將啟動(dòng)選項(xiàng)的工作目錄選定為MoiveLens數(shù)據(jù)集的文件地址,命令行參數(shù)選擇u1.base文件和u1.test文件(以空格隔開(kāi)),這樣就能順利地把訓(xùn)練數(shù)據(jù)和比對(duì)數(shù)據(jù)加載到應(yīng)用程序中。3.5 結(jié)果分析運(yùn)行應(yīng)用程序的結(jié)果如圖2所示。由結(jié)果可知,通過(guò)對(duì)訓(xùn)練數(shù)據(jù)集u1.base的訓(xùn)練,以及與比對(duì)數(shù)據(jù)集u1.test的比對(duì),推薦算法SVD+推薦的均方誤差(RMSE)為0.9701232,平均絕對(duì)誤差(MAE)為0.7696601。根據(jù)用戶的偏好模型,推薦算法SVD+給出了用戶1對(duì)項(xiàng)目1的預(yù)測(cè)評(píng)級(jí)4.022615,以及用戶1預(yù)測(cè)評(píng)級(jí)最高的20個(gè)商
18、品的編號(hào)和相應(yīng)的評(píng)級(jí)。4 結(jié)論(Conclusion)個(gè)性化推薦系統(tǒng)具有理論性強(qiáng)、方法繁多、實(shí)踐困難等特點(diǎn)。使用諸如MyMediaLite推薦算法庫(kù)這類開(kāi)源的平臺(tái),能夠幫助使用者更加全面、深入、系統(tǒng)地學(xué)習(xí)推薦系統(tǒng)。但隨著個(gè)性化推薦系統(tǒng)研究的深入和技術(shù)的快速提升,僅僅局限于學(xué)習(xí)MyMediaLite推薦系統(tǒng)庫(kù)中的推薦方法還是不夠的,我們將繼續(xù)深入研究,以改進(jìn)MyMediaLite中的算法。參考文獻(xiàn)(References)1 Chen T,Zhang W,Lu Q,et al.SVDFeature:a toolkit for feature-based collaborative filterin
19、gJ.Journal of Machine Learning Research(JMLR),2012,13(1):3619-3622.2 Gantner Z,Rendle S,F(xiàn)reudenthaler C,et al.MyMediaLite:a free recommender system libraryC.ACM Conference on Recommender Systems(RecSys),2011:305-308.3 Sadafale K,Sadafale K.An online recommendation system for e-commerce based on apache mahout frameworkC.Conference on Computers and People Research(SIGMIS-CPR),2013:153-158.4 Koren Y.Factorization meets the neighborhood:a multif
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 平房出租合同協(xié)議
- 工程量合同范本
- 建筑出租合同范本
- 征拆協(xié)助協(xié)議書(shū)
- 蕪湖光伏協(xié)議書(shū)
- 2025廣東工業(yè)大學(xué)物理與光電工程學(xué)院高層次人才招聘?jìng)淇己诵脑囶}附答案解析
- 學(xué)生自殺協(xié)議書(shū)
- 莊稼管護(hù)協(xié)議書(shū)
- 贈(zèng)與小孩協(xié)議書(shū)
- 裝修補(bǔ)充協(xié)議書(shū)
- 10Kv電力變壓器試驗(yàn)報(bào)告
- 市政工程試驗(yàn)檢測(cè)培訓(xùn)教程
- 寧夏調(diào)味料項(xiàng)目可行性研究報(bào)告
- GRR計(jì)算表格模板
- 長(zhǎng)沙市長(zhǎng)郡雙語(yǔ)實(shí)驗(yàn)學(xué)校人教版七年級(jí)上冊(cè)期中生物期中試卷及答案
- 馬克思主義經(jīng)典著作選讀智慧樹(shù)知到課后章節(jié)答案2023年下四川大學(xué)
- GB/T 19867.1-2005電弧焊焊接工藝規(guī)程
- GB/T 16102-1995車間空氣中硝基苯的鹽酸萘乙二胺分光光度測(cè)定方法
- GB/T 15171-1994軟包裝件密封性能試驗(yàn)方法
- 醫(yī)院轉(zhuǎn)院證明樣本圖片(范文四篇)
- 外科護(hù)理學(xué)期末試卷3套18p
評(píng)論
0/150
提交評(píng)論