季蕓等
摘 要: 推薦系統(tǒng)是一種解決信息過載的新型技術,為了解決推薦系統(tǒng)中新用戶帶來的冷啟動問題,提出一種基于主動學習的推薦系統(tǒng)。主動學習方法能有效減少需要標記的樣本數量,快速建立模型,在此選擇將主動學習方法和Baseline SVD推薦算法結合起來,通過記錄模型訓練得到的預估評價的改變程度,認為改變最大的樣例即是最具有信息量的樣例,供新用戶標記,并重新訓練模型。通過與其他選擇策略進行實驗比較,證實了該方法確實有效解決了新用戶帶來的冷啟動問題。
關鍵詞: 推薦系統(tǒng); 主動學習; Baseline SVD; 樣例選擇
中圖分類號: TN915.03?34 文獻標識碼: A 文章編號: 1004?373X(2015)12?0008?04
Recommender system based on Baseline SVD active learning algorithm
JI Yun1, HU Xue?lei1, 2
0 引 言
隨著信息技術和互聯網的高速發(fā)展,各種互聯網應用充斥著每個人的生活,得益于互聯網的開放性,便利性和分布性,互聯網上的信息量急劇增加。為了解決信息過載問題,推薦系統(tǒng)成為了繼分類目錄和搜索引擎之后,大數據時代的新寵。協(xié)同過濾作為一種主流的推薦系統(tǒng)技術[1],在學術界和應用上都廣受好評,它的主要思想是通過用戶之間的聯系來分享物品。協(xié)同過濾算法分成兩種[2]:一種是基于記憶的協(xié)同過濾算法(Memory?based),包括ItemCF算法和UserCF算法,通過計算用戶或物品之間的相似度來做推薦;另一種是基于模型的協(xié)同過濾(Model?based),基于模型的推薦算法往往結合了數據挖掘、人工智能、機器學習等諸多技術,常見的有基于聚類的推薦、基于矩陣分解的算法、Slope One[3]等,其中基于矩陣分解的算法有:SVD,Baseline SVD[4],SVD++[5]等。在Netflix Prize推薦大賽之后,基于矩陣的推薦算法迅速崛起。推薦系統(tǒng)的發(fā)展受到了諸多因素的影響,其中一種便是新用戶問題。推薦系統(tǒng)算法非常依賴歷史數據,在用戶新注冊互聯網應用之后,系統(tǒng)由于沒有該用戶的相關數據,而無法為新用戶做出準確的推薦,這會大大影響互聯用應用對用戶的黏著性。為了解決新用戶問題,常見的方案有:
(1) 非個性化推薦,隨機推薦或者推薦熱門,這種方法不夠個性化,系統(tǒng)必須累積一定數量的數據才能啟動推薦系統(tǒng);
(2) 根據用戶注冊信息做出推薦,用戶的注冊信息往往是有限的,這樣的推薦偏向粗粒度;
(3) 主動詢問,該方法通過與用戶交流,主動獲取建立模型需要的相關知識,快速建立準確模型。
推薦系統(tǒng)中,在將推薦產品呈現給用戶時,一方面期望得到用戶的滿意度,另一方面期望能從用戶的操作中學習到用戶的偏好,這正是主動學習所致力的,因此將主動學習結合推薦系統(tǒng)是不謀而合的[6]。國外研究人員目前常用的算法是將貝葉斯理論作為樣本選擇策略,AM(Aspect Model)算法為基準學習器[7]。Jin等針對模型本身不確定性的問題,提出了改進,使得用戶參數向著準確的方向增長[8]。Rasoul Karimi提出一種基于矩陣分解的主動學習算法,選出預估評分最低的樣本供用戶選擇[9]。
2 基于主動學習的Baseline SVD算法
為解決新用戶問題,本文選擇將主動學習策略和推薦算法結合起來的方法,以加快冷啟動速度。主動學習根據樣本選擇策略,從提問池中選擇一個樣本供新用戶標記,并不斷修正模型,直到模型穩(wěn)定為止,訓練模型的過程如圖1所示,這是一個不斷迭代的過程。主動學習的核心是樣本選擇策略,目前常用的樣本選擇策略有:基于不確定性縮減的算法,基于誤差縮減的算法和基于版本空間縮減的算法。將主動學習策略與其他應用做結合的研究很多,例如基于主動學習的字符識別[10]、文本分類等。
由于不同的學習算法需要不同的主動學習策略,基于AM算法的主動選擇策略并不適用于Baseline SVD算法,并且他們的模型太過復雜,本文選擇Baseline SVD作為基準學習器,提出了一種基于評分改變程度作為樣例選擇的策略。在每次提問后,都會重新訓練,同時給出新的預估評分,預估評分波動較大的物品認為是最不能確定,也是最具信息量的。圖2中,(a)的預估評分在不同輪數之間的評分差變化很大,而(b)的預估評分相對于要穩(wěn)定很多,相對于后者,不能確定(a)的評分的可能性更大,得到該樣本的標記可以讓模型更快趨于穩(wěn)定,使用式(6)來衡量這種改變程度的大?。?/p>
[j=1cnt-1rj+1u,i'-rju,i'cnt-1] (6)
[i′*=argmaxi'∈I'j=1cnt-1rj+1u,i′-rju,i′cnt-1] (7)
式中:cnt表示模型訓練的總次數;I′表示為標注樣本的集合;[rju,i']表示第j次模型;用戶u對i′的預估評分,在所有未評分的物品,最終選出該值最大的物品供用戶標記,該式的意義是連續(xù)兩次模型計算出來的預估評分差的平均值。具體算法流程如圖3所示。
3 實驗分析
實驗使用經典的Movielens作為數據集,采用離線模擬的方式。為了更好地模擬在線用戶的實際情況,將Movielens中的用戶分成兩部分,選擇一部分用戶和其所評價過的電影數據作為初始的訓練集,認為這些用戶已經不是新用戶。剩下來的用戶作為新用戶,并將這一部分用戶評價電影的數據再拆分成兩個部分,每個用戶隨機預留20個電影評分作為最終的測試集,其他部分的電影評分作為提問池。本文假設用戶對每個電影都具有打分的能力,系統(tǒng)每次從提問池中選擇電影樣本,供用戶回答,再將這些被標注好的樣本放入訓練集后,重新訓練模型。初始化時,從提問池中隨機抽取該新用戶的3個樣本放入訓練集中,具體的訓練集和測試集的分布如表2所示。
表2 Movielens訓練集和測試集的分布
經過研究測試,Baseline SVD算法在Movielens數據集中,選擇隱分類數為200時效果較好,其中,學習速率α選擇0.02,正則系數λ選擇0.05。為了反映本文提出的算法性能,選擇以下兩種策略作為比較算法:
(1) 隨機選擇。每次從提問池中隨機選擇一部用戶需要標記的電影。
(2) 選擇熱門。每次從提問池中選擇熱門的電影,熱門產品的定義為,訓練集中被看的次數最多的電影。
為評價本文提出的算法,使用RMSE[11]作為算法的評價指標,本文將最大的迭代次數選為8,8次迭代過后,模型對新用戶的推薦基本趨向平穩(wěn)。為了更好地反映結果,對每個實驗都進行重復實驗,最后結果取平均值,有:
[RMSE=1cu∈Ui∈I(rui-rui)2] (8)
由圖4可以得出以下結論,選擇熱門產品的方案最差,雖然流行度高的電影普及度最廣,但是其對于個性化的推薦模型建立并不能做出很大的貢獻,其RMSE下降速度最慢。
隨機選擇策略接近于被動學習中,被動累積數據的情況,本文提出的方法在實驗初期,RMSE的數值下降速度最快,明顯加快了冷啟動速度,隨著提問次數增加,RMSE和隨機選擇方法效果接近。本文提出的算法在每次提問時,僅需維護一個記錄累計評分改變的矩陣,為每一個新用戶選擇評分改變最大的物品,算法復雜度較小,也易于理解。
4 結 語
本文提出了一種基于主動學習的推薦算法,以解決推薦系統(tǒng)中新用戶問題。該方法將預估評分的改變程度作為樣本選擇策略,認為預估評分改變較大的樣例是模型最不能確定的,所含信息量較大。實驗證明,該方法確實能有效減緩用戶的冷啟動。但是本文中的實驗是基于用戶總能回答任何問題的假設前提,這在現實中是不成立的,因此,將用戶標記樣本的能力結合樣例選擇策略將是今后的研究重點。
參考文獻
[1] 項亮.推薦系統(tǒng)實踐[M].北京:人民郵電出版社,2012.
[2] 王國霞,劉賀平.個性化推薦系統(tǒng)綜述[J].計算機工程與應用, 2012,48(7):66?76.
[3] Lemire D, Maclachlan A. Slope one predictors for online rating?based collaborative filtering [C]// Proceedings of SIAM Data Mining. Newport Beach, California: SDM, 2005, 5: 1?5.
[4] YEHUDA Koren. Factor in the neighbors: scalable and accurate collaborative filtering [J]. ACM Transactions on Knowledge Discovery from Data, 2010, 4(1): 1?10.
[5] 劉劍波,楊健.基于SVD++與行為分析的社交推薦[J].計算機應用,2013,33(1):82?86.
[6] RUBENS Neil, KAPLAN Dain, SUGIYAMA Masashi. Active learning in recommender systems [M]// Anon. Recommender Systems Handbook. US: Springer, 2011: 736?767.
[7] KARIMI Rasoul, FREUDENTHALER Christoph, NANOPOULOS Alexandros, et al. Active learning for aspect model in recommender systems [C]// Proceedings of 2011 IEEE Symposium on Computational Intelligence and Data Mining (CIDM). [S.l.]: IEEE, 2011:162?167.
[8] JIN R, SI L. A bayesian approach toward active learning for collaborative filtering [C]// Proceedings of the 20th Conference on Uncertainty in Artificial Intelligence. [S.l.]: AUAI Press, 2004: 278?285.
[9] KARIMI Rasoul, FREUDENTHALER Christoph, NANOPOULOS Alexandros, et al. Non?myopic active learning for recommender systems based on matrix factorization [C]// Proceedings of 2011 IEEE International Conference on Information Reuse and Integration. [S.l.]: IEEE, 2011: 299?303.
[10] 孟凡棟.基于主動學習SVM的字符識別方法研究[D].南京:南京理工大學,2008.
[11] 劉建國,周濤,郭強,等.個性化推薦系統(tǒng)評價方法綜述[J].復雜系統(tǒng)與復雜性科學,2009(3):1?10.