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

基于Mahout的新用戶推薦算法的設計與實現*

2015-09-22 06:19:49高獻衛師智斌
計算機工程與科學 2015年8期
關鍵詞:用戶系統

高獻衛,師智斌

(中北大學計算機與控制工程學院,山西 太原 030051)

基于Mahout的新用戶推薦算法的設計與實現*

高獻衛,師智斌

(中北大學計算機與控制工程學院,山西 太原 030051)

為了解決大數據背景下新用戶因沒有歷史數據而導致推薦難和推薦效率低等問題,提出將基于Mahout的協同過濾算法與基于Map Reduce的Top N算法相結合的技術方法,來實現新用戶推薦算法,從而構建新用戶推薦系統的架構,并對Hadoop Top N算法以及Mahout中協同過濾算法進行設計與實現。理論分析和實驗驗證表明,該新用戶推薦算法在推薦效率、對大規模數據處理的伸縮性以及推薦質量上都明顯優于單獨使用協同過濾算法的新用戶推薦。

新用戶推薦;Mahout;推薦系統;Hadoop;大數據

1 引言

隨著Internet和IT(Information Technology),特別是社交網絡SNS(Social Networking Services)、電子商務E-commerce和基于位置的服務LBS(Location Based Services)的快速發展,以及云物移大智(云計算、物聯網、移動互聯網和智慧城市)等新概念和新技術的出現,數據增長的速度很快。用戶獲取信息很困難,從而引起“信息過載”問題。有許多網絡應用(如門戶網站,百度、谷歌等搜索引擎),追根究底是幫助用戶過濾無用信息。然而,這些所謂的工具,只能滿足非個性化的需求,對于個性化需求卻無法滿足。所以,作為“個性化服務”[1,2]的一個分支——推薦系統[3~6],通 過分析“用戶-項目”之間的二元關系,幫助用戶找到感興趣的項目。目前,推薦系統有了巨大的進步,應用在電子商務、信息檢索、移動應用、電子旅游、網絡廣告等方面。

同時,由于數據來源的多樣性(互聯網日志、傳感器數據和移動互聯網等)和數據種類的繁多(結構化、半結構化和非結構化等),推薦系統數據的存儲和并行計算經受了嚴重的考驗。困擾人們多年的大數據存儲和并行計算問題,在Hadoop分布式計算框架出現后,得到了有效的解決。

然而,實現推薦系統算法是一件很費力的事情,Mahout的出現解決了這個問題。Mahout是Apache Software Foundation旗下的頂級開源項目,它由Lucene衍生而來,同時也是基于Hadoop框架的,主要包含數據挖掘、機器學習、推薦系統等若干算法庫,旨在幫助開發人員更加方便快捷地開發智能應用程序。

國內外主要的傳統推薦系統的算法都是基于歷史數據進行推薦,國內外主要采用的方法有三種:一是協同過濾推薦方法[5],發現新異興趣,不依賴于領域知識,但是卻依賴于歷史數據。二是新用戶標簽推薦方法[7],個性化標簽間接地反映用戶的興趣,然而卻存在伸縮性、稀疏性和冷啟動等典型的問題。三是協同過濾和小世界模型新用戶推薦方法[8],使得新用戶能夠找到與自己更類似的群組,然而在算法的融合上,推薦質量和效果不是很明顯。而且很少推薦系統是基于Mahout實現的。

本文創新地結合了Top N算法和協同過濾算法,推出了基于大數據量的新用戶推薦算法,從而解決了新用戶推薦難、效率不高、推薦不匹配等問題。并通過約會對象推薦系統來驗證了其有效性和伸縮性。

2 相關技術介紹

2.1 主要推薦算法

推薦算法主要包括[9]:協同過濾推薦(Collaborative Filtering Recommendation)、基于內容的推薦(Content-Based Recommendation)、基于知識的推薦(Knowledge-based Recommendation)和混合推薦(Hybrid Recommendation)。其優缺點綜合比較[10]見表1。

