蔡志遠
摘 要:探討算法設計流程、分析計算結果。
關鍵詞:人口統計學;聚類模型;協同過濾算法
推薦系統是根據用戶的興趣建立模型的程序,推薦系統能分為基于用戶行為的推薦系統、基于項目內容的推薦系統、基于人口統計學的推薦系統。在大數據環境下,推薦系統將人口統計學數據及語境感知等數據進行處理,通過復合系統保證推薦的準確度。
一、算法設計流程
(一)人口統計學下計算數據相似度
用戶相似度計算作為推薦算法的應用核心,準確性對推薦結果產生直接影響。從前使用的協同過濾推薦算法對用戶相似度進行計算時,通過Spearman系數相似度展開計算,屬于絕對指數的計算方式。在計算過程中,統計用戶的年齡、性別、職業、文化程度等信息,從而確定用戶群體的喜好,并根據以上屬性進行聚類。用戶人口統計屬性向量利用(d1,d2....dn)表示,對用戶在每一維度屬性上的相似度進行計算,根據需求屬性計算最終的相似度??赏ㄟ^以下算法表示:
[sim(p,q)=knsim(pdk,qdk)×w(dk)](1)
在此公式中,n表示用戶的群體個數,sim(pdk,qdk)表示第p及q用戶在dk上的相似性,w(dk)作為dk屬性權值。決定指數相似性計算過程中,通過以下公式表示:
[sim(p.q)=e-m-1mrm,p-rm,q](2)
相對權值w(dk)作為dk屬性對不同用戶的能力進行劃分,用戶在dk屬性兩個維度上分值最高的項目t在不同個體的平均數利用ave(dk)表示,權值w(dk)通過以下公式計算:
[w(dk)=ave(dk)k=1nave(dk)](3)
通過以上三類公式能對兩個群體在人口統計學上相似度進行計算。
(二)人口統計學下的數據用戶聚類
針對人口統計學下的數據用戶聚類方法,需建立在相似值之上,利用分層近鄰傳播聚類算法對用戶進行聚類,結果中觀察到同類用戶與用戶異類的屬性差異。將用戶集群U及用戶相似度矩陣D輸入后,根據上述公式進行計算,獲得相似度矩陣的最大相似度:
[simmax=max(sim(u,v))](4)
二、結果
(一)數據聚合
利用Epimions及MovieLen(1M)數據聚合展開實踐。Epimions聚合中含有enpinions.com上的5萬個用戶資料及13萬的產品、70萬評分、50萬朋友關系等數據。MovieLen是美國研究的項目網站,主要含有電影評分,評分分為5級,1表示不喜歡,5表示非常喜歡,用戶通過評分值表達對電影的喜愛,本次研究利用MovieLen(1M)、Epimions不同的數據聚合作為計算條件。
(二)計算框架
實驗利用大數據計算框架MapReduce,實現對數據矩陣的高效處理,實現個性化的推薦功能。在實驗中搭建3臺虛擬機,第一臺是NameNode節點,第二臺是SecndNameNode節點,第三臺是JobTracker節點。三臺虛擬機均是DataNode節點,對Hadoop集群進行模擬,并利用MapReduce及Java實現。
(三)推薦結果
利用NDCG及ERR作為評價標準,訓練數據選擇60%及80%比例,特征維度D選擇8及16兩個維度。為對比DCCF方法結果,利用WEMF及BORMF、QMF等方法進行對比,將MF及Biased MF作為基準線。在NDCG及ERR評價標準上觀察到準確率均比較明顯,推薦準確性顯著,結果見表1、表2。
三、結束語
基于人口統計數據對用戶喜好進行計算,在傳統的協同過濾算法上,將人口統計數據及HAP用戶聚類算法結合,建立效果良好的推薦算法。通過實踐顯示,相比傳統的過濾算法,新建立的算法精準度更高,滿足用戶對推薦產品的需求,為協同推薦算法應用提供條件。
參考文獻:
[1]李艷娟,牛夢婷,李林輝. 基于蜂群K-means聚類模型的協同過濾推薦算法[J]. 計算機工程與科學,2019,41(06):1101-1109.
[2]李華平. 基于聚類和監督學習模型的協同過濾推薦算法研究[D].廣東工業大學,2018.
[3]熊樂. 基于云模型和用戶聚類的協同過濾推薦算法研究[D].華中科技大學,2016.