摘? 要:為了提高大數(shù)據(jù)中動(dòng)態(tài)用戶個(gè)性化推薦的準(zhǔn)確性和效率,采用基于混合協(xié)同過(guò)濾的方法來(lái)完成用戶感興趣數(shù)據(jù)的篩選,從而實(shí)現(xiàn)個(gè)性化推薦。先將用戶數(shù)據(jù)及項(xiàng)目數(shù)據(jù)通過(guò)協(xié)同過(guò)濾算法來(lái)完成建模并評(píng)分,然后結(jié)合XGBoost模型的樹形結(jié)構(gòu)和正則學(xué)習(xí)的特點(diǎn)進(jìn)行預(yù)測(cè)評(píng)分,接著將兩種算法混合來(lái)求解最優(yōu)目標(biāo)函數(shù),得到候選的推薦數(shù)據(jù)集合。最后通過(guò)實(shí)例仿真,混合算法精確度高,在大數(shù)據(jù)平臺(tái)有較強(qiáng)的適用性。
關(guān)鍵詞:大數(shù)據(jù);協(xié)同過(guò)濾;XGBoost;個(gè)性化推薦;準(zhǔn)確率
中圖分類號(hào):TP399? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:In order to improve the accuracy and efficiency of personalized recommendation for dynamic users in big data,a hybrid collaborative filtering method is used to filter the data of interest to achieve personalized recommendation.Firstly,user data and project data are modeled and scored by collaborative filtering algorithm,then predicted and scored by combining the tree structure of XGBoost model and the characteristics of regular learning.Then the two algorithms are mixed to solve the optimal objective function,and candidate recommended data set is obtained.Experiments show that the hybrid collaborative filtering recommendation algorithm has high accuracy and strong applicability in big data platforms.
Keywords:big data;collaborative filtering;XGBoost;personalized recommendation;accuracy
1? ?引言(Introduction)
大數(shù)據(jù)作為互聯(lián)網(wǎng)高速發(fā)展的產(chǎn)物,其服務(wù)器可以將來(lái)自于不同用戶端的數(shù)據(jù)進(jìn)行融合,并有效利用這些數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘與數(shù)據(jù)分析,以便根據(jù)用戶使用習(xí)慣為不同用戶提供差異化的推薦服務(wù)。對(duì)于大數(shù)據(jù)平臺(tái)的使用者來(lái)說(shuō),能夠動(dòng)態(tài)地接受自己感興趣內(nèi)容,可以有效節(jié)省在平臺(tái)進(jìn)行資源搜索的時(shí)間,提高用戶訪問(wèn)大數(shù)據(jù)平臺(tái)的舒適度,也反映了大數(shù)據(jù)平臺(tái)的智能性。當(dāng)前這種動(dòng)態(tài)用戶個(gè)性化推薦的服務(wù)在很多平臺(tái)上都得到了有效應(yīng)用。比如社交平臺(tái)的個(gè)性化好友推薦、資訊平臺(tái)的個(gè)性化新聞推薦,電子商務(wù)平臺(tái)的商品個(gè)性化推薦,服務(wù)類平臺(tái)的個(gè)性化服務(wù)推薦等[1,2]。
2? 大數(shù)據(jù)平臺(tái)的動(dòng)態(tài)用戶個(gè)性化推薦研究現(xiàn)狀(Research status of personalized recommendationfor dynamic users in big data platform)
當(dāng)前,大數(shù)據(jù)平臺(tái)的動(dòng)態(tài)用戶個(gè)性化推薦方法主要有兩種模式,一種是以大數(shù)據(jù)提供的項(xiàng)目為參照點(diǎn),以項(xiàng)目作為數(shù)據(jù)主關(guān)鍵字,將所有訪問(wèn)過(guò)該項(xiàng)目的用戶主要數(shù)據(jù)記錄到該項(xiàng)目的數(shù)據(jù)表中;另外一種是以訪問(wèn)大數(shù)據(jù)平臺(tái)的用戶為參照點(diǎn),以用戶作為數(shù)據(jù)作為主關(guān)鍵字,將該用戶訪問(wèn)所有項(xiàng)目的數(shù)據(jù)記錄到該用戶的數(shù)據(jù)表中。兩種方法各有優(yōu)劣,前者的優(yōu)點(diǎn)是數(shù)據(jù)結(jié)構(gòu)較簡(jiǎn)單,耗費(fèi)的存儲(chǔ)資源少,后者的優(yōu)點(diǎn)是用戶分類更清晰,推薦服務(wù)更細(xì)化。在大數(shù)據(jù)平臺(tái)的個(gè)性化推薦服務(wù)中,根據(jù)用戶量的需求和用戶對(duì)推薦服務(wù)的精細(xì)化程度,兩種推薦模式各有優(yōu)勢(shì)。
當(dāng)前采用協(xié)同過(guò)濾算法完成動(dòng)態(tài)用戶的個(gè)性化推薦服務(wù)研究較多。比如Lim等人將該算法運(yùn)用于旅游推薦系統(tǒng)[3],根據(jù)用戶的偏好提供有效的旅游路徑和旅游景點(diǎn),并以用戶形象標(biāo)簽作為有效推薦的輔助[4]。王重仁等人利用XGBoost算法對(duì)互聯(lián)網(wǎng)客戶流失情況的預(yù)測(cè)分析[5],這兩種算法在預(yù)測(cè)推薦系統(tǒng)中均有應(yīng)用,但將兩種算法結(jié)合的相關(guān)研究較少,本文將兩種算法混合,將XGBoost算法的效率和協(xié)同過(guò)濾算法的有效性相結(jié)合,完成大數(shù)據(jù)平臺(tái)的動(dòng)態(tài)用戶個(gè)性化推薦。
3? 大數(shù)據(jù)中基于混合協(xié)同過(guò)濾的動(dòng)態(tài)用戶個(gè)性化推薦(Personalized recommendation for dynamicusers based on hybrid collaborative filtering inbig data)
3.1? ?混合協(xié)同過(guò)濾
為了提高協(xié)同過(guò)濾結(jié)果的有效性及精準(zhǔn)度,提高個(gè)性化推薦系統(tǒng)的適用性,將傳統(tǒng)的協(xié)同過(guò)濾算法的評(píng)分值與XGBoost推薦算法的評(píng)分值進(jìn)行權(quán)重分配,根據(jù)兩者共同的評(píng)分結(jié)果高低作為大數(shù)據(jù)中動(dòng)態(tài)用戶個(gè)性化推薦的有限次序。XGBoost算法是一種基于樹形結(jié)構(gòu)的學(xué)習(xí)系統(tǒng)。相比常用的高級(jí)算法,比如蟻群算法、魚群算法等,XGBoost算法具有很好的伸縮性和擴(kuò)展性[5],在大數(shù)據(jù)的分布式計(jì)算中,面對(duì)數(shù)千萬(wàn)級(jí)別的用戶數(shù)據(jù)量對(duì)應(yīng)關(guān)系,在相似度計(jì)算的耗時(shí)環(huán)節(jié),較好地解決了內(nèi)存限制和算法速度慢等問(wèn)題。下面對(duì)用戶數(shù)據(jù)進(jìn)行評(píng)分建模,具體方法如下:
首先,建立用戶user和項(xiàng)目item列表,每一個(gè)用戶u對(duì)應(yīng)一條數(shù)據(jù)庫(kù)記錄,這條記錄中存儲(chǔ)了用戶u在大數(shù)據(jù)平臺(tái)中訪問(wèn)項(xiàng)目的情況,在這條記錄中,可以挖掘出用戶u對(duì)某些項(xiàng)目i的訪問(wèn)次數(shù),根據(jù)訪問(wèn)次數(shù)來(lái)了解用戶偏好,在大數(shù)據(jù)平臺(tái)中,當(dāng)兩個(gè)用戶訪問(wèn)項(xiàng)目i的次數(shù)達(dá)到設(shè)定的閾值,就判定為這兩個(gè)用戶為相鄰用戶,在大數(shù)據(jù)平臺(tái)中,將所有項(xiàng)目根據(jù)相似度進(jìn)行分類,根據(jù)用戶在上一時(shí)間段內(nèi)訪問(wèn)項(xiàng)目i的情況,動(dòng)態(tài)地為下一時(shí)間段用戶訪問(wèn)平臺(tái)推薦類似于項(xiàng)目i的內(nèi)容。
推薦系統(tǒng)中用戶u對(duì)項(xiàng)目i的預(yù)測(cè)評(píng)分是根據(jù)用戶u的k個(gè)相鄰用戶對(duì)項(xiàng)目i的評(píng)分求均值得到的[6,7],若用戶u的相鄰用戶對(duì)項(xiàng)目i未曾有過(guò)任何評(píng)分,則將該用戶剔除相鄰用戶。
衡量推薦算法的標(biāo)準(zhǔn)主要有四個(gè),即,準(zhǔn)確率(Precesion)、召回率(Recall)、平均絕對(duì)誤差(MAE)和均方根誤差(RMSE)[11-13]。其計(jì)算方法分別如公式(10)—公式(13)所示。
其中,公式(12)和公式(13)中表示用戶u對(duì)項(xiàng)目j的實(shí)際評(píng)分值,表示采用推薦算法后用戶u對(duì)項(xiàng)目j的評(píng)分值,表示用戶評(píng)分集合的總個(gè)數(shù)。
3.2? ?實(shí)例仿真
為了驗(yàn)證本文算法的性能,采用Matlab對(duì)推薦算法進(jìn)行實(shí)例仿真。實(shí)驗(yàn)仿真平臺(tái)硬件采用Intel Core i5處理器,內(nèi)存為8GB,操作系統(tǒng)為Windows 7旗艦版,Matlab版本為R2010b。
實(shí)驗(yàn)數(shù)據(jù)樣本集合相鄰用戶數(shù)量最大為50個(gè),的個(gè)數(shù)為100,用戶評(píng)分集合總數(shù)為1000個(gè),項(xiàng)目總數(shù)為10000個(gè),為了驗(yàn)證混合算法的有效性,分別將協(xié)同過(guò)濾算法和基于XGBoost模型的推薦算法及兩種算法的混合算法進(jìn)行性能比較,比較它們的Precesion、Recall和MAE,考慮到MAE和RMSE有類似之處,在此只對(duì)MAE進(jìn)行仿真。
從圖1可以看出,隨著相鄰用戶數(shù)量的增加,準(zhǔn)確率逐漸上升,表明算法對(duì)大數(shù)據(jù)的適用程度高,在海量數(shù)據(jù)中能找出對(duì)于目標(biāo)用戶評(píng)分高的項(xiàng)目集合,且有較高的準(zhǔn)確度。三種算法中基于XGBoost模型的推薦算法準(zhǔn)確率相比較低,本文算法的準(zhǔn)確率最高,當(dāng)相鄰用戶數(shù)量達(dá)到15個(gè)時(shí),準(zhǔn)確率迅速攀升,當(dāng)相鄰用戶數(shù)量達(dá)到47個(gè)時(shí),推薦準(zhǔn)確率達(dá)到了90%以上。具體準(zhǔn)確率指標(biāo)見表1所示。
從表1可以看出,在相鄰用戶數(shù)量夠多的情況下,三種算法均能取得較好的準(zhǔn)確率數(shù)值,對(duì)于大數(shù)據(jù)平臺(tái)的個(gè)性化推薦服務(wù)均有一定的應(yīng)用價(jià)值,特別是混合協(xié)同過(guò)濾算法,實(shí)驗(yàn)中的準(zhǔn)確率最高達(dá)到了94%;當(dāng)相鄰用戶數(shù)量較少時(shí),三種推薦算法準(zhǔn)確率都較差,這表明三種算法的實(shí)現(xiàn)均是基于大數(shù)據(jù)平臺(tái)下大數(shù)據(jù)量的條件下訓(xùn)練而來(lái)的,若某用戶在大數(shù)據(jù)平臺(tái)下的關(guān)聯(lián)數(shù)據(jù)少,這無(wú)法完成用戶個(gè)性化數(shù)據(jù)的有效推薦,這也符合數(shù)據(jù)挖掘的特點(diǎn),當(dāng)用戶相關(guān)特征數(shù)據(jù)較少時(shí),難于挖掘出針對(duì)該用戶有價(jià)值的數(shù)據(jù),更加無(wú)法根據(jù)用戶偏好和習(xí)慣實(shí)現(xiàn)有效推薦。
從圖2可以看出,隨著相鄰用戶數(shù)量的增加,召回率逐漸增加,表明算法對(duì)大數(shù)據(jù)用戶的個(gè)性化推薦是有效的,三種算法比較,本文算法的性能突出,在相鄰用戶數(shù)量達(dá)到45時(shí),推薦的有效性能達(dá)到75%以上,準(zhǔn)確率和召回率相互制約,因此在算法訓(xùn)練時(shí),選擇的相鄰用戶數(shù)量應(yīng)適當(dāng),保證兩個(gè)性能能夠均衡。大部分情況下,協(xié)同過(guò)濾算法的召回率性能要優(yōu)于XGBoost算法,當(dāng)相鄰用戶數(shù)量為5時(shí),基于XGBoost算法相比與協(xié)同過(guò)濾算法性能更優(yōu),當(dāng)相鄰用戶數(shù)量為30時(shí),兩者召回率相同,這表明兩種算法在召回率方面,優(yōu)劣并不明顯。
從圖3可以看出,隨著相鄰用戶數(shù)量的增加,MAE逐漸減小,算法的預(yù)測(cè)評(píng)分值與實(shí)際評(píng)分制更接近,在相鄰用戶數(shù)為5—15個(gè),MAE迅速下降,當(dāng)相鄰用戶數(shù)量達(dá)到47時(shí),混合協(xié)同過(guò)濾算法的MAE下降至0.4以下。
4? ?結(jié)論(Conclusion)
大數(shù)據(jù)平臺(tái)的個(gè)性化推薦服務(wù)增強(qiáng)了用戶使用體驗(yàn),用戶可以高效地獲取平臺(tái)有效數(shù)據(jù),避免在海量數(shù)據(jù)里去搜索和尋找。這種個(gè)性化服務(wù)的良好體驗(yàn)是建立在精準(zhǔn)的推薦算法基礎(chǔ)上的,若推薦算法適用性不強(qiáng),給用戶推薦的服務(wù)與用戶不相關(guān),就會(huì)給用戶造成垃圾數(shù)據(jù)負(fù)擔(dān),降低用戶的體驗(yàn)感。本文將XGBoost算法和協(xié)同過(guò)濾算法相結(jié)合,提高了大數(shù)據(jù)平臺(tái)個(gè)性化推薦的性能。經(jīng)實(shí)驗(yàn)證明,本文算法在準(zhǔn)確率和召回率等方面,表現(xiàn)出色,具有較強(qiáng)的推廣應(yīng)用價(jià)值。
參考文獻(xiàn)(References)
[1] 陳杰,劉學(xué)軍,李斌,等.一種基于用戶動(dòng)態(tài)興趣和社交網(wǎng)絡(luò)的微博推薦方法[J].電子學(xué)報(bào),2017,45(4):898-905.
[2] 仲兆滿,管燕,胡云,等.基于背景和內(nèi)容的微博用戶興趣挖掘[J].軟件學(xué)報(bào),2017,28(2):278-291.
[3] Lim K H,Chan J,Leckie C,et al.Personalized trip recommendation for tourists based on user interests,points of interest visit durations and visit recency[J].Knowledge & Information Systems,2017,54(2):1-32.
[4] Jing Z,Ying Y,Qi T,et al.Personalized Social Image Recommendation Method Based on User-Image-Tag Model[J].IEEE Transactions on Multimedia,2017,19(11):2439-2449.
[5] 王重仁,韓冬梅.基于社交網(wǎng)絡(luò)分析和XGBoost算法的互聯(lián)網(wǎng)客戶流失預(yù)測(cè)研究[J].微型機(jī)與應(yīng)用,2017,36(23):58-61.
[6] Alhamid M F,Rawashdeh M,Dong H,et al.Exploring Latent Preferences for Context-Aware Personalized Recommendation Systems[J].IEEE Transactions on Human-Machine Systems,2017,46(4):615-623.
[7] 姜宇,張大方,刁祖龍.基于點(diǎn)擊流的用戶矩陣模型相似度個(gè)性化推薦[J].計(jì)算機(jī)工程,2018,44(1):219-225.
[8] Dash S,Behera R N.A Particle Swarm Optimization based Hybrid Recommendation System[J].International Journal of Knowledge Discovery in Bioinformatics,2017,6(2):1-10.
[9] Tarus J K,Niu Z,Yousif A.A hybrid knowledge-based recommender system for e-learning based on ontology and sequential pattern mining[J].Future Generation Computer Systems,2017(72):37-48.
[10] 羅娜.針對(duì)云平臺(tái)協(xié)同推薦的近鄰項(xiàng)目最優(yōu)臨界點(diǎn)優(yōu)化[J].科技通報(bào),2017(12):171-174.
[11] 陳南平.一種改進(jìn)的個(gè)性化協(xié)同推薦算法研究[J].軟件導(dǎo)刊,2017,16(3):45-47.
[12] 袁正午,陳然.基于多層次混合相似度的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)應(yīng)用,2018,38(3):633-638.
[13] 張昊,紀(jì)宏超,張紅宇.XGBoost算法在電子商務(wù)商品推薦中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2017(72):102-104.
作者簡(jiǎn)介:
劉珊珊(1981-),女,碩士,講師.研究領(lǐng)域:軟件開發(fā),大數(shù)據(jù).