鄒 鋒
(廣州商學(xué)院信息技術(shù)與工程學(xué)院 廣東 廣州 511363)
隨著網(wǎng)絡(luò)信息量的爆炸式增長,大數(shù)據(jù)挖掘成為了一個(gè)挑戰(zhàn),推薦系統(tǒng)作為大數(shù)據(jù)挖掘的一個(gè)重要分支成為目前的研究熱點(diǎn)。協(xié)同過濾[1]是推薦系統(tǒng)中最為有效且易于實(shí)現(xiàn)的方案,被廣泛應(yīng)用于大型門戶網(wǎng)站、電子商務(wù)網(wǎng)站及新聞門戶網(wǎng)站等。協(xié)同過濾系統(tǒng)依賴用戶的評(píng)分信息,且需要分析隱式信息來提取用戶的興趣,導(dǎo)致其對(duì)稀疏數(shù)據(jù)的性能不理想[2]。
當(dāng)前的top-N推薦系統(tǒng)可分為兩個(gè)類型:基于優(yōu)化的方式和基于數(shù)據(jù)類型的方式[3]?;趦?yōu)化方式的目標(biāo)是最小化預(yù)測評(píng)分的均方誤差,或者最大化每對(duì)用戶偏好的相似性[4]?;跀?shù)據(jù)類型的方式使用評(píng)分系統(tǒng)的顯式反饋信息或者隱式反饋信息[5]。文獻(xiàn)[6]提出了一種簡單的個(gè)人化推薦算法,直接將項(xiàng)目按受歡迎度降序排列,為用戶提供top-N的相似項(xiàng)目列表。文獻(xiàn)[7]是一種基于用戶-項(xiàng)目偏差項(xiàng)的協(xié)同過濾推薦系統(tǒng),該系統(tǒng)利用遞歸神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶-項(xiàng)目的偏差信息,結(jié)構(gòu)簡單且效率較高。文獻(xiàn)[8]利用奇異值分解處理用戶評(píng)分矩陣,引入信任信息的隱式信息來緩解冷啟動(dòng)問題,在推薦準(zhǔn)確率和效率之間取得了平衡。文獻(xiàn)[9]是一種經(jīng)典的“擴(kuò)展少即是好”協(xié)同過濾模型,該模型直接最大化平均Reciprocal Rank指標(biāo)來訓(xùn)練預(yù)測模型。上述文獻(xiàn)利用不同的評(píng)估準(zhǔn)則和學(xué)習(xí)方式實(shí)現(xiàn)了對(duì)用戶興趣的預(yù)測,但對(duì)于稀疏數(shù)據(jù)依然未達(dá)到理想的性能。
隨著深度學(xué)習(xí)技術(shù)的出現(xiàn),許多研究人員利用深度學(xué)習(xí)擬合能力強(qiáng)、表征能力強(qiáng)的優(yōu)點(diǎn),結(jié)合某些判斷準(zhǔn)則預(yù)測用戶的興趣。文獻(xiàn)[10]將變化相似性作為學(xué)習(xí)的目標(biāo),采用棧式降噪自編碼器作為深度學(xué)習(xí)模型,實(shí)現(xiàn)了單模型、單學(xué)習(xí)準(zhǔn)則的協(xié)同過濾推薦系統(tǒng)。文獻(xiàn)[11]同時(shí)考慮了顯式反饋信息和隱式反饋信息,以單自編碼器學(xué)習(xí)用戶的顯式和隱式信息,實(shí)現(xiàn)了較好的推薦效果。根據(jù)文獻(xiàn)[10-11]的實(shí)驗(yàn)結(jié)果和分析,深度學(xué)習(xí)技術(shù)能夠有效地提高協(xié)同過濾系統(tǒng)的預(yù)測準(zhǔn)確率,但對(duì)于稀疏數(shù)據(jù)的推薦效果依然不理想。
本文采用自編碼器作為深度學(xué)習(xí)模型,以期提高協(xié)同過濾推薦系統(tǒng)的推薦效果。為了提高對(duì)稀疏數(shù)據(jù)的推薦效果,本文有兩個(gè)主要貢獻(xiàn):改進(jìn)了相似性評(píng)價(jià)指標(biāo),對(duì)Jaccard相似性做修改,提高稀疏數(shù)據(jù)的相似性評(píng)估準(zhǔn)確率;提出了顯式反饋?zhàn)跃幋a器和隱式反饋?zhàn)跃幋a器,兩個(gè)自編碼器交互學(xué)習(xí)數(shù)據(jù)的顯式關(guān)系和隱式關(guān)系?;?個(gè)不同規(guī)模的公開稀疏數(shù)據(jù)集分別進(jìn)行實(shí)驗(yàn),結(jié)果驗(yàn)證了本文算法的有效性。
目前主流推薦系統(tǒng)所采用的相似性度量方案主要存在以下4點(diǎn)不足之處:
① 設(shè)U1=(2,0,3,0)和U2=(5,2,0,2)是兩個(gè)用戶的評(píng)分向量。U1和U2間存在一個(gè)共同評(píng)分項(xiàng),U1和U2皮爾森相關(guān)系數(shù)的分母為0,所以無法計(jì)算兩者的皮爾森相關(guān)系數(shù)。而U1和U2的余弦相似性為100%。
② 設(shè)U1=(2,1,3,2)和U2=(1,2,2,3)是兩個(gè)用戶的評(píng)分向量。U1和U2的皮爾森相關(guān)系數(shù)為0。
③ 設(shè)U1=(2,2,0,1)和U2=(4,4,0,2)是兩個(gè)用戶的評(píng)分向量。U1和U2的余弦相似性為1,如果兩個(gè)用戶的評(píng)分成倍數(shù)關(guān)系,兩者的余弦相似性一般很高。
④ 設(shè)U1=(5,5,4,3)和U2=(1,2,2,1)是兩個(gè)用戶的評(píng)分向量。Jaccard指數(shù)的總體相反相似性指數(shù)為1,但U1和U2的實(shí)際相似性極低。Jaccard僅關(guān)注于共同評(píng)分項(xiàng)目,忽略了許多相似性信息。
傳統(tǒng)的推薦系統(tǒng)通過共同評(píng)分的項(xiàng)目決定相似性,由此識(shí)別出最近鄰居。協(xié)同過濾系統(tǒng)的思想是利用最近鄰用戶的評(píng)分預(yù)測未評(píng)分項(xiàng)的評(píng)分,但在許多情況下協(xié)同過濾的思想并不適用,例如:某個(gè)高度相似的用戶僅僅對(duì)共同評(píng)分項(xiàng)進(jìn)行了評(píng)分,此情況的相似用戶對(duì)預(yù)測評(píng)分的價(jià)值較小。
表1 目標(biāo)用戶U1不同近鄰的非共同評(píng)分項(xiàng)數(shù)
表2 目標(biāo)用戶U1關(guān)于不同近鄰的非共同評(píng)分項(xiàng)數(shù)
Jaccard相似性的另一個(gè)情況是如果共同評(píng)分項(xiàng)數(shù)增加,那么相似性的顯著度也成比例增加,即simJ(u,v)∝(|Iu∩Iv|)。
Jaccard相似性[12]度量樣本集間交集和并集的比例關(guān)系,評(píng)估有限樣本集間的相似性。設(shè)用戶u和v的評(píng)分分別為Iu和Iv,如圖1所示。
圖1 評(píng)分項(xiàng)Iu和Iv的關(guān)系示意圖
Jaccard通過兩個(gè)用戶間共同評(píng)分的數(shù)量來評(píng)估兩者的相似性:
(1)
式中:Iu和Iv分別為用戶u和v的評(píng)分項(xiàng)集。
因?yàn)镮u和Iv為非互斥關(guān)系,所以根據(jù)加法規(guī)則可得:|Iu∪Iv|=|Iu|+|Iv|-|Iu∩Iv|。
(2)
(3)
式(3)的分子、分母同除以|Iu∩Iv|,可獲得下式:
(4)
通過共同評(píng)分項(xiàng)度量相似性存在許多不足,本文提出了新的相似性模型,稱為相關(guān)Jaccard均方距離。首先定義了相關(guān)Jaccard相似性指標(biāo):
(5)
如果|Iu∩Iv|=0,那么simRJ(u,v)=0。
將相關(guān)Jaccard和均方距離矩陣相乘,獲得相關(guān)Jaccard均方距離(Relative Jaccard-Mean Square Distance, RJ-MSD):
simRJ-MSD=simRJ(u,v)×simMSD(u,v)=
(6)
如果|Iu∩Iv|=0,那么simRJ-MSD(u,v) =0。
(7)
稀疏評(píng)分向量ru是自編碼器的輸入信息,自編碼器的目標(biāo)是將稀疏向量重建為密集評(píng)分向量,將該過程考慮為矩陣分解模型的非線性形式。因?yàn)閞u的大多數(shù)入口為空值,所以設(shè)計(jì)了以下的稀疏損失函數(shù)來訓(xùn)練自編碼器:
(8)
式中:eu是u的指示向量,如果rui≠0,則eui=1;否則eui=0。將這一項(xiàng)和重建損失相乘,將后向傳播值清零,因此網(wǎng)絡(luò)忽略缺失的入口信息,僅考慮評(píng)分的分布。學(xué)習(xí)完網(wǎng)絡(luò)權(quán)重和偏差信息后,再次將稀疏評(píng)分向量ru輸入自編碼器,重建一個(gè)包含所有項(xiàng)目預(yù)測評(píng)分的密集向量。top-N推薦系統(tǒng)為目標(biāo)用戶提供N個(gè)最優(yōu)的項(xiàng)目。
圖2所示是基于自編碼器的協(xié)同過濾框架,本框架包括兩個(gè)自編碼器:(1) 用戶排序深度神經(jīng)網(wǎng)絡(luò),簡稱為UNet;(2) 興趣學(xué)習(xí)深度神經(jīng)網(wǎng)絡(luò),簡稱為INet。UNet將成對(duì)正則引入自編碼器,以最小化評(píng)分預(yù)測誤差為網(wǎng)絡(luò)的目標(biāo)。成對(duì)損失函數(shù)需要采樣負(fù)項(xiàng),設(shè)負(fù)項(xiàng)為j,采樣的概率分布為p(j|u)。INet為負(fù)項(xiàng)提供一個(gè)非均勻且用戶相關(guān)的采樣概率分布,INet通過學(xué)習(xí)用戶的隱式反饋判斷用戶對(duì)于未評(píng)分項(xiàng)是否無興趣,然后利用輸出值計(jì)算采樣概率。
圖2 基于自編碼器的協(xié)同過濾框架
UNet的目標(biāo)是通過顯式反饋數(shù)據(jù)分析用戶對(duì)于項(xiàng)目的偏好,通過優(yōu)化原目標(biāo)函數(shù)來訓(xùn)練UNet,優(yōu)化目標(biāo)是最小化重建誤差和正則成對(duì)排列損失。用戶正項(xiàng)和負(fù)項(xiàng)的定義是一個(gè)關(guān)鍵問題,主要有兩種方式:(1) 從用戶u評(píng)分的項(xiàng)集中選擇項(xiàng)i,從未評(píng)分的項(xiàng)集中選擇項(xiàng)j;(2) 從用戶u評(píng)分的項(xiàng)集中任意選擇一對(duì)項(xiàng)i和項(xiàng)j,且rui>ruj??紤]以下3個(gè)原因:
① 第1種方式考慮了用戶的評(píng)分項(xiàng)和未評(píng)分項(xiàng),而第2種方式僅考慮了用戶的評(píng)分項(xiàng),在稀疏數(shù)據(jù)中評(píng)分項(xiàng)的比例一般較小。
② 未評(píng)分的項(xiàng)目有兩種情況:用戶不知道該項(xiàng)目,但是偏好該項(xiàng)目;用戶知道該項(xiàng)目,但是無興趣。前者的未評(píng)分項(xiàng)對(duì)于模型訓(xùn)練具有意義。
③ 第1種方式的模型從評(píng)分項(xiàng)和未評(píng)分項(xiàng)均可以獲得反饋信息,本文通過開發(fā)未評(píng)分的項(xiàng)提高UNet的訓(xùn)練效果。綜合考慮上述3點(diǎn)理由,選擇第1種方式。最終UNet的目標(biāo)函數(shù)定義為:
(9)
式中:第1項(xiàng)為重建損失,第2項(xiàng)為成對(duì)排列損失,α和β是平衡成對(duì)正則項(xiàng)和L2正則項(xiàng)的權(quán)重參數(shù)。采用對(duì)數(shù)似然函數(shù)建模成對(duì)排列損失,將成對(duì)排列損失作為被減項(xiàng),將目標(biāo)函數(shù)建模為最小化問題。
式(9)的Pu表示u的一對(duì)項(xiàng)目,設(shè)u的正項(xiàng)集合為Iu+,負(fù)項(xiàng)集合為Iu-。Iu+由rui≥3的評(píng)分項(xiàng)組成,剩下的項(xiàng)放入Iu-,u未評(píng)分的所有項(xiàng)也放入Iu-。從Iu-采樣項(xiàng)j,采樣的概率分布為p(j|u),Iu+內(nèi)的每個(gè)項(xiàng)i組成一對(duì)項(xiàng)目(i,j)。設(shè)計(jì)了INet深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶的隱式反饋信息來采樣負(fù)項(xiàng),提高總體的準(zhǔn)確率。
如果用戶u對(duì)項(xiàng)i的評(píng)分缺失,其原因可能有兩點(diǎn):①u可能偏好i,但不知道i的存在,所以u(píng)未評(píng)分i。②u已知i,但對(duì)i無興趣,所以u(píng)未評(píng)分i。為了提高top-N推薦的準(zhǔn)確率,第2個(gè)原因的負(fù)項(xiàng)優(yōu)于第1個(gè),但難點(diǎn)在于判斷用戶對(duì)于未評(píng)分項(xiàng)目的興趣。通過隱式反饋信息可觀察用戶對(duì)于未評(píng)分項(xiàng)目的興趣,根據(jù)所有未評(píng)分項(xiàng)的興趣得分計(jì)算負(fù)項(xiàng)的采樣概率分布,興趣得分越低,UNet中無評(píng)分的項(xiàng)被選為負(fù)項(xiàng)的可能性越大。
通過最小化以下的損失函數(shù)訓(xùn)練INet:
(10)
(11)
最終將u無興趣的項(xiàng)采樣為負(fù)項(xiàng)。
采用SGD和后向傳播訓(xùn)練UNet和INet。首先最小化式(10)隱式反饋來訓(xùn)練INet,然后最小化式(9)顯式反饋和INet訓(xùn)練UNet。給定評(píng)分矩陣R,最小批大小為B,負(fù)采樣率為SPR,學(xué)習(xí)率為μ,ΘIL為訓(xùn)練模型參數(shù),訓(xùn)練UNet的總體程序如算法1所示。
算法1UNet的訓(xùn)練算法
輸入:評(píng)分矩陣R,ΘPR,預(yù)訓(xùn)練ΘIL,參數(shù)B,μ,SPR。
1. 初始化ΘPR;
2.while不滿足收斂條件do
3. 采樣用戶B={u1,u2,…,uB}的一個(gè)最小批;
4.g=0;
5. for eachuinΒdo
6.Pu= ?;
8. 式(5)計(jì)算p(j|u);
9. fors=1 toSPRdo
10.fori∈Iu+do
11. 從p(j|u)采樣j;
12.Pu=Pu∪{i,j};
13.endfor
14.endfor
15.g=g+▽?duì)≒RPR;
15.endfor
16.ΘPR=ΘPR-gμ/
16.endwhile
(1) 實(shí)驗(yàn)數(shù)據(jù)集。實(shí)驗(yàn)數(shù)據(jù)集為4個(gè)真實(shí)的數(shù)據(jù)集:Ciao[16]、Watcha(watcha.net)、Movielens 100K[17]和Movielens 1M數(shù)據(jù)集[17]。表3所示是實(shí)驗(yàn)數(shù)據(jù)集的基本信息。
表3 實(shí)驗(yàn)數(shù)據(jù)集的基本信息
每個(gè)數(shù)據(jù)集的評(píng)分?jǐn)?shù)據(jù)隨機(jī)分為兩個(gè)子集:80%的評(píng)分?jǐn)?shù)據(jù)作為訓(xùn)練集,其他的20%作為測試集。
(2) 性能評(píng)價(jià)指標(biāo)。設(shè)用戶為u,Nu為u的推薦項(xiàng)集,Relu為正定集。采用推薦精度、召回率、歸一化折扣累加增益(Normalized Discounted Cumulative Gain, NDCG)以及(Reciprocal Rank, RR)。精度PuN和召回率RuN重點(diǎn)評(píng)估Nu中包含的項(xiàng)目準(zhǔn)確性,分別定義為:
(12)
(13)
精度和召回率忽略了Nu中項(xiàng)目的順序和位置,DCGuN和RRuN則考慮了推薦列表的位置,DCGuN的計(jì)算方法為:
(14)
式中:yk表示Nu中第k個(gè)項(xiàng)的相關(guān)評(píng)分。
RRuN的計(jì)算方法為:
(15)
式中:rank1th為Nu中第1個(gè)正確項(xiàng)的位置。
實(shí)驗(yàn)中為測試集的每個(gè)用戶提供top-N的推薦列表,然后計(jì)算所有用戶4個(gè)指標(biāo)的平均值,分別記為PN、RN、GN、MN。實(shí)驗(yàn)中選擇兩個(gè)N值:5和20。
(3) 神經(jīng)網(wǎng)絡(luò)的具體實(shí)現(xiàn)。首先通過實(shí)驗(yàn)確定模型的超參數(shù),UNet和INet隱層節(jié)點(diǎn)的激活函數(shù)為sigmoid函數(shù),輸出節(jié)點(diǎn)的激活函數(shù)為恒等函數(shù),采用文獻(xiàn)[18]的方法初始化神經(jīng)網(wǎng)絡(luò)的權(quán)重,mini-batch大小設(shè)為128,學(xué)習(xí)率為0.001,L2泛化系數(shù)β設(shè)為0.001。
觀察實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)4個(gè)數(shù)據(jù)集的UNet和INet的最優(yōu)模型不同,所以通過網(wǎng)格搜索微調(diào)神經(jīng)網(wǎng)絡(luò)的超參數(shù),微調(diào)實(shí)驗(yàn)從訓(xùn)練集隨機(jī)采樣20%的樣本作為驗(yàn)證集。定義超參數(shù)hPR表示隱層節(jié)點(diǎn)對(duì)于前一層節(jié)點(diǎn)數(shù)量的百分比,0 本文對(duì)協(xié)同過濾推薦系統(tǒng)提出兩點(diǎn)改進(jìn):(1) 設(shè)計(jì)了相關(guān)Jaccard指標(biāo),以期改善對(duì)稀疏數(shù)據(jù)集的處理效果;(2) 利用隱式反饋和顯式反饋訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),以期提高神經(jīng)網(wǎng)絡(luò)的預(yù)測準(zhǔn)確率。為了詳細(xì)測試這兩個(gè)改進(jìn)點(diǎn)的效果,對(duì)UNet和INet兩種神經(jīng)網(wǎng)絡(luò)采用不同的機(jī)制組合分別進(jìn)行了訓(xùn)練,實(shí)驗(yàn)結(jié)果總結(jié)如圖3所示。 (a) Ciao數(shù)據(jù)集 (b) Watcha數(shù)據(jù)集 (c) Movielens 100K數(shù)據(jù)集 (d) Movielens 1M數(shù)據(jù)集 分析圖3的結(jié)果,可總結(jié)出以下結(jié)論:(1) 改進(jìn)Jaccard相似性的總體性能一致優(yōu)于普通Jaccard相似性,表明本文對(duì)Jaccard相似性進(jìn)行了有效的改進(jìn),通過對(duì)所有樣本的相似性評(píng)估提高了相似性度量的顯著性。改進(jìn)的Jaccard相似性也有效地緩解了稀疏數(shù)據(jù)集的相似性問題,有助于提高自編碼器預(yù)測用戶偏好的準(zhǔn)確率。(2) 顯式反饋的效果優(yōu)于隱式反饋,而同時(shí)使用顯式反饋和隱式反饋的效果最佳。因?yàn)轱@式反饋和隱式反饋從不同的角度反映了用戶的興趣,隱式反饋反映了用戶對(duì)于項(xiàng)目的興趣,顯式反饋則反映了偏好該項(xiàng)目的用戶數(shù)量,所以這兩種反饋之間具有互補(bǔ)性。 實(shí)驗(yàn)研究了以下3個(gè)超參數(shù)對(duì)模型的影響:(1) 自編碼器的隱層數(shù)量。(2) 隱層節(jié)點(diǎn)的hU參數(shù)。(3) 排列系數(shù)α。以不同的參數(shù)組合訓(xùn)練自編碼器,以推薦的準(zhǔn)確率為評(píng)價(jià)指標(biāo)。首先,評(píng)估神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相關(guān)的超參數(shù)即hPR和L的效果,結(jié)果如圖4所示。 (b) Watcha數(shù)據(jù)集 (c) Movielens 100K數(shù)據(jù)集 (d) Movielens 1M數(shù)據(jù)集 由圖4可知:(1) 不同數(shù)據(jù)集的最優(yōu)hU值不同,因?yàn)镃iao數(shù)據(jù)集較小且較為稀疏,所以少量的隱層節(jié)點(diǎn)即可提取訓(xùn)練數(shù)據(jù)集的最近特征,因此Ciao數(shù)據(jù)集自編碼器無需大量的隱層節(jié)點(diǎn)來實(shí)現(xiàn)高準(zhǔn)確率。而其他3個(gè)數(shù)據(jù)集需要大量的隱層節(jié)點(diǎn)才能實(shí)現(xiàn)較高的準(zhǔn)確率。(2) 圖2中隱層數(shù)量對(duì)于推薦準(zhǔn)確率存在影響,單層自編碼器結(jié)構(gòu)難以提取用戶-項(xiàng)目間復(fù)雜的非線性信息,所以準(zhǔn)確率較低。而多層的網(wǎng)絡(luò)結(jié)構(gòu)包括較多的模型參數(shù),容易引起過擬合問題,所以準(zhǔn)確率也較低。 圖5所示是超參數(shù)α對(duì)實(shí)驗(yàn)結(jié)果的影響,圖中x軸為變化的α值,y軸為top-N推薦的準(zhǔn)確率。圖4的結(jié)果顯示,通過最小化MSE和正則成對(duì)排名損失兩個(gè)指標(biāo)訓(xùn)練本文的自編碼器,有助于提高自編碼器對(duì)于用戶興趣的預(yù)測準(zhǔn)確率。 圖5 超參數(shù)α的微調(diào)實(shí)驗(yàn) 根據(jù)上述超參數(shù)微調(diào)實(shí)驗(yàn)的結(jié)果,將每個(gè)數(shù)據(jù)集的超參數(shù)設(shè)為性能最優(yōu)的參數(shù)組合。選擇其他的top-N推薦算法與本文比較,包括:itemModel[6]、itemRNN[7]、SVD[8]、xCLiMF[9]、SDAutoRec[10]、DHAutoRec[11]。其中:SVD和xCLiMF是兩個(gè)經(jīng)典的top-N推薦系統(tǒng),SVD是經(jīng)典的奇異值分解模型,xCLiMF為擴(kuò)展的少即是好協(xié)同過濾模型; itemModel和itemRNN是兩個(gè)針對(duì)項(xiàng)目顯式信息的推薦系統(tǒng),這兩個(gè)系統(tǒng)的推薦效率較高;SDAutoRec和DHAutoRec是兩個(gè)基于深度神經(jīng)網(wǎng)絡(luò)的推薦系統(tǒng),均為單網(wǎng)絡(luò)的結(jié)構(gòu)。 7個(gè)推薦系統(tǒng)的性能結(jié)果如圖6所示。由圖6可知:(1) 本系統(tǒng)對(duì)于4個(gè)數(shù)據(jù)集均實(shí)現(xiàn)了最優(yōu)的推薦準(zhǔn)確率,總體而言,本文算法比次優(yōu)系統(tǒng)的推薦準(zhǔn)確率提高約40%。(2) 本系統(tǒng)的top-5推薦效果優(yōu)于top-20,如果對(duì)于僅需要為用戶提供少量推薦列表的場景下,本系統(tǒng)具有比較突出的優(yōu)勢。 (a) Ciao數(shù)據(jù)集 (b) Watcha數(shù)據(jù)集 (c) Movielens 100K數(shù)據(jù)集 (d) Movielens 1M數(shù)據(jù)集 最終統(tǒng)計(jì)了7個(gè)推薦系統(tǒng)的平均訓(xùn)練時(shí)間和推薦響應(yīng)時(shí)間。表4所示是7個(gè)算法的平均訓(xùn)練時(shí)間,itemModel和itemRNN均為基于項(xiàng)目的推薦系統(tǒng),模型的訓(xùn)練時(shí)間較小,SDAutoRec和DHAutoRec則是單網(wǎng)絡(luò)模型的推薦系統(tǒng),其訓(xùn)練速度也明顯快于本系統(tǒng)??傮w而言,本文系統(tǒng)設(shè)計(jì)了兩個(gè)自編碼器的深度神經(jīng)網(wǎng)絡(luò),改進(jìn)的Jaccard相似性需要計(jì)算全部項(xiàng)目的相關(guān)相似性值,因此訓(xùn)練時(shí)間較長。 表4 實(shí)驗(yàn)數(shù)據(jù)集的訓(xùn)練時(shí)間 s 圖7所示是7個(gè)算法的平均推薦響應(yīng)時(shí)間,SVD和xCLiMF的推薦響應(yīng)時(shí)間較長,并且影響了其應(yīng)用價(jià)值。本文算法的響應(yīng)時(shí)間略高于itemModel、itemRNN、SDAutoRec及DHAutoRec四個(gè)算法,但平均響應(yīng)時(shí)間低于0.5秒,滿足實(shí)時(shí)性的需求。 圖7 推薦系統(tǒng)的平均響應(yīng)時(shí)間 為了提高協(xié)同過濾推薦系統(tǒng)對(duì)于稀疏數(shù)據(jù)的推薦效果,本文提出了一種基于深度神經(jīng)網(wǎng)絡(luò)和改進(jìn)相似性度量的推薦算法。主要提出兩個(gè)改進(jìn)點(diǎn),改進(jìn)了相似性評(píng)價(jià)指標(biāo),對(duì)Jaccard相似性進(jìn)行了改進(jìn),提高稀疏數(shù)據(jù)的相似性評(píng)估準(zhǔn)確率。提出了顯式反饋?zhàn)跃幋a器和隱式反饋?zhàn)跃幋a器,兩個(gè)自編碼器交互學(xué)習(xí)數(shù)據(jù)的顯式關(guān)系和隱式關(guān)系。因?yàn)轱@式反饋和隱式反饋從不同的角度反映了用戶的興趣,隱式反饋反映了用戶對(duì)于項(xiàng)目的興趣,顯式反饋則反映了偏好該項(xiàng)目的用戶數(shù)量,所以這兩種反饋之間具有互補(bǔ)性。 本文采用了兩個(gè)深度學(xué)習(xí)網(wǎng)絡(luò),并且改進(jìn)Jaccard相似性需要計(jì)算全部數(shù)據(jù)集的相似性,導(dǎo)致模型訓(xùn)練的時(shí)間較長。因此本系統(tǒng)僅僅適用于穩(wěn)定數(shù)據(jù)流的推薦問題,過長的訓(xùn)練時(shí)間無法滿足實(shí)時(shí)訓(xùn)練的要求。未來將關(guān)注于引入分布式計(jì)算和云計(jì)算技術(shù),加快深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間。5.2 實(shí)驗(yàn)分析
5.3 超參數(shù)的設(shè)置
5.4 對(duì)比實(shí)驗(yàn)分析
5.5 算法的時(shí)間效率
6 結(jié) 語