999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MyMediaLite平臺的推薦方法探究

2018-02-07 18:08:56林楠楊文淵馬伊莉朱婷婷陳圣磊
軟件工程 2018年1期
關鍵詞:機器學習

林楠 楊文淵 馬伊莉 朱婷婷 陳圣磊

摘 要:推薦系統是互聯網和電子商務的產物。它是建立在對海量數據訓練的基礎上的一種智能平臺,能夠向顧客提供個性化的信息服務和決策。隨著電子商務大數據的高速發展,推薦系統正逐漸成為學術界的研究熱點之一。針對推薦系統理論性強、內容抽象的特點,本文介紹了以MyMediaLite為平臺的個性化推薦實踐方案,并詳細闡述了其具體的實施過程。通過介紹MyMediaLite的系統結構框架,以及分析基于MyMediaLite的實驗過程,為研究者使用MyMediaLite推薦系統庫進行算法研究奠定了基礎。

關鍵詞:個性化推薦;機器學習;MyMediaLite;推薦系統;協同過濾

中圖分類號:TP317 文獻標識碼:A

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 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 specific 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 recommendation;machine learning;Mymedialite;the recommendation system;collaborative

filtering

1 引言(Introduction)

互聯網的日益普及,使得電子商務成為人們生活中不可或缺的一部分。隨著大量商品和用戶群體的涌入,電子商務系統中的數據量呈爆炸式增長,這便使得推薦系統獲得了極大的發展空間。短時間內涌現出很多諸如SVDFeature[1]、MyMediaLite[2]、Apache Mahout[3]等知名的開源推薦系統。SVDFeature包含一個很靈活的Matrix Factorization推薦框架,能方便地實現奇異值分解(SVD)和改進的SVD++[4]等算法。Apache Mahout是一種能實現大多數分布式機器學習和數據挖掘的平臺。其中有一部分包含了推薦算法中的協同過濾算法,但大部分其他類型推薦算法并未涉及。MyMediaLite提供了多種項目預測和評級預測任務下先進的算法,以及為大多數推薦模型提供了增量式更新數據。與其他平臺相比,MyMediaLite囊括的算法與模型更加全面,對于推薦系統的系統學習和研究更有幫助。

2 MyMediaLite推薦系統庫(MyMediaLite

recommendation system library)

2.1 MyMediaLite簡介

MyMediaLite是由德國希爾德海姆大學基于微軟.NET平臺開發的輕量級、多用途、可拓展的推薦系統算法庫。它包含了包括SVD++算法、K-近鄰(KNN)[5]算法和直接優化物品排序的矩陣分解算法(BPRMF)[6]等在內的幾十個不同的推薦算法。除了提供了常見場景的推薦算法,MyMediaLite也有Social Matrix Factorization這樣獨特的功能。在實現方面,MyMediaLite推薦系統庫涉及了兩個最常見的任務:評級預測和項目預測。此外,精心設計的軟件框架可以使新算法的實現和評估更加容易。通過使用開源的Mono的項目,MyMediaLite可以在所有相關操作系統上使用。這個庫的使用不再僅限于C#,它可以很容易被其他語言如Ruby和Python調用。

2.2 推薦任務

2.2.1 評級預測

評級預測加載的評級是用戶偏好的顯式反饋(explicit feedback)。評級可以分為1—n級,例如1—5級,5級表示用戶十分喜歡,而1級則表示不喜歡。評級預測算法根據給定的已知評級集估算未知的評級,從而推薦系統可以根據預測的評級進行推薦。

MyMediaLite中包含的評級預測算法有:不同變種的K-近鄰(KNN)分類算法、簡單基線算法(Slop-One)[7]和矩陣分解算法(SVD++)等。

評級預測下的常用的準確性度量指標:RMSE(均方根誤差)和MAE(平均絕對誤差)。endprint

