謝 妙,鄧育林,呂 潔
(1.玉林師范學(xué)院計算機(jī)科學(xué)與工程學(xué)院,玉林 537000;2.南寧師范大學(xué)計算機(jī)與信息工程學(xué)院,南寧 530299)
互聯(lián)網(wǎng)數(shù)據(jù)日益增長,用戶從網(wǎng)絡(luò)中獲取有效數(shù)據(jù)的難度提升。從用戶端來講,用戶需要花費(fèi)更多的時間來完成有價值數(shù)據(jù)的全網(wǎng)檢索,資源獲取的便捷度難以改進(jìn),因此主流方法是從服務(wù)端改進(jìn),通過服務(wù)端的記錄、統(tǒng)計和計算來實現(xiàn)用戶的個性化資源推薦,以解決用戶從海量數(shù)據(jù)快速獲取價值數(shù)據(jù)的問題。當(dāng)前,個性化推薦的方法廣泛用于各個行業(yè)[1-3]。電商行業(yè)將商品的個性化推薦應(yīng)用到了極致,為顧客提供便利;在線社交網(wǎng)絡(luò)根據(jù)用戶的訪問習(xí)慣為用戶推薦興趣相近的資源及好友;網(wǎng)絡(luò)學(xué)習(xí)平臺根據(jù)學(xué)員的學(xué)習(xí)習(xí)慣為其推薦學(xué)習(xí)資源,以解決學(xué)員挑選學(xué)習(xí)資源的盲目性。
當(dāng)前,關(guān)于個性化推薦的研究較多。邵英瑋等[4]對電商平臺的商品推薦進(jìn)行互補(bǔ)性研究,可根據(jù)用戶購物習(xí)慣推薦未來可能需要的物品;Zhang 等[5]采用圖像處理算法對旅游景點(diǎn)進(jìn)行位置識別,利用旅游圖片為用戶進(jìn)行個性化旅游推薦;Gu 等[6]詳細(xì)闡述了知識圖學(xué)習(xí)算法在不同推薦場景中的運(yùn)用優(yōu)勢。這些研究都采用了合適的推薦方法用于不同領(lǐng)域的個性化推薦,但是主要的訓(xùn)練對象大多為自有數(shù)據(jù)集,可遷移性較差,且推薦準(zhǔn)確度仍有一定提升空間。作為一種在實際應(yīng)用中使用最多的神經(jīng)網(wǎng)絡(luò)模型,基于概率無向圖的受限玻爾茲曼機(jī)(Restricted Boltzmann machine,RBM)已廣泛應(yīng)用于圖像和語音處理等領(lǐng)域。近期,人們開始嘗試將RBM 應(yīng)用于個性化推薦領(lǐng)域,并已成為一個很有意義的研究方向。例如楊宇環(huán)等[7]提出了融合關(guān)聯(lián)規(guī)則FP-Growth 和RBM 的混合推薦算法并用于圖書推薦,解決了推薦效率不高的問題。
但是,目前大多數(shù)將RBM 模型應(yīng)用于推薦領(lǐng)域的研究都是采用算法結(jié)合方式,且側(cè)重于提升推薦效率,推薦準(zhǔn)確性不高。為了進(jìn)一步提升推薦的準(zhǔn)確率,本文嘗試構(gòu)建多層RBM 網(wǎng)絡(luò),來生成深度RBM 個性化推薦模型。所提方法根據(jù)用戶和資源的特征,以及用戶對以往資源的評分,并結(jié)合RBM的多次正反向更新,來最終獲得穩(wěn)定的RBM 模型。常用公共數(shù)據(jù)集上的測試結(jié)果表明,通過合理提取輸入用戶和資源特征,并利用用戶對資源的評分結(jié)果,多層RBM 網(wǎng)絡(luò)可以有效提高系統(tǒng)推薦性能。
如圖1 所示,受限玻爾茲曼機(jī)為兩層網(wǎng)絡(luò)結(jié)構(gòu),主要由可見層(Visual layer,VL)與隱藏層(Hidden layer,HL)構(gòu)成[8],W為可見層與隱藏層之間的連接權(quán)重。單個RBM 可以多個級聯(lián),組成深度RBM 網(wǎng)絡(luò)結(jié)構(gòu),也就是說通過多層RBM 來構(gòu)建深度RBM 模型。RBM 網(wǎng)絡(luò)結(jié)構(gòu)主要參數(shù)如表1 所示。
圖1 RBM 結(jié)構(gòu)Fig.1 RBM structure
表1 RBM 結(jié)構(gòu)參數(shù)Table 1 Structural parameters of RBM
式中ε表示學(xué)習(xí)率。
最后,求解用戶u對資源i的評分為[12]
式中K表示評分的最大值。
首先,輸入用戶和資源的特征變量并進(jìn)行初始化。資源特征是指推薦系統(tǒng)目標(biāo)優(yōu)化時所涉及的主要屬性,例如電影推薦系統(tǒng)中用戶考慮的離家距離、大眾評分?jǐn)?shù)值和影院設(shè)施等。然后將特征變量輸入RBM 網(wǎng)絡(luò),根據(jù)需要可構(gòu)建多層RBM 網(wǎng)絡(luò),分別計算VL 和HL所有節(jié)點(diǎn)的激活概率,然后利用快速CD 法進(jìn)行RBM 主要參數(shù)更新,最后通過多次訓(xùn)練,獲得穩(wěn)定RBM 推薦結(jié)構(gòu),主要流程如圖2 所示。
圖2 基于RBM 的個性化推薦流程Fig.2 Personalized recommendation process based on RBM
為了驗證深度RBM 在個性化推薦中的性能,進(jìn)行實例仿真。本文采用的仿真數(shù)據(jù)樣本均為公共數(shù)據(jù)集,具體如表2 所示。深度RBM 層數(shù)對RBM 規(guī)模及訓(xùn)練效果均有著重要影響,而層數(shù)最終會表現(xiàn)在HL 節(jié)點(diǎn)數(shù)目上,因此本文首先針對不同HL 節(jié)點(diǎn)數(shù)進(jìn)行仿真,找出最適合于本文樣本的HL 節(jié)點(diǎn)數(shù);然后對參與訓(xùn)練的節(jié)點(diǎn)數(shù),即不同樣本稀疏度情況下進(jìn)行推薦性能仿真;最后將常用算法和本文算法分別對表2 中的樣本集進(jìn)行性能仿真,比較其推薦RMSE 性能優(yōu)劣。
表2 仿真樣本Table 2 Simulation samples
分別設(shè)置不同的HL 節(jié)點(diǎn)數(shù),驗證不同節(jié)點(diǎn)數(shù)情況下的均方根誤差(Root mean squared error,RMSE)性能,結(jié)果如圖3 所示。
從圖3 可以看出,RMSE 值均隨著節(jié)點(diǎn)數(shù)的增加先降后升,表明個性化推薦的RMSE 值受HL 節(jié)點(diǎn)數(shù)影響敏感度高。對比發(fā)現(xiàn)Movie Lens 和Netfix 數(shù)據(jù)集和最佳節(jié)點(diǎn)數(shù)為100 個,而數(shù)據(jù)集Yahoo Webscope 在節(jié)點(diǎn)數(shù)為140 時獲得最優(yōu)RMSE 性能,這表明訓(xùn)練Yahoo Webscope 數(shù)據(jù)集比其他3 種數(shù)據(jù)集需要更大的深度RBM 網(wǎng)絡(luò)。從圖3 也可以看出,本文算法對Movie Lens100K 的推薦性能最優(yōu),獲得RMSE 約為0.8,對Netfix 的推薦效果最差,RMSE 值約為0.95。因此,本文針對Netfix 集訓(xùn)練時選擇的HL 節(jié)點(diǎn)數(shù)為140,其他3 種數(shù)據(jù)集均選擇100 個HL 節(jié)點(diǎn)參與運(yùn)算。
圖3 4 種樣本的RMSEFig.3 RMSE of four samples
深度RBM 網(wǎng)絡(luò)個性化推薦的性能除了與RBM 結(jié)構(gòu)規(guī)模相關(guān),對訓(xùn)練樣本量依賴性也較高,因此差異化設(shè)置參與訓(xùn)練的樣本量,驗證其推薦性能,結(jié)果如表3 所示。初始狀態(tài)的訓(xùn)練和測試樣本比例為8∶2。
從表3 可知,當(dāng)參與訓(xùn)練的樣本變少,4 種數(shù)據(jù)集的推薦RMSE 值均上升。當(dāng)訓(xùn)練集占比從80% 降至20% 時,Movie Lens100K 集、Movie Lens1M 集、Yahoo Webscope 集和Netflix 集的RMSE 性能分別下降了34.02%、36.66%、30.25%和42.82%。對比發(fā)現(xiàn),Netflix 集的個性化推薦對訓(xùn)練樣本集的稀疏度最敏感,其次是Movie Lens 集,樣本集稀疏度對Yahoo Webscope集影響最小??傊?,當(dāng)訓(xùn)練集占比為80%時,可獲得最優(yōu)的個性化推薦性能。
為了驗證不同算法對表2 中4 種數(shù)據(jù)集的個性化推薦性能,分別采用協(xié)同過濾[13]、典型RBM[14]、深度神經(jīng)網(wǎng)絡(luò)[15]和深度RBM 算法對4 種數(shù)據(jù)集進(jìn)行訓(xùn)練,結(jié)果如圖4~7 所示。RBM 的節(jié)點(diǎn)數(shù)選擇參照根據(jù)表3 結(jié)果,4 種算法參與訓(xùn)練的節(jié)點(diǎn)數(shù)均為總樣本數(shù)的80%。
表3 不同訓(xùn)練樣本量的RMSETable 3 RMSE of different training sample sizes
從圖4~7 可得,對于表2 中4 種數(shù)據(jù)集的個性化推薦,深度RBM 的RMSE 均是最低數(shù)值,這說明深度RBM 對這4種數(shù)據(jù)集具有最高的推薦準(zhǔn)確率。個性化推薦的準(zhǔn)確率高低排序為深度RBM 表現(xiàn)最優(yōu),深度神經(jīng)網(wǎng)絡(luò)次之,協(xié)同過濾和典型RBM 的RMSE 性能最差。從運(yùn)行時間來看,協(xié)同過濾和典型RBM 最好,深度RBM 和深度神經(jīng)網(wǎng)絡(luò)表現(xiàn)較差,主要原因是深度學(xué)習(xí)框架的運(yùn)行需要多次正反向更新,導(dǎo)致運(yùn)算步驟耗時較高。此外,Yahoo Webscope集的運(yùn)行時間最長,主要是因為該樣本集所包含的樣本量最大。
圖4 4 種算法的RMSE(Movie Lens100K)Fig.4 RMSE of four algorithms (Movie Lens100K)
圖5 4 種算法的RMSE(Movie Lens1M)Fig.5 RMSE of four algorithms(Movie Lens1M)
圖6 4 種算法的RMSE(Yahoo Webscope)Fig.6 RMSE of four algorithms (Yahoo Webscope)
圖7 4 種算法的RMSE(Netflix)Fig.7 RMSE of four algorithms(Netflix)
將深度RBM 應(yīng)用于個性化推薦系統(tǒng),根據(jù)用戶和資源的特征,以及用戶對以往資源的評分,并結(jié)合多次正反向更新,來最終獲得穩(wěn)定的深度RBM 模型。實驗結(jié)果表明,在訓(xùn)練樣本量充足時,合理設(shè)置深度RBM 的規(guī)模及隱藏層節(jié)點(diǎn)數(shù),相比于常見個性化推薦算法,本文算法能夠獲得更好的推薦RMSE 性能。后續(xù)研究將進(jìn)一步對深度RBM 的主要參數(shù)更新進(jìn)行優(yōu)化計算,以提高推薦效率,提高該算法在個性化推薦中的適用度。