2.2 分布式與存儲技術——Hadoop

Google發布的關于分布式基礎設施的論文對業界產生了巨大的影響,其中的Map Reduce和GFS(Google File System)等思想為分布式計算與存儲提供了關鍵參考,Hadoop是其開源實現。

Hadoop[11]平臺具有高可伸縮、低成本、高可靠、方便易用等特點、其核心是HDFS(Hadoop Distribute File System)分布式文件系統和Map Reduce框架。前者使得在成本可控的情況下處理海量數據成為可能;后者則是一種采用分治策略、專為大規模分布式并行數據處理設計的簡化編程模型,它借鑒了函數式編程的思想,將針對大規模數據的處理任務統一地抽象為 Map(映射)和Reduce(規約)兩種操作。由于Hadoop集群可以按需橫向動態擴展,利用Hadoop平臺可以突破數據規模給推薦系統帶來的大數據分析的瓶頸,滿足高性能、高伸縮性計算的需求。

Table 1 Comparison of main recommendation algorithms表1 主要推薦算法的比較

2.3 機器學習算法——Mahout

Apache Mahout[12]是ASF(Apache Software Foundation)開發的一個全新的開源項目,其主要目標是創建一些可伸縮的機器學習算法,供開發人員在Apache的許可下免費使用。Mahout包含許多實現,包括集群、分類、CF(Collaborative Filtering)和進化程序。此外,通過使用Apache Hadoop庫,Mahout可以有效地擴展到云中。

用Mahout來構建推薦系統,是一件既簡單又困難的事情。簡單是因為 Mahout完整地封裝了“協同過濾”算法,并實現了并行化,提供非常簡單的API接口;困難是因為我們不了解算法細節,很難根據業務的場景進行算法配置和調優。常用的使用Mahout實現的算法有:基于用戶的協同過濾

算法UserCF、基于物品的協同過濾算法ItemCF、SlopeOne算法、KNN Linear interpolation itembased推薦算法、SVD推薦算法和Tree Clusterbased推薦算法等。

3 協同過濾算法與Top N算法相結合的新用戶推薦系統

新用戶推薦必須具備的三元素是:新用戶A、推薦對象B和評價模式C。

3.1 名稱解釋

名稱1(Top N算法)使用直接排序法或者Hash Table法找出最高(低)的集合。

名稱2(新用戶A)作為推薦的受益者,是被推薦對象。

名稱3(推薦對象B)是推薦的對象,該對象被推薦給新用戶A。

名稱4(評價模式C)是新用戶A對推薦對象B的評分。

3.2 新用戶推薦算法思想

綜合使用Top N和協同過濾算法來對新用戶做推薦。其算法思想如下:

分析原始數據,使用Top N算法求出N個推薦對象B的ID,得到基礎數據“Top基礎數據D”;分析原始數據,使用協同過濾算法,計算出推薦對象B的信息,得到基礎數據“推薦基礎數據E”;新用戶A對“Top基礎數據D”進行相關評價,并記錄該評價模式“評價模式C”;利用該“評價模式C”對“推薦基礎數據E”進行篩選,找出“推薦基礎數據E”中的評價模式和“評價模式C”相似的數據“篩選數據E”;對“篩選數據E”,使用Top N算法得到的結果即為新用戶推薦算法的結果。

其算法過程如圖1所示。

Figure 1 Process chart of the recommendation algorithm for new users圖1 新用戶推薦算法過程圖

3.3 系統設計與實現

如圖2所示,系統采用JSP+Spring MVC+ MyBatis+Spring框架開發,采用Hadoop云平臺的HDFS文件系統和MySQL數據庫來存儲數據。原始數據直接存入 HDFS中,計算出來的用戶檔案推薦基礎數據存入MySQL數據庫。

3.3.1系統流程圖

如圖3所示,在登錄的時候設置進入門檻,這樣只有系統管理人員才能進入監控界面。只有進入監控界面才能正常地調用新用戶推薦算法的執行。

Figure 2 System development framework圖2 系統開發架構圖

