王瑞琴 吳宗大 蔣云良 樓俊鋼
1(湖州師范學(xué)院信息工程學(xué)院 浙江湖州 313000)2(溫州大學(xué)甌江學(xué)院 浙江溫州 325035)
個性化推薦系統(tǒng)是互聯(lián)網(wǎng)和電子商務(wù)發(fā)展的產(chǎn)物,是建立在海量數(shù)據(jù)挖掘基礎(chǔ)上的高級商務(wù)智能平臺,旨在向顧客提供個性化的信息服務(wù)和決策支持.個性化推薦技術(shù)是最具人文關(guān)懷的技術(shù)之一,它尊重個體、相信每個人都是與眾不同的,在這個信息爆炸和以人為本的時代,實現(xiàn)個性化推薦服務(wù)勢在必行.成功的電子商務(wù)推薦系統(tǒng)能有效保留客戶,提高企業(yè)銷售額,產(chǎn)生巨大的經(jīng)濟效益和社會效益[1].
近年來,越來越多的研究人員將深度學(xué)習(xí)技術(shù)應(yīng)用于推薦系統(tǒng)領(lǐng)域并取得了一定的成功[2-6],其中以基于深度神經(jīng)網(wǎng)絡(luò)(deep neural network, DNN)的協(xié)同推薦模型最為流行,DNN推薦模型主要研究高階特征的交互行為對預(yù)測和推薦任務(wù)的影響[7].盡管深度學(xué)習(xí)模型本身就是特征提取和參數(shù)學(xué)習(xí)的有效工具,但在輸入向量稀疏的情況下,其學(xué)習(xí)結(jié)果很容易落入局部最優(yōu),從而影響推薦性能.
對于深度學(xué)習(xí)模型的輸入優(yōu)化,目前比較流行的做法是采用嵌入式編碼方案對輸入向量進行稠密化處理,然而嵌入式編碼無疑會產(chǎn)生附加的模型參數(shù),這些參數(shù)都需要經(jīng)過迭代進行學(xué)習(xí),使整個模型的復(fù)雜度也有所增加.因此,探索一種具有封閉式參數(shù)計算能力的特征學(xué)習(xí)模型是提高基于深度學(xué)習(xí)的推薦模型的關(guān)鍵所在,而邊緣化堆疊式去噪自動編碼機(marginalized stacked denoising auto-encoder, mSDA)正好滿足這一需求,它通過無限最大化隨機特征擾動的次數(shù)使參數(shù)計算具有封閉性,具有較低的計算復(fù)雜度和良好的可擴展性[8].那么是否可以利用mSDA模型對DNN推薦模型的輸入向量進行初始化呢?如果可以那么應(yīng)該采用怎樣的方式將2個模型進行組合或集成?這些都是值得研究的問題.
基于這一啟發(fā)式思想,本文提出一個基于兩階段深度學(xué)習(xí)的集成推薦模型,通過mSDA模型進行用戶和項目抽象特征的學(xué)習(xí),將學(xué)習(xí)到的抽象特征作為DNN模型的輸入進行評分預(yù)測,通過聯(lián)合訓(xùn)練的方法進行集成模型的參數(shù)學(xué)習(xí)和模型優(yōu)化.總的來說,本文的貢獻主要表現(xiàn)在4個方面:
1) 提出一種基于兩階段深度學(xué)習(xí)的集成推薦模型架構(gòu),即采用一種低成本的深度學(xué)習(xí)模型來初始化另一種高性能的深度學(xué)習(xí)模型,二者進行聯(lián)合訓(xùn)練以達到全局最優(yōu);
2) 采用mSDA模型代替?zhèn)鹘y(tǒng)深度學(xué)習(xí)模型中的嵌入式編碼方法,這樣不僅可以學(xué)習(xí)到高階特征,而且其特有的封閉式參數(shù)計算方法快速而高效,沒有產(chǎn)生太多的計算負載;
3) 為了建模低階特征交互對評分預(yù)測和推薦性能的影響,將邏輯回歸模型集成到兩階段深度學(xué)習(xí)模型中,使模型同時具有線性建模和深度學(xué)習(xí)的能力;
4) 本文提出的模型是一個通用的兩階段推薦模型,在該模型框架上,完全可以采用其他低時高效的特征學(xué)習(xí)模型對深度學(xué)習(xí)模型的輸入向量進行優(yōu)化.
本文提出的推薦模型是基于DNN模型和mSDA模型的集成框架,本節(jié)將簡要介紹這2種模型以及基于這些模型的一些流行的推薦方法.
近年來,隨著深度學(xué)習(xí)技術(shù)在語音識別、計算機視覺、自然語言處理等領(lǐng)域的成功應(yīng)用和優(yōu)異表現(xiàn),研究者們嘗試利用深度學(xué)習(xí)模型來建模高階特征之間的交互關(guān)系,進而實現(xiàn)評分預(yù)測與推薦,其中以DNN模型最為常用.DNN是對神經(jīng)網(wǎng)絡(luò)的擴展,可以直觀地理解為有很多隱藏層的神經(jīng)網(wǎng)絡(luò),DNN模型以其獨特的特征交叉以及非線性建模能力受到推薦領(lǐng)域?qū)<?、學(xué)者的廣泛青睞.然而,DNN的局限性在于其對離散特征的處理方式,它通常將離散特征轉(zhuǎn)換成One-Hot的編碼形式,而DNN全連接的特征交叉特性會使One-Hot類型的輸入產(chǎn)生大量的網(wǎng)絡(luò)參數(shù),這不僅會增加模型訓(xùn)練的復(fù)雜度,而且容易導(dǎo)致學(xué)習(xí)結(jié)果陷入局部最優(yōu).
2016年Google大腦研究團隊在其開源軟件庫TensorFlow上發(fā)布了用于分類和回歸的推薦模型Wide&Deep[9],其核心思想是將線性模型的記憶能力和深度學(xué)習(xí)模型的泛化能力相結(jié)合,在訓(xùn)練過程中同時優(yōu)化2個模型的參數(shù),使得整個模型同時具有線性建模和深度學(xué)習(xí)的能力.遺憾的是,Wide& Deep模型的輸入特征向量依然采用One-Hot編碼格式.
隨后,研究者們陸續(xù)提出一系列兼具線性建模和深度學(xué)習(xí)的推薦模型,其中DeepFM[10]是一個端到端的推薦模型,它包含2個組成部件:DNN模型和因子分解機(factorization machine, FM)模型,分別負責(zé)低階特征交互的建模和高階特征交互的建模,這2部分共享相同的輸入.與Wide&Deep模型不同的是,DeepFM模型的輸入特征向量是經(jīng)過嵌入式編碼的特征向量,將One-Hot編碼基于field進行分組,轉(zhuǎn)化為低維、稠密的編碼向量.然而DeepFM模型的局限性在于,它學(xué)習(xí)出的是隱式的交互特征,其形式是未知、不可控的.另外,DeepFM中的特征交互是發(fā)生在元素級而不是特征向量之間,這一點違背了FM的初衷.
在知識發(fā)現(xiàn)與數(shù)據(jù)挖掘會議KDD 2018上,微軟亞洲研究院的社會計算組提出一種極深因子分解機模型xDeepFM[11],包含壓縮交互網(wǎng)絡(luò)模型和DNN模型2個組成部件,前者以顯式方式在向量級建模特征交互,后者以隱式方式在元素級建模特征交互.隨后,He等人[12]提出一種神經(jīng)分解機模型NFM,在嵌入式編碼層之上又增加了一個二階交互層,采用池化操作對嵌入式特征編碼進行合并,進一步降低輸入特征向量的維度,從而降低了后續(xù)隱藏層對高階特征交互建模的計算復(fù)雜度.
邊緣化去噪自動編碼機(marginal denoising auto-encoder, mDA)[13]是一種低成本的去噪自動編碼機解決方案,它通過無限最大化隨機特征擾動的次數(shù)使參數(shù)計算具有封閉性.為了增強mDA模型的學(xué)習(xí)能力,進一步將其擴展到多層就得到了mSDA模型.mSDA從輸入層經(jīng)過多層編碼得到原始輸入特征的抽象特征,然后再經(jīng)過多層解碼恢復(fù)到原始特征,通過多次編碼和解碼過程實現(xiàn)無監(jiān)督的特征學(xué)習(xí),模型的具體層數(shù)通過訓(xùn)練方法確定[14].
目前對mSDA模型的應(yīng)用非常有限,Li等人[15]提出基于mSDA的協(xié)同推薦模型mSDA-CF,其中包含2個組成部件:mSDA模型與矩陣分解模型,前者用于項目抽象特征的提取,后者用于評分預(yù)測與協(xié)同推薦.通過將mSDA模型最中間層學(xué)習(xí)到的項目抽象特征向量映射到矩陣分解模型中的項目潛在因子向量,從而實現(xiàn)2個模型之間的無縫集成.
綜上,基于深度學(xué)習(xí)的推薦模型已經(jīng)得到了業(yè)界廣泛關(guān)注并取得了一定成功,然而深度學(xué)習(xí)模型中的初始化對模型訓(xùn)練的收斂速度和模型質(zhì)量具有重要影響,有必要采用相應(yīng)的特征學(xué)習(xí)算法進行深度學(xué)習(xí)模型的輸入特征向量進行優(yōu)化.然而,傳統(tǒng)的特征工程方法和人工特征選擇方法都具有明顯不足,前者假設(shè)特征之間是獨立同分布的,與現(xiàn)實不符;后者需要領(lǐng)域?qū)<业膮⑴c,費時費力,而且不能擴展到未出現(xiàn)的特征組合中.本文提出將低時、高效的mSDA模型作為DNN深度學(xué)習(xí)模型的初始化模型,完成抽象輸入特征的快速提取,并采用聯(lián)合訓(xùn)練的方式實現(xiàn)集成模型的全局優(yōu)化.
本節(jié)首先給出基于兩階段深度學(xué)習(xí)的集成推薦模型TDHR(two-stage deep learning based hybrid recommendation)的定義和理論框架,然后詳細介紹特征提取過程和集成模型的參數(shù)學(xué)習(xí)方法,最后對模型的計算復(fù)雜度進行簡要分析,表1列出了本文后續(xù)內(nèi)容經(jīng)常使用的一些符號定義.
Table 1 Definition and Description of Common Symbols in This Paper表1 文中常用的符號定義及描述
TDHR是一個同時具有線性建模和深度學(xué)習(xí)能力的集成推薦模型,其工作原理如下:首先,采用One-Hot編碼方法對原始的用戶特征和項目特征進行向量化處理;然后,一方面將One-Hot編碼向量經(jīng)過邏輯回歸(logical regression, LR)模型進行線性交互建模,另一方面使用2個獨立的mSDA模型分別進行用戶抽象特征和項目抽象特征的提取;最后,將學(xué)習(xí)到的抽象特征進行合并并作為DNN模型的輸入,采用聯(lián)合訓(xùn)練的方式進行參數(shù)學(xué)習(xí)和模型優(yōu)化.TDHR模型的整體架構(gòu)如圖1所示:
Fig. 1 Framework of the TDHR model圖1 TDHR模型的整體架構(gòu)
在TDHR集成推薦模型中,用戶抽象特征和項目抽象特征的提取采用mSDA模型實現(xiàn),mSDA模型每一層的特征重構(gòu)參數(shù)均采用封閉式的計算方法得到.其中用戶抽象特征向量的提取過程如下:
首先,對用戶輸入特征向量中的元素進行隨機擾動,以增加模型的魯棒學(xué)習(xí)能力,目標函數(shù)為
(1)
(2)
其中,Tr(·)表示向量的跡,很明顯,以上方程的參數(shù)求解可以使用最小二乘法實現(xiàn).根據(jù)最小二乘法原理,W的計算形式為
(3)
W=E[P1]E[Q1]-1.
(4)
(5)
其中,M=XXT表示X的散布矩陣.
同理,可以得到E[P1]的封閉式計算形式:
E[P1]=Mα βqα.
(6)
在一個L1層的mSDA特征提取模型中,采用以上方法,經(jīng)過L12層的特征重構(gòu)編碼,在最中間層得到用戶抽象特征U=WL12XL12.同理,可以得到項目抽象特征向量V=SL22YL22.
給定評分矩陣R、用戶特征屬性向量X、項目特征屬性向量Y以及由mSDA學(xué)習(xí)到的用戶抽象特征向量U和項目抽象特征向量V,TDHR模型為評分預(yù)測:
(7)
其中,xim表示用戶i的第m個原始特征向量元素的值,yjn表示項目j的第n個原始特征向量元素的值;Zi,j表示由用戶i的抽象特征向量和項目j的抽象特征向量通過向量連接的方式得到的組合向量,Zi,j=[Ui,Vj];f(Zi,j)表示以Zi,j作為輸入向量的DNN模型,定義為
f(Zi,j)=hTσL(HL(…σl(H1Zi,j+bl)),
(8)
其中,L表示DNN模型的層數(shù),Hl,bl和σl分別表示第l層的權(quán)重向量、偏置和激活函數(shù),h表示輸出層的權(quán)重.
TDHR采用聯(lián)合訓(xùn)練的方法進行特征建模和評分估計,目標函數(shù)為
(9)
采用隨機梯度下降(stochastic gradient descent, SGD)優(yōu)化方法進行集成模型的超參數(shù)的學(xué)習(xí):
(10)
其中,η表示梯度下降的學(xué)習(xí)率,θ代表集成模型的所有超參數(shù).
對于DNN模型這樣的多層網(wǎng)絡(luò)結(jié)構(gòu),進一步使用鏈式規(guī)則計算其中的參數(shù)對于f(Zi,j)的梯度:
(11)
(12)
其中,οl表示DNN模型的第l層的輸出向量,δ是為了表示清晰而引入的中間變量,其定義為
δl=((Hl+1)Tδl+1)·σl(al),
(13)
(14)
其中,al表示DNN模型第l層的輸入向量.
一輪訓(xùn)練結(jié)束之后,重新調(diào)整2個特征學(xué)習(xí)mSDA模型的層數(shù)L1和L2,再對集成模型進行下一輪訓(xùn)練,直到得到最優(yōu)的值為止.
需要說明的是,為了防止過擬合現(xiàn)象,在TDHR模型的訓(xùn)練過程中還使用了Dropout技術(shù)[16],即每次迭代過程僅對部分模型參數(shù)進行更新.此外,為了避免參數(shù)震蕩、加速模型收斂,TDHR中還使用了動量(momentum)技術(shù)和批量規(guī)格化方法,前者根據(jù)歷史梯度均值對當前梯度進行微調(diào),后者使用高斯分布對批量化的輸入訓(xùn)練樣本進行規(guī)格化操作.
TDHR是一個集成模型,其時間復(fù)雜度由其組成部件模型mSDA和DNN的復(fù)雜度來共同決定.mSDA模型是一個多層的框架,每一層特征重構(gòu)向量的計算均采用基于矩陣運算的封閉式計算方法實現(xiàn),矩陣運算的復(fù)雜度為O(dp2),其中d表示mSDA的層數(shù),p表示特征的維度.
在推薦系統(tǒng)領(lǐng)域,一個廣泛用于評分預(yù)測的數(shù)據(jù)集是由GroupLens[注]http://www.grouplens.org研究團隊開發(fā)的MovieLens數(shù)據(jù)集,本實驗使用了其中的2個不同規(guī)模的數(shù)據(jù)集,即MovieLens-100K和MovieLens-1M,前者包括943個用戶對1 682部電影的100 000個評分值,后者包括6 040個用戶對3 882個電影的1 000 209個評分值,由2個數(shù)據(jù)集組成的評分矩陣的稀疏度分別為93.7%和95.9%.
首先,將每個數(shù)據(jù)集分成2個不同的部分,隨機選擇20%的實例作為測試集,另外80%作為訓(xùn)練集;然后,使用5-交叉驗證法來評估評分預(yù)測和個性化推薦的性能.
本文采用平均絕對誤差(mean absolute error,MAE)和均方根誤差(root mean square error,RMSE)這2個指標來衡量不同推薦算法在評分預(yù)測中的性能表現(xiàn).
MAE指標用于描述預(yù)測值與實際值偏差量絕對值的平均數(shù),其中的所有偏差量都具有相等的權(quán)重.在本實驗中,通過計算測試集中的所有可觀察評分值的平均預(yù)測誤差來計算MAE:
(15)
其中,N表示測試集R+中的樣本數(shù).
RMSE指標用于描述預(yù)測值與實際值之間偏差量的標準差,該指標具有懲罰較大偏差的優(yōu)勢,定義為
(16)
為了說明本文方法的有效性,本節(jié)進行了大量實驗分析,將本文方法與當前一些具有代表性的推薦方法進行比較,其中包括傳統(tǒng)的PMF模型、FM模型的官方實現(xiàn)版本LibFM、基于mSDA的協(xié)同推薦模型mSDA-CF、基于DNN技術(shù)的FM模型DeepFM和基于嵌入式編碼和DNN技術(shù)的推薦模型NFM.為了證明本文方法在數(shù)據(jù)稀疏環(huán)境和冷啟動環(huán)境中的性能表現(xiàn),進一步模擬了數(shù)據(jù)稀疏環(huán)境和冷啟動環(huán)境,并在模擬環(huán)境下對不同推薦方法的推薦性能進行了比較分析.
本文模型TDHR使用Tensorflow框架[17]實現(xiàn),模型的參數(shù)配置如下:用戶特征提取mSDA模型的層數(shù)L1=3,項目特征提取mSDA模型的層數(shù)L2=5,特征擾動概率c=0.3.DNN推薦模型的隱層數(shù)L=3,各層的維度分別為20,10和5,各層的dropout值為0.8,0.8,0.5,動量momentum=0.9,SGD的學(xué)習(xí)率η=0.05,批量大小batch=512,激活函數(shù)sigmoid函數(shù),DNN模型的迭代過程通常需要20~30次可以收斂.此外,在每次循環(huán)之后以一定比例降低學(xué)習(xí)率η有助于避免預(yù)測值的大幅波動,實驗中η=0.9.實驗對比結(jié)果中的最佳性能用黑體字表示.
3.4.1 不同推薦算法的性能比較
所有推薦算法都在相同的實驗環(huán)境(2.9 GHz Intel Core i5處理器,8 GB 1 867 MHz DDR3內(nèi)存)中進行測試,并使用了相同的輸入特征信息,其中用戶特征包括用戶ID、性別、年齡和職業(yè),經(jīng)過One-Hot編碼后,得到一個57維的向量;項目特征包括項目ID和項目類型,是一個19維的向量.本實驗的測試項目是電影,電影類型包括愛情、恐怖、偵探等.所有比較算法的參數(shù)都是通過實驗訓(xùn)練得到的,例如:正則化參數(shù)、學(xué)習(xí)率、抽象特征的維度等,實驗結(jié)果如表2所示:
Table 2 Performance Comparison of Different Algorithms in the Universal Data Sets表2 不同推薦算法在通用數(shù)據(jù)集上的性能比較
從表2可以看出,LibFM在MovieLens-100K數(shù)據(jù)集上的性能優(yōu)于PMF,但在MovieLens-1M數(shù)據(jù)集上表現(xiàn)的恰好相反,這表明因子分解機模型更適合應(yīng)用于數(shù)據(jù)稀疏的環(huán)境,而矩陣分解模型則更適用于數(shù)據(jù)密集型環(huán)境.此外,mSDA-CF具有比PMF模型具有更好的性能,這表明深度學(xué)習(xí)技術(shù)在抽象特征提取方面具有明顯優(yōu)勢.基于DNN技術(shù)的推薦模型DeepFM和NFM比LibFM模型的性能要好,這進一步驗證了深度學(xué)習(xí)技術(shù)在推薦領(lǐng)域中的應(yīng)用潛力.
最后,本文方法TDHR在2個數(shù)據(jù)集上的性能表現(xiàn)在所有比較算法中都是最好的,其RMSE值在MovieLens-100K和MovieLens-1M數(shù)據(jù)集上分別比NFM模型低2.4%和2.6%.這樣的改進程度看起來似乎并不明顯,但需要指出的是,即使是1%的性能提升也可能在實際應(yīng)用中帶來巨大的經(jīng)濟收益.本文模型TDHR良好的性能表現(xiàn)得益于對DNN模型輸入特征向量的優(yōu)化,這正是本文提出的集成推薦模型的核心技術(shù),也是本文方法區(qū)別于其他深度學(xué)習(xí)推薦模型的根本所在.
3.4.2 數(shù)據(jù)稀疏環(huán)境下不同算法的性能比較
為了進一步評估數(shù)據(jù)稀疏性對推薦性能的影響,對MovieLens-1M數(shù)據(jù)集手動選取不同規(guī)模(90%,70%,50%,30%,10%)的內(nèi)容,用于模擬不同稀疏程度的訓(xùn)練數(shù)據(jù)集,對比算法在不同程度數(shù)據(jù)稀疏環(huán)境中的推薦性能表現(xiàn)如表3所示:
Table 3 Performance Comparison of Different Algorithms in Sparse Data Sets表3 在稀疏數(shù)據(jù)集上不同推薦算法的性能比較
從表3可以看出,無論在哪種數(shù)據(jù)集上,隨著評分數(shù)據(jù)稀疏程度的持續(xù)上升,所有推薦模型的性能都有相應(yīng)的下降.比較而言,LibFM模型的性能相對穩(wěn)定,因為它使用了用戶和項目的特征屬性而不是評分矩陣作為數(shù)據(jù)源;然而,在大多數(shù)情況下,LibFM模型的性能都低于基于深度學(xué)習(xí)的推薦方法.最后,與其他推薦模型相比,TDHR模型的推薦性能具有明顯優(yōu)勢,而其他基于深度學(xué)習(xí)的推薦方法DeepFM和NFM在數(shù)據(jù)稀疏環(huán)境中的表現(xiàn)并不理想,這一現(xiàn)象表明除了附加數(shù)據(jù)源之外,對深度學(xué)習(xí)模型的輸入進行相應(yīng)優(yōu)化也會對推薦性能產(chǎn)生重大影響,這正是本文研究的動機與創(chuàng)新所在.
3.4.3 對冷啟動用戶的推薦性能比較
為了進一步評估不同推薦算法對冷啟動用戶的推薦性能,對訓(xùn)練集中的每個用戶隨機選擇1~10個評分數(shù)據(jù)予以保留,刪除其余的評分數(shù)據(jù)來模擬冷啟動的環(huán)境,實驗結(jié)果如表4所示:
Table 4 Recommendation Performance Comparison of Different Algorithms for Cold-Start Users表4 不同算法對冷啟動用戶的推薦性能比較
從表4可以看出,總體而言,冷啟動對所有推薦方法都有重大影響.PMF方法和mSDA-CF方法受冷啟動的影響尤其嚴重,這是因為基于評分矩陣的矩陣分解方法在處理冷啟動問題時具有固有缺陷.相比之下,使用特征信息作為數(shù)據(jù)源的因子分解機模型LibFM受冷啟動的影響相對較小,但性能依然不及基于深度學(xué)習(xí)的推薦方法DeepFM和NFM.本文方法TDHR在所有待比較方法中性能表現(xiàn)最優(yōu),這進一步表明本文方法性能表現(xiàn)的相對穩(wěn)定性.同時也表明引入特征信息是抵抗冷啟動問題的有效手段.因此,進一步探索更多更有效的附加數(shù)據(jù)源是解決數(shù)據(jù)稀疏性和冷啟動問題、進一步提高推薦性能的有效手段.
3.4.4 Dropout在冷啟動環(huán)境中的作用
為了進一步評估Dropout方法在冷啟動環(huán)境中的性能表現(xiàn),在3.4.3節(jié)中模擬的冷啟動環(huán)境下,測試了本文算法TDHR在不同Dropout取值情況下的推薦性能表現(xiàn),測試數(shù)據(jù)集為MovieLens-1M.為了簡化測試過程,將DNN模型中各層的Dropout設(shè)置為相同的取值,實驗結(jié)果如圖2所示.
Fig. 2 Recommendation performance of Dropout technology in cold start environment圖2 Dropout在冷啟動環(huán)境中的性能表現(xiàn)
從圖2可以看出,在不使用Dropout的情況下,推薦性能很不理想,采用Dropout技術(shù)后,推薦性能有所改善;當Dropout為0.8時(每次迭代對其中20%的模型參數(shù)進行更新),推薦性能最優(yōu).以上實驗結(jié)果表明,在深度學(xué)習(xí)模型的迭代訓(xùn)練過程中,只更新部分模型參數(shù)對防止過擬合、提高推薦性能具有重要意義,但選擇更新的參數(shù)比例要適當,具體取值和數(shù)據(jù)特征有關(guān),需要采用實驗方法進行設(shè)定.
本文提出一種基于mSDA和DNN的兩階段深度學(xué)習(xí)推薦模型TDHR.首先,利用mSDA模型進行用戶和項目高階抽象特征向量的學(xué)習(xí);然后,將得到的用戶和項目抽象特征向量進行合并,并作為DNN模型的輸入;最后,通過聯(lián)合訓(xùn)練的方法進行集成模型的參數(shù)學(xué)習(xí)和模型優(yōu)化.此外,為了對低階特征交互進行建模,推薦模型中還集成了基于低階特征的邏輯回歸模型.通過這種方式,不僅使模型同時具有線性建模和深度學(xué)習(xí)能力,而且以優(yōu)化過的抽象特征作為深度學(xué)習(xí)模型的輸入可以大大減輕后續(xù)隱藏層的學(xué)習(xí)負擔,并避免模型訓(xùn)練落入局部最優(yōu).實驗研究結(jié)果表明,無論是在常規(guī)環(huán)境下,還是在數(shù)據(jù)稀疏和冷啟動環(huán)境下,本文方法較傳統(tǒng)方法都具有明顯優(yōu)勢.
需要指出的是,本文方法是一個通用框架,指出一種對現(xiàn)有基于深度學(xué)習(xí)的推薦方法進行改進的思路,即使用一種低成本的深度學(xué)習(xí)模型來初始化另一種高性能的深度學(xué)習(xí)模型,從而提高整個模型的推薦性能.在該框架的基礎(chǔ)上,完全可以采用其他類型的特征學(xué)習(xí)模型對深度學(xué)習(xí)模型的輸入進行優(yōu)化,重點在于用作輸入向量初始化的模型必須具有較低的計算復(fù)雜性,以避免對集成模型增加過多的額外過載.
本文方法尚有需要改進的地方.目前本文僅使用了用戶的人口統(tǒng)計學(xué)信息和項目的類型信息作為特征屬性信息進行用戶和項目抽象特征的提取,實際系統(tǒng)中還存在許多有意義的輔助信息可以利用,例如項目描述、用戶評論、項目標簽等.此外,來自開放數(shù)據(jù)源的語義特征屬性也可以用作推薦過程中的輔助信息.另外,用戶社交網(wǎng)絡(luò)中的社交關(guān)系信息,如關(guān)注、跟隨、點贊、朋友、信任等都可以用作附加數(shù)據(jù)源來處理推薦過程中的數(shù)據(jù)稀疏性問題和冷啟動問題.當然,這將會涉及多學(xué)科領(lǐng)域的問題,我們將在未來的工作中加以討論.