(1)RMSE:均方根誤差是均方誤差的算術平方根,如式(1)所示。其中observedt表示實際評級,predictedt表示預測評級。均方根誤差常用于衡量推薦結果與實際結果的離散程度。均方根誤差越大,表明推薦結果與實際結果離散程度越大,推薦算法越不精準。均方根誤差越小,表明推薦結果與實際結果的離散程度越小,推薦算法精度越高。

2.2.2 項目預測

與評級預測不同的是,項目預測加載的數據是用戶偏好的隱式反饋(implicit feedback),如用戶瀏覽頁面的時間、轉發行為、購買等。購買商品或者長時間瀏覽某個商品的頁面的行為可以很好地從側面體現出用戶的偏好。現實生活中的大多數推薦系統(如電子商務等)也往往并不依賴評級,它們往往根據用戶的歷史行為推測出用戶的偏好,從而推薦出與用戶偏好相一致的產品。

MyMediaLite中包含的項目預測算法有:K-近鄰分類算法、簡單基線算法(Random,MostPopular)、矩陣分解算法(BPR-MF,WR-MF)等。

項目預測下常用的準確性度量指標有:prec@N和AUC。

(1)prec@N(precision at N): 推薦準確率表示算法推薦成功的比率,如式(3)所示。其中test表示測試集,top-N表示系統推薦給用戶的N個項目。

(2)AUC(Area Under the ROC Curve):AUC被定義為ROC曲線下的面積。ROC(Receiver Operating Characteristic)有兩個指標:sensitivity(敏感度)和Specificity(特異度)[8]。前者為任選一個用戶喜歡的項目,該項目被系統推薦的概率;后者為任選一個用戶不喜歡的項目,該項目未被系統推薦的概率。設定一個域值,項目被正確推薦的概率大于域值的,認為是用戶喜歡的項目;概率小于域值的,認為是用戶不喜歡的項目。圖1所示為ROC曲線,縱坐標Sensitivity,橫坐標為1-specificity。

Sensitivity值在0到1之間變化,給定一個域值,就對應圖中左上角的曲線上的一個點。圖中穿過原點和(1,1)點的直線表示一個隨機推薦的系統,即任選一個用戶喜歡的項目,該項目被系統推薦的概率為0.5。由圖1可知,曲線越向左上角靠近,則AUC越大,說明推薦系統的推薦精度越高,反之則越低。

3 基于MyMediaLite的實驗過程(Experimental

process based on MyMediaLite)

由于MyMediaLite使用C#進行編寫和Windows的廣泛使用,本次實驗將使用Visual Studio 2010的開發環境進行實驗。

3.1 數據選取

本次實驗我們使用的是推薦系統研究中權威的測試集MoiveLens-100k。數據集一共記錄了943名用戶對于1682部電影的100000條評級記錄(1—5)。其中每名用戶至少評論過20部電影。

其中u.base文件中記錄的是數據集中完整的數據。它是一個制表符分隔數據的列表,每一行的數據包含用戶ID、項目、評級、時間戳。u1.base和u1.test到u5.base和u5.test則是將u.base中的完整數據按照80%/20%的比率分割成的5組訓練數據與比對數據。ua.base、ua.test和ub.base、ub.test則是按照將每個用戶10%的評級加入比對數據的規則進行分割得到的訓練數據和比對數據。訓練數據(.base)用于訓練模型,從而得到用戶的偏好,而比對數據(.test)則用于測試推薦系統推薦的精準度。

需要注意的是,將MoiveLens數據集用于MyMediaLite時,RatingPrediction下的算法將截取前三列作為數據(用戶、項目、評分),而ItemRecommender下的算法將只取前兩列作為數據(用戶、項目)。

3.2 運行配置

MyMediaLite推薦系統庫是以C#源碼的形式提供給用戶使用的,它實際上是一個依賴于.NET框架的程序集。雖然源代碼的形式可以讓我們深入了解算法底層的細節,從而根據業務的場景進行算法配置和調優,但這樣無疑增加了很多使用難度。在使用MyMediaLite進行推薦實驗之前,我們需要進行相關的配置。