Figure 3 System flowchart圖3 系統流程圖

3.3.2 算法設計與實現

(1)Top N算法設計。

Hadoop top N算法是統計所有檔案中的平均用戶評分最大的前N個項目,也就是說,需要針對原始用戶數據,求得每個項目的平均用戶評分,然后把這些項目按照用戶評分從大到小的順序排列,取前N個項目。

首先分析一下Top N算法的Map Reduce流程。輸入數據的格式是:[userId,profileId,pref Value],其中user Id是不需要的,需要的只是profile Id和與之對應的pref Value,同時需要記錄每個項目已經被多少個用戶評價過,這樣方便項目的平均評分。Mapper的輸入輸出數據格式見表2。

Table 2 Input and output format of Mapper表2 Mapper輸入輸出格式

①Mapper階段。

Mapper把[user Id,profile Id,pref Value]這樣的數據經過轉換,輸出,也就是輸出每個檔案以及檔案的評分和次數1次。

接著是Combiner。Combiner主要是在Map端工作,可以先整合一部分數據,這樣傳輸到reduce端的數據就會減少,提高效率。Combiner把所有key相同也就是profile Id是同一個的評分、次數都分別加起來,輸出的和Mapper是一樣的,但是數據已經改變了。評分和次數是同一個Mapper中相同檔案的總和。

②Reduce階段。

Reduce的主要工作就是計算每個檔案的平均評分,然后對所有的項目按照評分從大到小進行排序,最后取前N(N取10)個檔案ID即可。

(2)Mahout中協同過濾算法設計。

Mahout中協同過濾推薦實現的組件圖如圖4所示。

Figure 4 Component diagram implemented by the collaborative filtering recommendation in Mahout圖4 Mahout中協同過濾推薦實現的組件圖

Mahout最經典的三種協同過濾的推薦策略:User CF、Item CF和Slope One。本文中約會對象推薦系統中使用Mahout的Item CF算法來獲取推薦的基礎數據。

基于Mahout實現Item CF:

Data Model model=new Eile Data Model(new Eile(“preferences.dat“));

ItemSimilarity similarity=new PearsonCorrelation-Similarity(model);

Recommender recommender=new Generic ItemBased Recommender(model,similarity);

(3)新用戶推薦算法設計。

算法最開始運行的是Mapper,在Mapper的初始化中也就是setup函數中,需要先讀出用戶對Top 10檔案的評分,把這些數據讀入到一個向量userPrefs中。接著在map函數中針對每一條記錄數據求其與向量userPrefs的相似度similarity,然后輸出用戶ID和相似度similarity即可。相似度的計算公式如下:

similarity=(1/(1+sqrt(v1,v2)))(1)

其中,sqrt(v1,v2)表示向量v1和向量v2的均方差。

考慮到后面Reduce中需要對所有的數據都進行統一處理,這里Mapper輸出的key必須保持一致,這里設置輸出的key是new IntWritable(1)。

Mapper輸出數據后,Reduce把key相同的值都整合起來,統一處理(由于Mapper輸出的key都是一樣的,因此這里的數據是全部數據)。在Mapper中輸出的value格式是自定義的Writable類型。

在Reduce端的過程其實和前面Top10算法維護的一個10個元素的堆棧類似,只是堆棧中Map元素的key是用戶ID而已。在算法結束后,在HDFS文件系統上就可以得到和新用戶推薦的約會對象檔案ID信息。

4 實驗與分析

通過實現推薦約會的系統來驗證新用戶推薦系統的有效性和面對大數據的伸縮性。系統中使用的數據在http:∥w ww.occamslab.com/petricek/data/中下載。這份數據是135 359個匿名用戶對168 791個其他用戶檔案信息的評分數據。數據格式:[1,133,8],表示用戶1對133檔案的評分是8分(10分滿分)。

環境配置如表3和表4所示。

Table 3 Hardware configuration表3 硬件配置

Table 4 Software configuration表4 軟件配置

5 推薦效果評估

