王穎,唐萬(wàn)梅
(重慶師范大學(xué)計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 401331)
一種改進(jìn)的基于用戶屬性聚類(lèi)的推薦算法
王穎,唐萬(wàn)梅
(重慶師范大學(xué)計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 401331)
實(shí)際應(yīng)用中的協(xié)同過(guò)濾推薦算法往往面臨著用戶冷啟動(dòng)、數(shù)據(jù)稀疏等問(wèn)題。針對(duì)以上問(wèn)題,擬采用用戶的屬性信息進(jìn)行聚類(lèi)進(jìn)行優(yōu)化,實(shí)驗(yàn)通過(guò)MATLAB平臺(tái)在MovieLens數(shù)據(jù)集上驗(yàn)證所提出的算法的推薦準(zhǔn)確性。
用戶屬性聚類(lèi);推薦算法;冷啟動(dòng);數(shù)據(jù)稀疏
互聯(lián)網(wǎng)的普及和信息爆炸式增長(zhǎng),使網(wǎng)民遭遇了信息超載等諸多問(wèn)題。以協(xié)同過(guò)濾推薦的提出[1]為標(biāo)志的推薦系統(tǒng)(Recommender System)作為信息過(guò)濾系統(tǒng)的一個(gè)子類(lèi)應(yīng)運(yùn)而生,它通過(guò)挖掘和分析系統(tǒng)用戶行為數(shù)據(jù)如興趣偏好、用戶屬性信息等幫助用戶快速尋找滿足其需求和興趣的物品或信息。目前個(gè)性化推薦得到廣泛關(guān)注并取得較大發(fā)展,但同時(shí)面臨巨大挑戰(zhàn),如冷啟動(dòng)問(wèn)題、數(shù)據(jù)稀疏問(wèn)題等。
針對(duì)推薦算法中的冷啟動(dòng)、數(shù)據(jù)稀疏等問(wèn)題,研究者從不同角度對(duì)推薦算法進(jìn)行了改進(jìn)。文獻(xiàn)[2]提出一種對(duì)用戶離線聚類(lèi)和在線尋找用戶的最近鄰的方法,文獻(xiàn)[3]通過(guò)相似度的關(guān)聯(lián)推薦進(jìn)行了優(yōu)化,文獻(xiàn)[4]利用用戶間的信息傳遞和層次聚類(lèi)方法改進(jìn)了推薦算法,文獻(xiàn)[5]將譜聚類(lèi)應(yīng)用到用戶聚類(lèi)中去,通過(guò)構(gòu)造拉普拉斯矩陣并選擇和構(gòu)造合適的特征向量空間并采用K-Means算法對(duì)特征向量進(jìn)行聚類(lèi)。還有很多研究者通過(guò)降維、語(yǔ)義分析、Jaccard相似度、奇異值分解、引入其領(lǐng)域知識(shí)等[6-10]方法解決數(shù)據(jù)稀疏問(wèn)題。
本文使用用戶屬性而非評(píng)分信息尋找目標(biāo)用戶近鄰,可以緩解新用戶的冷啟動(dòng)問(wèn)題,進(jìn)一步通過(guò)聚類(lèi)算法優(yōu)化緩解數(shù)據(jù)稀疏對(duì)推薦準(zhǔn)確性的影響,同時(shí)算法提高了推薦的準(zhǔn)確性,算法主要思想是:首先對(duì)用戶屬性進(jìn)行預(yù)處理,之后基于用戶屬性進(jìn)行聚類(lèi),通過(guò)尋找目標(biāo)用戶u所屬類(lèi)找到目標(biāo)用戶的鄰居集合,根據(jù)鄰居用戶對(duì)目標(biāo)用戶進(jìn)行評(píng)分預(yù)測(cè),把評(píng)分高的項(xiàng)目推薦給目標(biāo)用戶u。
2.1 對(duì)推薦系統(tǒng)中的用戶屬性進(jìn)行預(yù)處理(表1)
表1 用戶屬性預(yù)處理
2.2 使用K-Means算法對(duì)用戶基于屬性進(jìn)行聚類(lèi)
把用戶基于屬性聚為K類(lèi),且滿足以下任一條件時(shí)迭代終止,具體代碼如表下所示:
2.3 對(duì)目標(biāo)用戶u進(jìn)行評(píng)分預(yù)測(cè)
需要注意的是,基于2.1小節(jié)四個(gè)屬性(即numAttr=4)聚類(lèi),相似度計(jì)算公式如下,
例如,歸一化后用戶u和v的年齡屬性值相同即Age(u)=Age(v),則記為Simage(u,v)=1,否則Simage(u,v)=0。同理計(jì)算gender、occupation、zipCode屬性相似度。之后根據(jù)用戶屬性相似度預(yù)測(cè)目標(biāo)用戶u對(duì)項(xiàng)目i的評(píng)分:
2.4 評(píng)分預(yù)測(cè)準(zhǔn)確性
目前推薦的準(zhǔn)確性仍然是衡量一個(gè)推薦算法的關(guān)鍵指標(biāo),常見(jiàn)的推薦準(zhǔn)確性評(píng)價(jià)指標(biāo)有均方根誤差(RMSE)與平均絕對(duì)誤差(MAE),RMSE和MAE值的范圍為(0,1),且值越接近0表示推薦結(jié)果的準(zhǔn)確性越高,公式如下:
其中pi向量存放測(cè)試集中用戶對(duì)n個(gè)項(xiàng)目的實(shí)際評(píng)分,qi存放用戶對(duì)n個(gè)項(xiàng)目通過(guò)本文算法預(yù)測(cè)出的評(píng)分。
實(shí)驗(yàn)使用數(shù)據(jù)是MovieLens數(shù)據(jù)集,包含用戶943個(gè),電影1682部,以及用戶對(duì)電影逾100,000條評(píng)分,評(píng)分范圍是0-5之間的整數(shù),實(shí)驗(yàn)平臺(tái)為MATLAB 2010b版本。
實(shí)驗(yàn)驗(yàn)證傳統(tǒng)K-Means聚類(lèi)推薦、Baseline算法[11]和本文算法(improved algorithm)在不同K上的表現(xiàn)(圖1),以及本文算法在不同規(guī)模數(shù)據(jù)集上的推薦準(zhǔn)確度(圖2)。
實(shí)驗(yàn)表明本文算法評(píng)分預(yù)測(cè)準(zhǔn)確性高于傳統(tǒng)KMeans聚類(lèi)推薦算法和本文選取參照的Baseline算法[11],且隨著數(shù)據(jù)集增大,推薦效果越好。
本文改進(jìn)了基于用戶屬性聚類(lèi)的推薦算法,在緩解用戶冷啟動(dòng)和數(shù)據(jù)稀疏性問(wèn)題以及提高推薦的準(zhǔn)確性方面具有一定優(yōu)越性,但聚類(lèi)個(gè)數(shù)K與數(shù)據(jù)集規(guī)模、目標(biāo)用戶評(píng)分個(gè)數(shù)的聯(lián)系有待進(jìn)一步探索。
圖1 Traditional K-Means、Baseline、Improved Algorithm算法對(duì)比
圖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]李濤,王建東,葉飛躍,等.一種基于用戶聚類(lèi)的協(xié)同過(guò)濾推薦算法[J].系統(tǒng)工程與電子技術(shù),2007,29(7):1178-1182.
[3]郭曉波,趙書(shū)良,牛東攀,等.一種解決稀疏數(shù)據(jù)和冷啟動(dòng)問(wèn)題的組合推薦方法[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2015,45(10):804-812.
[4]尹航,常桂然,王興偉.采用聚類(lèi)算法優(yōu)化的K近鄰協(xié)同過(guò)濾算法[J].小型微型計(jì)算機(jī)系統(tǒng),2013,34(4):806-809.
[5]李振博,徐桂瓊,査九.基于用戶譜聚類(lèi)的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(9):59-67.
[6]姜維,龐秀麗.面向數(shù)據(jù)稀疏問(wèn)題的個(gè)性化組合推薦研究[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é)同過(guò)濾推薦算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(7):59-64.
[11]張峻瑋,楊洲.一種基于改進(jìn)的層次聚類(lèi)的協(xié)同過(guò)濾用戶推薦算法研究[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é)校級(jí)項(xiàng)目(No.cyjg1205、No.201625、No.xyjg16005)
唐萬(wàn)梅,女,博士,教授