王穎,唐萬梅
(重慶師范大學(xué)計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 401331)
一種改進(jìn)的基于用戶屬性聚類的推薦算法
王穎,唐萬梅
(重慶師范大學(xué)計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 401331)
實(shí)際應(yīng)用中的協(xié)同過濾推薦算法往往面臨著用戶冷啟動、數(shù)據(jù)稀疏等問題。針對以上問題,擬采用用戶的屬性信息進(jìn)行聚類進(jìn)行優(yōu)化,實(shí)驗(yàn)通過MATLAB平臺在MovieLens數(shù)據(jù)集上驗(yàn)證所提出的算法的推薦準(zhǔn)確性。
用戶屬性聚類;推薦算法;冷啟動;數(shù)據(jù)稀疏
互聯(lián)網(wǎng)的普及和信息爆炸式增長,使網(wǎng)民遭遇了信息超載等諸多問題。以協(xié)同過濾推薦的提出[1]為標(biāo)志的推薦系統(tǒng)(Recommender System)作為信息過濾系統(tǒng)的一個子類應(yīng)運(yùn)而生,它通過挖掘和分析系統(tǒng)用戶行為數(shù)據(jù)如興趣偏好、用戶屬性信息等幫助用戶快速尋找滿足其需求和興趣的物品或信息。目前個性化推薦得到廣泛關(guān)注并取得較大發(fā)展,但同時面臨巨大挑戰(zhàn),如冷啟動問題、數(shù)據(jù)稀疏問題等。
針對推薦算法中的冷啟動、數(shù)據(jù)稀疏等問題,研究者從不同角度對推薦算法進(jìn)行了改進(jìn)。文獻(xiàn)[2]提出一種對用戶離線聚類和在線尋找用戶的最近鄰的方法,文獻(xiàn)[3]通過相似度的關(guān)聯(lián)推薦進(jìn)行了優(yōu)化,文獻(xiàn)[4]利用用戶間的信息傳遞和層次聚類方法改進(jìn)了推薦算法,文獻(xiàn)[5]將譜聚類應(yīng)用到用戶聚類中去,通過構(gòu)造拉普拉斯矩陣并選擇和構(gòu)造合適的特征向量空間并采用K-Means算法對特征向量進(jìn)行聚類。還有很多研究者通過降維、語義分析、Jaccard相似度、奇異值分解、引入其領(lǐng)域知識等[6-10]方法解決數(shù)據(jù)稀疏問題。
本文使用用戶屬性而非評分信息尋找目標(biāo)用戶近鄰,可以緩解新用戶的冷啟動問題,進(jìn)一步通過聚類算法優(yōu)化緩解數(shù)據(jù)稀疏對推薦準(zhǔn)確性的影響,同時算法提高了推薦的準(zhǔn)確性,算法主要思想是:首先對用戶屬性進(jìn)行預(yù)處理,之后基于用戶屬性進(jìn)行聚類,通過尋找目標(biāo)用戶u所屬類找到目標(biāo)用戶的鄰居集合,根據(jù)鄰居用戶對目標(biāo)用戶進(jìn)行評分預(yù)測,把評分高的項(xiàng)目推薦給目標(biāo)用戶u。
2.1 對推薦系統(tǒng)中的用戶屬性進(jìn)行預(yù)處理(表1)
表1 用戶屬性預(yù)處理
2.2 使用K-Means算法對用戶基于屬性進(jìn)行聚類
把用戶基于屬性聚為K類,且滿足以下任一條件時迭代終止,具體代碼如表下所示:
2.3 對目標(biāo)用戶u進(jìn)行評分預(yù)測
需要注意的是,基于2.1小節(jié)四個屬性(即numAttr=4)聚類,相似度計(jì)算公式如下,
例如,歸一化后用戶u和v的年齡屬性值相同即Age(u)=Age(v),則記為Simage(u,v)=1,否則Simage(u,v)=0。同理計(jì)算gender、occupation、zipCode屬性相似度。之后根據(jù)用戶屬性相似度預(yù)測目標(biāo)用戶u對項(xiàng)目i的評分:
2.4 評分預(yù)測準(zhǔn)確性
目前推薦的準(zhǔn)確性仍然是衡量一個推薦算法的關(guān)鍵指標(biāo),常見的推薦準(zhǔn)確性評價(jià)指標(biāo)有均方根誤差(RMSE)與平均絕對誤差(MAE),RMSE和MAE值的范圍為(0,1),且值越接近0表示推薦結(jié)果的準(zhǔn)確性越高,公式如下:
其中pi向量存放測試集中用戶對n個項(xiàng)目的實(shí)際評分,qi存放用戶對n個項(xiàng)目通過本文算法預(yù)測出的評分。
實(shí)驗(yàn)使用數(shù)據(jù)是MovieLens數(shù)據(jù)集,包含用戶943個,電影1682部,以及用戶對電影逾100,000條評分,評分范圍是0-5之間的整數(shù),實(shí)驗(yàn)平臺為MATLAB 2010b版本。
實(shí)驗(yàn)驗(yàn)證傳統(tǒng)K-Means聚類推薦、Baseline算法[11]和本文算法(improved algorithm)在不同K上的表現(xiàn)(圖1),以及本文算法在不同規(guī)模數(shù)據(jù)集上的推薦準(zhǔn)確度(圖2)。
實(shí)驗(yàn)表明本文算法評分預(yù)測準(zhǔn)確性高于傳統(tǒng)KMeans聚類推薦算法和本文選取參照的Baseline算法[11],且隨著數(shù)據(jù)集增大,推薦效果越好。
本文改進(jìn)了基于用戶屬性聚類的推薦算法,在緩解用戶冷啟動和數(shù)據(jù)稀疏性問題以及提高推薦的準(zhǔn)確性方面具有一定優(yōu)越性,但聚類個數(shù)K與數(shù)據(jù)集規(guī)模、目標(biāo)用戶評分個數(shù)的聯(lián)系有待進(jìn)一步探索。
圖1 Traditional K-Means、Baseline、Improved Algorithm算法對比
圖2 本文算法在不同規(guī)模數(shù)據(jù)集上表現(xiàn)
[1]David Goldberg,David Nichols,Brian M.Oki,et al.Using Collaborative Fltering to Weave an Information Tapestry[C].Communications of ACM,1992,35(12):61-70.
[2]李濤,王建東,葉飛躍,等.一種基于用戶聚類的協(xié)同過濾推薦算法[J].系統(tǒng)工程與電子技術(shù),2007,29(7):1178-1182.
[3]郭曉波,趙書良,牛東攀,等.一種解決稀疏數(shù)據(jù)和冷啟動問題的組合推薦方法[J].中國科學(xué)技術(shù)大學(xué)學(xué)報(bào),2015,45(10):804-812.
[4]尹航,常桂然,王興偉.采用聚類算法優(yōu)化的K近鄰協(xié)同過濾算法[J].小型微型計(jì)算機(jī)系統(tǒng),2013,34(4):806-809.
[5]李振博,徐桂瓊,査九.基于用戶譜聚類的協(xié)同過濾推薦算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(9):59-67.
[6]姜維,龐秀麗.面向數(shù)據(jù)稀疏問題的個性化組合推薦研究[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(21):21-25.
[7]Gediminas Adomavicius,Alexander Tuzhilin.Toward the Next Generation of Recommender Systems:a Survey of the Tate-of-the-Art and Possible Extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734-749.
[8]Schafer J B,Dan F,Jon H,et al.Collaborative Filtering Recommender Systems[M].[S.l.]:Springer-Verlag,2007:291-324.
[9]Jonathan L.Herlocker,Joseph A.Konstan,Al Borchers,et al.An Algorithmic Framework for Performing Collaborative Filtering[C].Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval.Berkeley,California,United States:ACM,1999:230-237.
[10]陳宗言,顏?。谙∈钄?shù)據(jù)預(yù)處理的協(xié)同過濾推薦算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(7):59-64.
[11]張峻瑋,楊洲.一種基于改進(jìn)的層次聚類的協(xié)同過濾用戶推薦算法研究[J].計(jì)算機(jī)科學(xué),2014,41(12):176-178.
A Recommendation Algorithm Based on User Attributes Clustering
WANG Ying,TANG Wan-mei
(College of Computer and Information Science,Chongqing Normal University,Chongqing 401331)
Recommendation Algorithms in practical application are always faced with user cold start problem,data sparsity problem etc.In order to solve the problems above,proposes user attributes clustering method,and conducts experiments on MovieLens dataset through MATLAB to prove recommendation accuracy of the proposed algorithm.
User Attributes Clustering;Recommendation Algorithm;Cold Start;Data Sparsity
1007-1423(2017)11-0056-04
10.3969/j.issn.1007-1423.2017.11.011
王穎(1990-),女,碩士研究生,研究方向?yàn)橥扑]系統(tǒng)、數(shù)據(jù)挖掘
2017-03-30
2017-04-10
重慶市教改項(xiàng)目(No.yjg123040)、重慶師范大學(xué)校級項(xiàng)目(No.cyjg1205、No.201625、No.xyjg16005)
唐萬梅,女,博士,教授