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),如用戶瀏覽頁面的時間、轉發行為、購買等。購買商品或者長時間瀏覽某個商品的頁面的行為可以很好地從側面體現出用戶的偏好?,F實生活中的大多數推薦系統(如電子商務等)也往往并不依賴評級,它們往往根據用戶的歷史行為推測出用戶的偏好,從而推薦出與用戶偏好相一致的產品。

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的大數據計算模型
基于樸素貝葉斯算法的垃圾短信智能識別系統
基于圖的半監督學習方法綜述
機器學習理論在高中自主學習中的應用
極限學習機在圖像分割中的應用
主站蜘蛛池模板: 国产精品99久久久| 免费一级毛片在线播放傲雪网| www欧美在线观看| 麻豆精选在线| 国产青榴视频| 日韩 欧美 小说 综合网 另类| 真实国产乱子伦高清| 久久无码高潮喷水| 中国国产A一级毛片| 欧美在线一二区| 国产成人超碰无码| 亚洲一区二区约美女探花| 天天躁夜夜躁狠狠躁图片| 97狠狠操| 亚洲国产成人自拍| 亚洲成A人V欧美综合| 久久www视频| 中文字幕永久在线看| 国模粉嫩小泬视频在线观看| 国产大片喷水在线在线视频| 亚洲欧美成人综合| 99re热精品视频国产免费| 欧美成人亚洲综合精品欧美激情| 91在线精品免费免费播放| 国产第一色| 欧美另类图片视频无弹跳第一页| 国产成人一级| 老色鬼欧美精品| 欧美一区二区啪啪| 欧美 亚洲 日韩 国产| 日韩毛片免费| 狠狠躁天天躁夜夜躁婷婷| 九九热在线视频| 国产精品亚欧美一区二区| 国产av无码日韩av无码网站| 国产福利拍拍拍| 国产成人你懂的在线观看| 亚洲欧洲日本在线| 国产日产欧美精品| 日韩国产另类| 国产69囗曝护士吞精在线视频| 婷婷激情五月网| 亚洲成人在线免费观看| 精品伊人久久久久7777人| 国产区精品高清在线观看| 老司机午夜精品视频你懂的| 成年看免费观看视频拍拍| 无码精品福利一区二区三区| 免费看av在线网站网址| 在线观看视频99| 丰满人妻中出白浆| 久久综合国产乱子免费| www中文字幕在线观看| 国内嫩模私拍精品视频| 色婷婷色丁香| 色婷婷丁香| 国产成a人片在线播放| 中文字幕无码电影| 国产第一色| 国产成人做受免费视频| 欧美h在线观看| 在线播放91| 日韩免费毛片视频| 国产成人高清在线精品| 日韩第九页| 为你提供最新久久精品久久综合| 日韩第一页在线| 无码国产伊人| 五月婷婷欧美| 亚洲AV无码一区二区三区牲色| 午夜爽爽视频| 伊人精品视频免费在线| 国产精品一区不卡| 亚洲视频在线青青| 久久精品国产亚洲AV忘忧草18| 亚洲精品动漫| 朝桐光一区二区| 极品尤物av美乳在线观看| 玩两个丰满老熟女久久网| 茄子视频毛片免费观看| 国产69精品久久久久妇女| 国产天天射|