本文對新用戶推薦算法進行性能分析和實驗測試。分別從性能評估和推薦質量評估兩個方面進 行 分 析[13]。

首先性能評估主要從執行效率方面考慮。采用參數f=T1/Tn作比較。T1是Task Tracker節點為1時算法的執行時間,Tn是Task Tracker節點為n時算法的執行時間。通過比較f參數可以得出 Hadoop節點數量對算法執行效率的影響狀況。

從實驗結果圖5和圖6可以看出,對于同一數據集,增加Task Tracker節點數量,新用戶推薦算法明顯比只使用協同過濾推薦算法推薦效率要高。而且計算數據集越大,Hadoop集群的大小影響越明顯。

Figure 5 10 MB data圖5 10 MB數據

一般地,推薦質量評估方法是采用平均絕對誤差MAE(Mean Absolute Error)來評價,MAE越小,推薦的質量就越高。MAE計算公式為:

其中,N是用戶所獲得的推薦項目的數量,j為第1,…,N個推薦項目,a為待推薦的用戶。Raj為預測值,Paj為真實值,|Raj—Paj|為絕對誤差,U表示集合的全集,n為自然數。

Figure 6 100 MB data圖6 100 MB數據

Mahout算法庫中Recommender Evaluator就是利用MAE來評價“推薦的項目”是否與“實際情況”相符合的。但是,上面的推薦都是通過用戶歷史數據進行推薦的,由于新用戶推薦缺乏歷史數據,所以定量地進行推薦質量評估有一定困難。因此,本文主要從定性的角度分析推薦質量評估問題。

同時,還對新用戶推薦算法Map Reduce前后做“加速比”的對比。其加速比S=Tm/T1,其中Tm表示“新用戶推薦算法”在不同節點數量的集群上所需要運行的時間;T1表示不需要Map Reduce化的“新用戶推薦算法”運行所需的時間。我們測試了集群數量為一個節點、二個節點、四個節點和八個節點的情況,如圖7所示。

Figure 7 Performance comparison of the speedup圖7 加速比性能比較結果

由圖7可知,利用Hadoop集群,可以很好地提高算法的執行效率。尤其是數據量大的時候,加速比減小的幅度比較大。所以,在數據量比較大的時候,使用Map Reduce實現新用戶推薦算法性能比較好。

單獨使用協同過濾推薦算法對新用戶進行推薦。從結果看出,可以發現潛在的但自己尚未發現的興趣偏好,也可以被推薦和自己類似的興趣愛好。但是,畢竟是類似的興趣愛好,有的時候推薦數量過多,從而推薦質量跟不上去。而新用戶推薦算法,以自己的興趣愛好為導向,加上整合協同過濾的相似度概念,從而推薦出的興趣愛好都是自己喜歡的興趣愛好,而且在數量上得到了精選。這就是新用戶推薦算法的魅力所在。

6 結束語

本文利用 Mahout中內置的協同過濾算法和基于Map Reduce實現的Top N算法進行“混合”來實現新用戶推薦算法。構建了一個新用戶推薦模型,并通過開發推薦約會對象系統來驗證新用戶推薦系統的有效性和面對大規模數據的伸縮性。由于Mahout是一個可伸縮的機器學習算法庫,而Hadoop可以通過Map Reduce實現對大數據集的分布式并行計算處理,使Hadoop和Mahout可以快速開發出,數據處理能力強、功能全的企業級推薦系統。通過推薦約會對象系統,能很好地為新用戶推薦,有一定的準確度和可行性。將來,會對算法進行優化,使得準確度更高。

[1] Zeng Chun,Xing Chun-xiao,Zhou Li-zhu.A survey of personalization technology[J].Journal of Software,2002,13 (10):1952-1961.(in Chinese)

[2] Adomavicius G,Tuzhilin A.Personalization technologies:A process-oriented perspective[J].Communications of the ACM,2005,48(10):83-90.