3.2.1 引用的動態鏈接庫文件

打開程序集中源碼(src)文件夾下的解決方案文件MyMediaLite.sln,則可以在VS2010中查看MyMediaLite的解決方案。通過項目MyMediaLite,可以對MyMediaLite推薦算法庫中算法的源碼進行查看。

MyMediaLite項目需要四個類庫文件的支持:C5、MathNet.Numerics、MathNet.Numerics.IO和Mono.Posix。

需要注意的是,MyMediaLite推薦算法庫的發行版不會自帶Mono.Posix的庫文件,需要用戶自行下載并引用,否則項目將無法通過之后的編譯。

3.2.2 動態鏈接庫文件的生成

將MyMediaLite項目生成,之后便可以在src/MyMediaLite/bin/Debug目錄下找到生成的MyMediaLite.dll、MyMediaLite.pdb和項目引用的庫文件。

動態鏈接庫文件(.dll)為我們使用MyMediaLite推薦系統庫提供了應用程序接口。調試配置文件(.pdb)可以為我們的應用程序和源碼之間建起一座橋梁,它將讓我們在調試時準確定位到源碼。

3.3 新建實驗項目

使用C#新建一個控制臺程序,在項目中引用MyMediaLite.dll,然后在主函數中輸入相應代碼(以評級預測任務中的SVD++為例),源代碼如下所示。該代碼展示了使用MyMediaLite推薦系統庫的常見步驟;(1)加載數據;(2)建立推薦系統模型;(3)訓練數據;(4)得出推薦結果。endprint

3.4 參數設置

接下來設置程序的命令行參數,將一組訓練數據與比對數據作為參數傳入到應用程序中。在項目屬性中選擇調試,將啟動選項的工作目錄選定為MoiveLens數據集的文件地址,命令行參數選擇u1.base文件和u1.test文件(以空格隔開),這樣就能順利地把訓練數據和比對數據加載到應用程序中。

3.5 結果分析

運行應用程序的結果如圖2所示。由結果可知,通過對訓練數據集u1.base的訓練,以及與比對數據集u1.test的比對,推薦算法SVD++推薦的均方誤差(RMSE)為0.9701232,平均絕對誤差(MAE)為0.7696601。根據用戶的偏好模型,推薦算法SVD++給出了用戶1對項目1的預測評級4.022615,以及用戶1預測評級最高的20個商品的編號和相應的評級。

4 結論(Conclusion)

個性化推薦系統具有理論性強、方法繁多、實踐困難等特點。使用諸如MyMediaLite推薦算法庫這類開源的平臺,能夠幫助使用者更加全面、深入、系統地學習推薦系統。但隨著個性化推薦系統研究的深入和技術的快速提升,僅僅局限于學習MyMediaLite推薦系統庫中的推薦方法還是不夠的,我們將繼續深入研究,以改進MyMediaLite中的算法。

參考文獻(References)

[1] Chen T,Zhang W,Lu Q,et al.SVDFeature:a toolkit for feature-based collaborative filtering[J].Journal of Machine Learning Research(JMLR),2012,13(1):3619-3622.

[2] Gantner Z,Rendle S,Freudenthaler C,et al.MyMediaLite:a free recommender system library[C].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 framework[C].Conference on Computers and People Research(SIGMIS-CPR),2013:153-158.

[4] Koren Y.Factorization meets the neighborhood:a multifaceted collaborative filtering model[C].ACM SIGKDD International Conference on Knowledge Discovery and Data Mining(SIGKDD),2008:426-434.

[5] 張著英,黃玉龍,王翰虎.一個高效的KNN分類算法[J].計算機科學,2008,35(3):170-172.

[6] Salakhutdinov R,Mnih A.Bayesian probabilistic matrix factorization using Markov chain Monte Carlo[C].International Conference on Machine Learning(ICML),2008:880-887.

