王穎,唐萬梅
(重慶師范大學計算機與信息科學學院,重慶 401331)
一種改進的基于用戶屬性聚類的推薦算法
王穎,唐萬梅
(重慶師范大學計算機與信息科學學院,重慶 401331)
實際應用中的協同過濾推薦算法往往面臨著用戶冷啟動、數據稀疏等問題。針對以上問題,擬采用用戶的屬性信息進行聚類進行優化,實驗通過MATLAB平臺在MovieLens數據集上驗證所提出的算法的推薦準確性。
用戶屬性聚類;推薦算法;冷啟動;數據稀疏
互聯網的普及和信息爆炸式增長,使網民遭遇了信息超載等諸多問題。以協同過濾推薦的提出[1]為標志的推薦系統(Recommender System)作為信息過濾系統的一個子類應運而生,它通過挖掘和分析系統用戶行為數據如興趣偏好、用戶屬性信息等幫助用戶快速尋找滿足其需求和興趣的物品或信息。目前個性化推薦得到廣泛關注并取得較大發展,但同時面臨巨大挑戰,如冷啟動問題、數據稀疏問題等。
針對推薦算法中的冷啟動、數據稀疏等問題,研究者從不同角度對推薦算法進行了改進。文獻[2]提出一種對用戶離線聚類和在線尋找用戶的最近鄰的方法,文獻[3]通過相似度的關聯推薦進行了優化,文獻[4]利用用戶間的信息傳遞和層次聚類方法改進了推薦算法,文獻[5]將譜聚類應用到用戶聚類中去,通過構造拉普拉斯矩陣并選擇和構造合適的特征向量空間并采用K-Means算法對特征向量進行聚類。還有很多研究者通過降維、語義分析、Jaccard相似度、奇異值分解、引入其領域知識等[6-10]方法解決數據稀疏問題。
本文使用用戶屬性而非評分信息尋找目標用戶近鄰,可以緩解新用戶的冷啟動問題,進一步通過聚類算法優化緩解數據稀疏對推薦準確性的影響,同時算法提高了推薦的準確性,算法主要思想是:首先對用戶屬性進行預處理,之后基于用戶屬性進行聚類,通過尋找目標用戶u所屬類找到目標用戶的鄰居集合,根據鄰居用戶對目標用戶進行評分預測,把評分高的項目推薦給目標用戶u。
2.1 對推薦系統中的用戶屬性進行預處理(表1)

表1 用戶屬性預處理
2.2 使用K-Means算法對用戶基于屬性進行聚類
把用戶基于屬性聚為K類,且滿足以下任一條件時迭代終止,具體代碼如表下所示:

2.3 對目標用戶u進行評分預測
需要注意的是,基于2.1小節四個屬性(即numAttr=4)聚類,相似度計算公式如下,

例如,歸一化后用戶u和v的年齡屬性值相同即Age(u)=Age(v),則記為Simage(u,v)=1,否則Simage(u,v)=0。同理計算gender、occupation、zipCode屬性相似度。之后根據用戶屬性相似度預測目標用戶u對項目i的評分:

2.4 評分預測準確性
目前推薦的準確性仍然是衡量一個推薦算法的關鍵指標,常見的推薦準確性評價指標有均方根誤差(RMSE)與平均絕對誤差(MAE),RMSE和MAE值的范圍為(0,1),且值越接近0表示推薦結果的準確性越高,公式如下:

其中pi向量存放測試集中用戶對n個項目的實際評分,qi存放用戶對n個項目通過本文算法預測出的評分。
實驗使用數據是MovieLens數據集,包含用戶943個,電影1682部,以及用戶對電影逾100,000條評分,評分范圍是0-5之間的整數,實驗平臺為MATLAB 2010b版本。
實驗驗證傳統K-Means聚類推薦、Baseline算法[11]和本文算法(improved algorithm)在不同K上的表現(圖1),以及本文算法在不同規模數據集上的推薦準確度(圖2)。
實驗表明本文算法評分預測準確性高于傳統KMeans聚類推薦算法和本文選取參照的Baseline算法[11],且隨著數據集增大,推薦效果越好。
本文改進了基于用戶屬性聚類的推薦算法,在緩解用戶冷啟動和數據稀疏性問題以及提高推薦的準確性方面具有一定優越性,但聚類個數K與數據集規模、目標用戶評分個數的聯系有待進一步探索。

圖1 Traditional K-Means、Baseline、Improved Algorithm算法對比

圖2 本文算法在不同規模數據集上表現
[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]李濤,王建東,葉飛躍,等.一種基于用戶聚類的協同過濾推薦算法[J].系統工程與電子技術,2007,29(7):1178-1182.
[3]郭曉波,趙書良,牛東攀,等.一種解決稀疏數據和冷啟動問題的組合推薦方法[J].中國科學技術大學學報,2015,45(10):804-812.
[4]尹航,常桂然,王興偉.采用聚類算法優化的K近鄰協同過濾算法[J].小型微型計算機系統,2013,34(4):806-809.
[5]李振博,徐桂瓊,査九.基于用戶譜聚類的協同過濾推薦算法[J].計算機技術與發展,2014,24(9):59-67.
[6]姜維,龐秀麗.面向數據稀疏問題的個性化組合推薦研究[J].計算機工程與應用,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]陳宗言,顏俊.基于稀疏數據預處理的協同過濾推薦算法[J].計算機技術與發展,2016,26(7):59-64.
[11]張峻瑋,楊洲.一種基于改進的層次聚類的協同過濾用戶推薦算法研究[J].計算機科學,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-),女,碩士研究生,研究方向為推薦系統、數據挖掘
2017-03-30
2017-04-10
重慶市教改項目(No.yjg123040)、重慶師范大學校級項目(No.cyjg1205、No.201625、No.xyjg16005)
唐萬梅,女,博士,教授