[3] Adomavicius G,Tuzhilin A.Toward the next generation of recommender systems:A survey of the state-of-the-art and possible extensions[J].IEEE Transactions on Knowledge and Data Engineering(TKDE),2005,17(6):734-749.

[4] Ricci F,Rokach L,Shapira B,et al.Recommender systems Handbook[M].Berlin:Springer-Verlag,2011.

[5] Xu Hai-ling,Wu Xiao,Li Xiao-dong,et al.Comparison study of Internet recommendation system[J].Journal of Software,2009,20(2):350-362.(in Chinese)

[6] Liu Jian-guo,Zhou Tao,Wang Bing-hong.Personalized recommender systems:A survey of the state-of-the-art[J].Chinese Journal of Progress in Natural Science,2009,19(1):1-15.(in Chinese)

[7] Liao Zhi-fang,Wang Chao-qun,Li Xiao-qing,et al.Recommendation algorithm of label recommendation of tensor decomposition and new user label[J].Journal of Chinese Computer Systems,2013,34(11):2472-2476.(in Chinese)

[8] Hu Zhu-qing,Liu Si-si,Liu Chen-guang,et al.Exploration on the combination of new user issues with small world network of collaborative filtering system[J].Silicon Valley,2012(8):191.(in Chinese)

[9] Wang Li-cai,Meng Xiang-wu,Zhang Yu-jie.Context-aware recommender system[J].Journal of Software,2012,23(1):1-20.(in Chinese)

[10] Li Wen-hai,Xu Shu-ren.Design and implementation of E-commerce recommender system based on Hadoop[J].Computer Engineering and Design,2014,35(1):130-143.(in Chinese)

[11] Yang Zhi-wen,Liu Bo.Collaborative filtering recommendation algorithm based on Hadoop platform[J].Computer System Application,2013,22(7):108-112.(in Chinese)

[12] Zhu Qian,Qian Li.Analysis and design of mahout-based recommender system[J].Bulletin of Science and Technology,2013,29(6):35-36.(in Chinese)

[13] Feng Guo-he,Huang Jia-xing.Research on collaborative filtering book recommendation based on Hadoop and Mahout [J].Library and Information Service,2013,57(18):116-121.(in Chinese)

附中文參考文獻:

[1] 曾春,邢春曉,周立柱.個性化服務技術綜述[J].軟件學報,2002,13(10):1952-1961.

[5] 許海玲,吳瀟,李曉東,等.互聯網推薦系統比較研究[J].軟件學報,2009,20(2):350-362.

[6] 劉建國,周濤,汪秉宏.個性化推薦系統的研究進展[J].自然科學進展,2009,19(1):1-15.

[7] 廖志芳,王超群,李小慶,等.張量分解的標簽推薦及新用戶標簽推薦算法[J].小型微型計算機系統,2013,34(11):2472-2476.

[8] 胡竹青,劉絲絲,劉晨光,等.對協同過濾系統的新用戶問題與小世界網絡結合的探索[J].硅谷,2012(8):191.

[9] 王立才,孟祥武,張玉潔.上下文感知推薦系統[J].軟件學報,2012,23(1):1-20.

[10] 李文海,許舒人.基于Hadoop的電子商務推薦系統的設計與實現[J].計算機工程與設計,2014,35(1):130-143.

[11] 楊志文,劉波.基于Hadoop平臺協同過濾推薦算法[J].計算機系統應用,2013,22(7):108-112.

[12] 朱倩,錢立.基于Mahout的推薦系統的分析與設計[J].科技通報,2013,29(6):35-36.

[13] 奉國和,黃家興.基于Hadoop與Mahout的協同過濾圖書推薦研究[J].圖書情報工作,2013,51(18):116-121.

高獻衛(1985),男,江蘇睢寧人,碩士生,CCF會員(E200032998G),研究方向為大數據和數據挖掘。E-mail:gaoxianwei@ 126.com

GAO Xian-wei,born in 1985,MS candidate,CCF member(E200032998G),his research interests include big data,and data mining.