[7] Lemire D,Maclachlan A.Slope One Predictors for Online Rating-Based Collaborative Filtering[J].Computer Science,

2005:21-23.

[8] Yang Y,Liu X.A re-examination of text catego rization methods[C].In:Proceedings of ACM SIGIR Conference on Research and Development in Information Retrieval(SIGIR),

1999:42-49.

作者簡介:

林 楠(1997-),男,本科生.研究領域:推薦系統.

楊文淵(1994-),男,本科生.研究領域:軟件工程.

馬伊莉(1997-),女,本科生.研究領域:前端開發.

朱婷婷(1997-),女,本科生.研究領域:前端開發.

陳圣磊(1977-),男,博士,副教授.研究領域:機器學習,數據挖掘.endprint

猜你喜歡
機器學習
基于詞典與機器學習的中文微博情感分析
基于網絡搜索數據的平遙旅游客流量預測分析
時代金融(2016年27期)2016-11-25 17:51:36
前綴字母為特征在維吾爾語文本情感分類中的研究
科教導刊(2016年26期)2016-11-15 20:19:33
下一代廣播電視網中“人工智能”的應用
活力(2016年8期)2016-11-12 17:30:08
基于支持向量機的金融數據分析研究
基于Spark的大數據計算模型
基于樸素貝葉斯算法的垃圾短信智能識別系統
基于圖的半監督學習方法綜述
機器學習理論在高中自主學習中的應用
極限學習機在圖像分割中的應用
主站蜘蛛池模板: 国产精品2| 成人午夜亚洲影视在线观看| 深夜福利视频一区二区| 国产网站免费看| 欧美色视频网站| 国产一区二区免费播放| 精品国产网站| 国产成人免费手机在线观看视频| 国产激情第一页| 国产精品无码在线看| 青草视频网站在线观看| 国产精品男人的天堂| 成人免费午夜视频| 国产黄色片在线看| 国产精品99一区不卡| AV无码一区二区三区四区| 国产在线观看第二页| 嫩草国产在线| 成人国产精品网站在线看| 国产精品夜夜嗨视频免费视频 | 日韩视频福利| 国产小视频免费| 九九这里只有精品视频| 国产欧美精品专区一区二区| 亚洲欧美日韩另类在线一| 亚洲综合二区| 二级特黄绝大片免费视频大片| 噜噜噜久久| 午夜毛片免费看| 亚洲人成在线精品| 在线观看国产精品日本不卡网| 久久免费视频6| 全午夜免费一级毛片| 欧美成人看片一区二区三区| 日韩精品毛片| 欧美色伊人| 中日韩一区二区三区中文免费视频 | 日韩成人高清无码| 欧美激情视频二区| 九九久久精品免费观看| 国产在线欧美| 国产偷国产偷在线高清| 亚洲天堂成人| 国产在线视频自拍| 久久久久无码国产精品不卡| 日韩精品一区二区三区视频免费看| 97久久人人超碰国产精品| 国产主播在线一区| 永久免费精品视频| 国产白浆在线| 国产免费怡红院视频| 国产素人在线| 操国产美女| 亚洲第一区精品日韩在线播放| 好紧太爽了视频免费无码| 国产美女在线观看| 88av在线播放| 伊人天堂网| 十八禁美女裸体网站| 欧美日韩北条麻妃一区二区| 精品欧美日韩国产日漫一区不卡| 亚国产欧美在线人成| 青青久视频| 蜜芽一区二区国产精品| 国产精品永久久久久| 91九色视频网| 亚洲精品国产成人7777| 免费无码AV片在线观看国产| 四虎永久免费地址| 毛片在线播放a| 一级香蕉视频在线观看| 成人福利在线免费观看| a毛片免费观看| 1769国产精品免费视频| 成人在线观看不卡| 在线无码av一区二区三区| 亚洲黄色片免费看| 亚洲伊人久久精品影院| 香蕉久久永久视频| 91在线国内在线播放老师| av色爱 天堂网| 在线高清亚洲精品二区|