王衛兵 張立超 徐倩



摘 要:在數據量過于龐大的情況下,RBM模型所輸出的推薦結果會比較寬泛。此外,目前眾多的協同過濾算法無法對巨大的數據集進行更好的處理。所以,嘗試通過深度學習來對個性化推薦進行加強,指出把受限波爾茲曼機與隱含因子模型相結合的混合推薦方法。首先用RBM算法生成候選集,并對候選集的稀疏矩陣進行評分預測,然后使用LFM對候選結果進行排序,進而選擇最優方案進行推薦。使用大型公開數據集對本文算法進行反復驗證,通過測試可以看出,相比較于傳統的推薦模型,本文所提闡述的方式能夠有效提高評分預測的精準度。
關鍵詞:推薦算法;深度學習;RBM模型;LFM模型
DOI:10.15938/j.jhust.2020.05.009
中圖分類號: TP316.2
文獻標志碼: A
文章編號: 1007-2683(2020)05-0062-06
Abstract:In the case where the amount of data is too large, the recommended results output by the RBM model will be broader. Besides, many collaborative filtering algorithms currently do not handle large data sets better. So, we try to use the deep learning technology to strengthen the personalized recommendation model. We propose a hybrid recommendation model combining the bound Boltzmann model and the hidden factor model. First, we use the RBM algorithm to generate candidate sets, and score the sparse matrix of the candidate set. Then we use the LFM model to sort the candidate results and select the optimal solution for recommendation. The hybrid model is validated using used large public datasets. It can be seen from the verification that compared with the traditional recommendation model, the proposed method can improve the accuracy of the score prediction.
Keywords:recommendation algorithm; deep learning; restricted boltzmann machine; latent factor model
0 引 言
對于推薦系統,盡管前期已有很多人就此提出了多種算法和應用實現方案,不過依舊有許多問題尚未得到解決,譬如冷啟動問題、數據稀疏問題等就是比較典型的問題,而且是普遍存在的問題。針對上述問題,已有不少研究人員都提出了在建模中導入包括內容信息[1-2]、標簽信息[3-4]、社會信息[5]以及用戶反饋信息[6]等附加信息。考慮到有大量在線服務都能夠給用戶提供多元選擇,推薦所發揮的作用日益關鍵[7]。相對于個人來說,推薦系統的設計與應用有益于人們對信息的高效運用。目前運用的推薦算法主要包括基于內容推薦、協同過濾以及混合推薦三大類[8-9]。
協同過濾根據用戶瀏覽或消費的歷史信息,面向用戶進行產品推薦。算法簡單、結果較為準確且有效,所以成為目前應用最多的算法[10]。其主要有基于模型的推薦算法和基于記憶的推薦算法兩種類型[11]。就后者而言,是通過項目評分矩陣而對物品與用戶兩者間的相似程度進行計算,進而通過所求得的相似度來推薦給使用者。其優勢為極高的通用性、極強的操作性和較為簡捷的算法。其主要缺陷在于極易被冷啟動問題所限制。而對于前者來講,此算法嘗試對用戶以往尚未見過物品所產生的興趣度進行預測,所針對的對象為某一用戶,通過機器學習算法來對物品向量進行訓練。當模型被構建之后,對用戶就新物品的評價進行一定的預測,從而形成相關推薦的實現,使得用戶項目評分矩陣得到了更為深入的充填。然而,算法較為繁雜且不易操作。
深度學習、語音辨識、機器翻譯等技術在當前的推薦應用中也多有采用。它能夠組合低層水平的多種特征,得到較高層次水平和更強抽象性的表示,因此具備強大的數據自動處理并提取特征等突出優點。該技術建立的模型主要包括深度玻爾茲曼機、深度信念網絡、卷積神經網絡、棧式降噪自動編碼器等[12-13]。同時研究人員還主要基于輔助信息、評分提出了多種問題解決方案。其中基于評分的解決方案,也就是以評分為基礎建模開展深度學習并進行產品推薦[14-15],上述方式主要憑借深度學習,構建評分矩陣,完成項目或用戶行為學習,實現產品推薦,結果證明相比于過去常用的矩陣分解等線性模型,這一方法已有明顯改善。其中,基于輔助信息的模型主要從標簽、內容以及圖像中學習壓縮等視角切入,提出結合運用傳統矩陣分解法來實現產品的推薦[16-18]。而在深度模型之內導入輔助信息能夠顯著增強推薦的各項相關性能。
Salakhutdinov等[19]首次提出將深度學習算法引入到協同過濾算法當中,同時闡釋了首個雙層受限玻爾茲曼機(Restricted Boltzmann Machine, RBM)模型。在這一模型中,將用戶給出的評分作為可見層,將用戶信息作為隱藏層,還構建應用概率模型預測評分。不過本模型僅僅以評分為研究對象,無法有效達成推薦目的也就是得到top-N結果。Truyen等[20]研究得到了以協同過濾為基礎的序號玻爾茲曼機,著重分析評分序列參數,同時給出了數個不同玻爾茲曼機整合并用于以項目和用戶為基礎的課題中。何潔月等[21]主要擴展了RBM模型,研究給出了以實值狀態為基礎的玻爾茲曼機,本模型主要從下述三個角度完成了RBM的完善和改進,其一是將評分直接用于可見單元狀態,而無需將其轉化為向量0~1(K維),其二是將未評分數據用于訓練數據集合,其三是將在應用模型中導入好友信任關系,有效解決稀疏性問題。Wang等[22]主要運用深度信念網,建立統一框架提取作品特征并完成對音樂作品的推薦。Oord等[23]主要運用卷積神經網絡方法來實現音樂作品的主動推送。不過上述方法中省去了預處理數據的步驟,在神經網絡之內直接錄入評分矩陣,數據稀疏問題依然存在著。
針對上述問題,本文提出了基于RBM與隱含因子模型(latent factor model,LFM)的混合推薦模型(RBM-LFM),有效解決所需處理數據規模很大時,RBM模型推送信息結果太過廣泛的實際問題,同時,改善協同過濾算法不能處理大數據集以及稀疏矩陣的問題。實驗中使用RBM模型來訓練評分矩陣,生成候選集,另外對候選集中稀疏評分矩陣進行評分預測,訓練結束后,將候選集結果輸入LFM模型中,通過LFM模型計算出最優的推薦結果。
1 基于RBM和LFM的混合推薦模型框架設計
基于RBM和LFM的混合推薦模型主要由以下5個不同模塊所組成:其一,數據預處理模塊;其二,RBM模型訓練調優模塊;其三,候選集數據填充模塊;其四,LFM排序模塊;其五,輸出推薦結果模塊。算法架構如圖1所示。
本模型中可見、隱藏兩層內全部單元都改成向量{0,1}。因此,預處理信息時,只需預處理待錄入信息,也用向量{0,1}來表示電影評分矩陣。
將處理后的數據輸入到RBM模型中,對RBM模型進行訓練調優并生成候選集。首先給定RBM所需參數,即隱藏單元數目、最大訓練次數以及學習率。隨后,選取特定參數同時將其他參數固定下來并重復多次展開訓練,如此反復實驗多次之后,即可得到參數取值的最佳值組合。用此結果對RBM模型進行訓練,隨后將錄入信息視為候選集。且填充候選集中所缺少的數據,輸入到下一模塊中。
將候選集數據輸入到LFM模型,通過優化指定的參數,建立最優模型。將用戶對每個電影的興趣度值求出,進而推薦給用戶。
圖1 RBM-LFM模型框架圖
Fig.1 the RBM-LFM model frame
2 基于RBM的推薦模型
玻爾茲曼機(Boltzmann machine, BM)屬于生成式隨機神經網絡的一種,由學者Hinton和Sejnowski所提出,其通過某些隱層單元以及可見單元所組成,兩者均為二元變量,狀態取值均用向量0-1表示,其中,0代表的是抑制狀態;1代表的是激活狀態。其可以對繁雜的數據規則進行學習。但是,玻爾茲曼機的訓練過程非常耗時,并且有時候會難以表示數據所服從的分布。受此影響,Sejnowski等人則闡述了一類受限玻爾茲曼機,它以玻爾茲曼機為基礎,將同層變量間的連接全部清除,使得所存在的弊端得以解決,有力地促使了學習效率的有效提升,并逐步應用到了用戶評分預測、推薦系統等領域。圖2為RBM的結構圖,涵蓋權重w、隱層h、可見層v以及對應的偏置向量a、b。偏置單元用來反應固有的受歡迎程度,它的值總為1。很明顯,同層節點間互不相連,不同層節點全部相連。
本文對基于項目的RBM推薦模型進行了一定的闡述(見圖3)。假設我們有m個電影,n個用戶和從1到K的整數評分值。本文將每個電影作為一個RBM訓練模型,用戶評分數據作為可視層輸入。從圖中可以看出:通過K長度的softmax單元來代表各個可見層神經單元,其表示某用戶對某電影的評分,借助missing單元來代表未評分記錄,此類missing單元不連接任一隱藏層神經單元。那么,各個RBM模型可見層神經單元總數由missing單元以及可見層softmax單元所構成。所以,針對每個電影的評分集合,如果被r(r<=n)個用戶評分,便能夠通過K×r的二值矩陣v來代表,vki=1則表示用戶為此電影評分為k,而該項目i對應的softmax單元的其他部分則為0,即vk'i=0, k'≠k。所有的電影通過不一樣的RBM模型來表達。
4 實驗結果與分析
4.1 實驗數據集
本文采用通用電影評分數據集MovieLens 1M和MovieLens 20M來開展實驗。這兩個數據集的基本信息如表1所示。大體上涵蓋的數據信息為3類:電影信息、用戶信息、以及評分信息。1~5間的整數為評分值。在實驗時運用將75%的數據集視作訓練樣本,其他的則為測試樣本。樣本用隨機方法進行選擇。
4.2 實驗評價指標
將RMSE視為預測評分指標中最為關鍵的一項。如果差值越低,則表明預測質量更優。假定Rij 代表的是使用者所評分的項目,R^ij代表的是所預估的評分,T集合了數據測試的評分,數據測試的總數由|T|代表。則均方根誤差RMSE為:
4.3 實驗結果分析
為更好地對此算法的有效性進行檢驗,把此文所應用的算法和基于項目(Item-based)的協同過濾、基于用戶User-based)的協同過濾算法、基于內容的推薦算法(Content-based)以及奇異值矩陣分解(SDV)在共同數據集MovieLens 1M和MovieLens 20M下進行對比驗證。本次實驗的訓練測試集為MovieLense中的評分集合,實驗過程中,會對樣本進行多次微調,對參數進行反復更新,將重構誤差縮小到一定范圍內,迭代次數最少10次,最多70次,根據圖4則能夠發現:如果所設置的參數相同,本文算法是推薦效果最為優異的算法。
當推薦列表個數K值為50、100、150、200、250、300、350時,各個算法的召回率情況如圖5所示,通過實驗結果則可以看出:如果具有相同的推薦長度,本文具有最為優異的算法。
5 結 論
本文給出了混合使用隱因子模型、RBM的混合模型,所得結果證明,與推薦實現的傳統方法對比,本研究提出的算法所得結果更加準確。假使數據量過多,傳統協同過濾算法便無法更好地進行計算,借助于RBM模型所輸出的推薦結果相對廣泛。本文將兩者結合,針對RBM得出的大量結果集進行填充,并且使用LFM模型對候選集再一次進行排序,將最優的top-N結果選出,并予以推薦。通過實驗結果便能夠發現:將深度模型導入用于推薦系統是一個較有發展潛力的研究方向。本次研究過程中耗費了大量時間對數據進行預處理和對模型進行訓練,效果仍有改進空間,后期可用其他深度學習模型繼續研究。
參 考 文 獻:
[1] WANG Hao, LI Wujun. Relational Collaborative Topic Regression for Recommender Systems [J]. IEEE Transactions on Knowledge and Data Engineering, 2015,275):1343.
[2] ZHENG Xiaolin, DING Weifeng, LIN Zhen, et al. Topic Tensor Factorization for Recommender System[J]. Information Sciences, 2016,372:276.
[3] WANG Hao,SHI Xingjian,YEUNG D Y.Relational Stacked Denoising Auto-encoder for Tag Recommendation[C]// Proceedings of the 29th AAAI Conference on Artificial Intelligence, 2015:3052.
[4] MA Huifang, JIA Meihuizi, ZHANG Di, et al. Combining Tag Correlation and User Social Relation for Mic; Roblog Recommendation [J] . Information Sciences, 2017,385:325.
[5] PARK C, KIM D, OH J, et al.Improving Top-K Recommendation with Truster and Trustee Relationship in User Trust Network [J]. Information Sciences, 2016,374:100.
[6] PAN Weike, XIA Shanchuan, LIU Zhuode, et al. Mixed Factorization for Collaborative Recommendation with Heterogeneous Explicit Feedbacks[J] .Information Sciences,2016,332: 84.
[7] ZHANG Wancai, SUN Hailong, LIU Xudong, et al. Temporal Qos-aware Web Service Recommendation Via Non-negative Tensor Factorization[C]// Proceedings of the 23rd International Conference on World Wide Web, 2014:585.
[8] BOBADILLA J,ORTEGA F,HERNANDO A,et al.Recommender Systerms Survey[J].Knowledge Based Systems, 2013,46:109.
[9] 黃震華,張佳雯,田春岐,等.基于排序學習的推薦算法研究綜述[J]. 軟件學報,2016,273):691.
HUANG Zhenhua, ZHANG Jiawen, TIAN Chunqi, et al. Survey on Learning-to-Rank Based Recommendation Algorithms[J]. Journal of Software, 2016,27(3):691.
[10]冷亞軍,陸青,梁昌勇.協同過濾推薦技術綜述[J]. 模式識別與人工智能,2014,278):720.
LENG Yajun, LU Qing, LIANG Changyong. Survey of Recommendation Based on Collaborative Filtering[J]. Pattern Recognition and Artificial Intelligence, 2014,27(8):720.
[11]丁少衡,姬東鴻,王路路.基于用戶屬性和評分的協同過濾推薦算法[J]. 計算機與工程設計,20152):487.
DING Shaoheng, JI Donghong, WANG Lulu. Collaborative Filtering Recommendation Algorithm Based on User Attributes and Scores[J]. ?? Computer Engineering and Design, 2015(2):487.
[12]ZHANG Shuai, YAO Ling, et al. Deep Learning Based Recommender System: A Survey and New Perspectives[J] ACM Computing Surveys,2018,1(1):1267.
[13]黃立威,劉艷博..李德毅.基于深度學習的推薦系統[J].計算機學報,2018,41(7):1619.
HUANG Liwei, LIU Yanbo, LI Deyi. Surery on Deep Learning Based Recommender Systems[J]. Chinese Journal of Computers, 2018,41(7):1619.
[14]張敏,丁弼原,馬為之,等. 基于深度學習加強的混合推薦方法[J]. 清華大學學報(自然科學版),2017(57):1014.
ZHANG Min, DING Biyuan, MA Weizhi, et al. Hybrid Recommendation Approach Enhanced by Deep Learning[J]. Journal of Tsinghua UniversityScience and Technology), 2017(57):1014.
[15]WU Yao, DU BOIS C, ZHENG A X, et al. Collaborative Denoising Auto-encoders for Top-N Recommender Systems[C]//Proceedings of the 9th ACM International Conference on Web Search and Data Mining, 2016:153.
[16]彭宏偉,靳遠遠,呂曉強,等.一種基于矩陣分解的上下文感知POI推薦算法[J]. 計算機學報,2018,41(34):1324.
PENG Hongwei, JIN Yuanyuan, L Xiaoqiang, et al. Context-Aware POI Recommendation Based on Matrix Factorization[J]. Chinese Journal of Computers, 2018,41(34):1324.
[17]HE Ruining, MCAULEY J. VBPR:Visual Bayesian Personalized Ranking from Implicit Feedback[C]//Proceedings of the 30th AAAI Conference on Artificial Intelligence,2016:144.
[18]LEI Chenyi, LIU Dong, LI Weiping, et al. Comparative Deep Learning of Hybrid Representations for Image Recommendations[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition,2016:2545.
[19]SALAKHUTDINOV R, MNIH A, HINTON G. Restricted Boltzmann Machines for Collaborative Filtering[C]// Proceedings of the 24th International Conference on Machine Learning,2007:791.
[20]TRUYEN T T, PHUNG D Q, VENKATESH S. Ordinal Boltzmann Machines for Collaborative Filtering[C]// Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence, 2009: 548.
[21]HE Jieyue, MA Be.Based-on Real-valued Conditional Restricted Boltzmann Machine and Social Network for Collaborative Filtering. Chinese Journal of Computers, 2016, 39(1): 183.
[22]WANG Xinxi, WANG Ye. Improving C; Ontent}ased and Hybrid Music Recommendation Using Deep Learning[C]// Proceedings of the 22nd ACM International Conference on Multimedia. 2014: 627.
[23]OORD A V D, DIELMAN S, SCHRAUWEN B.Deep Content-based Music Recommendation[C]// Proceedings of the 26th International Conference on Neural Information Processing Systems, 2013:2643.
(編輯:王 萍)