師智斌(1971 ),女,山西太原人,博士,副教授,研究方向為人工智能和數據挖掘。E-mail:shizb@nuc.edu.cn

SHI Zhi-bin,born in 1971,PhD,associate professor,her research interests include artificial intelligence,and data mining.

Design and implementation of a new user recommendation algorithm based on Mahout

GAO Xian-wei,SHI Zhi-bin
(School of Computer Science and Control Engineering Technology,North University of China,Taiyuan 030051,China)

Recommendation for new users in big data era is difficult and the efficiency is very low due to the lack of historical data.In order to solve these problems,we propose a new user recommendation algorithm,which combines the collaborative filtering algorithm based on the Mahout and the Top N algorithm based on the Map Reduce.We build a new user recommendation system architecture,design and implement the Hadoop Top N algorithm and the collaborative filtering algorithm in the Mahout.Theoretical analysis and experimental results show that the proposed recommendation algorithm for big data processing has better recommended efficiency,scalability and quality than the collaborative filtering algorithm.

new user recommendation;Mahout;recommendation system;Hadoop;big data

TP311

A

10.3969/j.issn.1007-130X.2015.08.005

1007-130X(2015)08-1444-06

2014-11-24;

2015-05-15

通信地址:223400江蘇省淮安市漣水縣翰林苑小區28號樓202室

Address:Room 202,28 Building,Hanlinyuan Community,Lianshui,Huai'an 223400,Jiangsu,P.R.China

猜你喜歡
用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 亚洲视频黄| 91在线中文| 久久综合成人| 国产精品hd在线播放| 国产真实乱人视频| 日韩欧美中文亚洲高清在线| 欧美不卡在线视频| 久久网欧美| 日韩欧美国产精品| 亚洲人人视频| 成人va亚洲va欧美天堂| 在线国产资源| 日韩在线2020专区| 亚洲精品福利视频| 国产精品无码制服丝袜| 黄色网站不卡无码| 亚洲—日韩aV在线| 91丨九色丨首页在线播放| 在线看AV天堂| 国产精品区视频中文字幕| 国产成人久久综合777777麻豆| 强奷白丝美女在线观看| 婷婷伊人久久| 欧美不卡视频一区发布| 一级毛片不卡片免费观看| 欧美性色综合网| 亚洲第七页| 中文字幕色在线| 免费国产黄线在线观看| 国产精品永久不卡免费视频| 91综合色区亚洲熟妇p| 91成人精品视频| 免费 国产 无码久久久| 另类欧美日韩| 亚洲欧洲免费视频| 欧美在线网| 97精品伊人久久大香线蕉| 东京热一区二区三区无码视频| 乱系列中文字幕在线视频| 天天摸夜夜操| 日韩毛片视频| 国产一区二区网站| 国产成人a在线观看视频| 手机在线看片不卡中文字幕| 成人中文在线| 国产激情国语对白普通话| 亚洲开心婷婷中文字幕| 999国产精品永久免费视频精品久久| 精品91在线| 欧美爱爱网| 91在线无码精品秘九色APP| 无码高潮喷水在线观看| 久久亚洲美女精品国产精品| 午夜国产精品视频| 国产欧美日韩专区发布| 啪啪国产视频| 亚洲人成影院在线观看| 黄色网在线免费观看| 日韩欧美国产另类| 日韩中文字幕亚洲无线码| 亚洲欧洲国产成人综合不卡| 国产 日韩 欧美 第二页| 色综合中文综合网| 国产微拍精品| 国产办公室秘书无码精品| 日韩人妻精品一区| 色香蕉网站| www.亚洲一区| 天堂网亚洲系列亚洲系列| 亚洲欧美天堂网| 欧美午夜一区| 色天天综合久久久久综合片| 免费网站成人亚洲| 麻豆精品在线| 久久综合AV免费观看| 色网站免费在线观看| 国产一级做美女做受视频| 国产精品自拍合集| 日本在线亚洲| 欧洲精品视频在线观看| 国产制服丝袜91在线| 日韩A∨精品日韩精品无码|