史加榮,李金紅
(西安建筑科技大學(xué) 理學(xué)院,陜西 西安 710055)
近年來,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(例如硬盤、CPU)的快速發(fā)展,使網(wǎng)絡(luò)數(shù)據(jù)呈現(xiàn)爆炸式增長,用戶難以從眾多信息中找到感興趣的內(nèi)容。為快速檢索和提供用戶所需信息,幫助用戶過濾無效的內(nèi)容,HANANI等提出了信息過濾技術(shù)[1],故而產(chǎn)生了推薦系統(tǒng)(Recommendation System,RS)[2]。推薦系統(tǒng)主要解決信息過載問題,即從億萬信息中提取針對不同用戶感興趣的項(xiàng)目和商品等,并推薦給用戶。對于商家,運(yùn)用推薦系統(tǒng)能夠?qū)⒆约旱漠a(chǎn)品高效快速地推薦到用戶面前,并被用戶了解和知曉,帶來實(shí)際可觀的收益。當(dāng)前,網(wǎng)絡(luò)APP大都包含推薦系統(tǒng),例如:購物軟件(淘寶、京東)、視頻軟件(騰訊、愛奇藝、優(yōu)酷)、音樂軟件(網(wǎng)易云音樂、QQ音樂)和搜索引擎(谷歌、百度)等都包括“猜你喜歡”“為你推薦”等板塊。個(gè)性化推薦系統(tǒng)已成為互聯(lián)網(wǎng)產(chǎn)品的標(biāo)配[3],也是人工智能領(lǐng)域得以實(shí)現(xiàn)的基礎(chǔ)[4]。
由于機(jī)器學(xué)習(xí)可以挖掘海量數(shù)據(jù)所蘊(yùn)含的規(guī)律,因此,研究者將機(jī)器學(xué)習(xí)算法融入到推薦系統(tǒng),初步取得了良好的效果[5-6]。但隨著大數(shù)據(jù)時(shí)代的到來,推薦系統(tǒng)中數(shù)據(jù)的稀疏性[7]、冷啟動(dòng)[8]和可解釋性[9]等問題越來越嚴(yán)重,且有的推薦系統(tǒng)根據(jù)用戶的一次搜索和查閱便大規(guī)模地推薦類似信息,導(dǎo)致用戶的不良體驗(yàn)。故而,當(dāng)前推薦算法的用戶滿意度低,越來越多的用戶希望擁有更智能化的推薦,以符合他們的需求[10]。為此,不斷有學(xué)者致力于研究和改進(jìn)各種推薦算法,希望能夠緩解推薦系統(tǒng)所面臨的問題,提高用戶滿意度。
作為當(dāng)前推薦系統(tǒng)的主流算法,協(xié)同過濾(Collaborative Filtering,CF)[11]主要分為基于內(nèi)存、模型和深度學(xué)習(xí)3類[12],其中第2類主要包含矩陣分解模型。下面介紹與文中相關(guān)的矩陣分解和深度矩陣分解方法。
在2006年的Netflix大賽中,基于模型的矩陣分解以優(yōu)良的推薦性能贏得了大賽第一名[13]。之后,該類方法受到了學(xué)術(shù)界的廣泛歡迎。文獻(xiàn)[14]總結(jié)并提出了最常見的幾種矩陣分解的推薦方法,包括基本矩陣分解(MF)、加入偏置的奇異值分解(Bias-SVD)、引入時(shí)間因子的奇異值分解(SVD++)。這里,用m×n維矩陣R=(rij)m×n表示m個(gè)用戶對n個(gè)項(xiàng)目的評分矩陣,基本矩陣分解形式為
R≈PQT,
(1)
其中,P∈Rm×K1為用戶隱特征矩陣,Q∈Rn×K1為項(xiàng)目隱特征矩陣,K1 對于評分值rij,其預(yù)測公式為 (2) 其中,pi∈R1×K1表示P的第i行對應(yīng)的向量;qj∈R1×K1表示Q的第j行對應(yīng)的向量。 為了得到最優(yōu)的隱特征矩陣,建立如下的正則化損失函數(shù): (3) 其中,Ω?{1,2,…,m}×{1,2,…,n}表示所有已知評分指標(biāo)集合,η>0為正則化系數(shù),‖·‖是向量的L2范數(shù)。 由于隨機(jī)梯度下降法(Stochastic Gradient Descent,SGD)易于實(shí)現(xiàn)且運(yùn)行時(shí)間較快[15],因此可采用SGD來最小化式(3)。該方法循環(huán)遍歷訓(xùn)練集中的所有評分。對于給定的隱特征向量對(pi,qj),系統(tǒng)都會(huì)預(yù)測其評分值,并將預(yù)測誤差定義為 (4) 對損失函數(shù)求一階梯度,在梯度的反方向上按與學(xué)習(xí)率λ成正比來更新變量: (5) 傳統(tǒng)矩陣分解在面對高維稀疏且規(guī)模較大的數(shù)據(jù)時(shí),存在很大的缺陷,且對非線性結(jié)構(gòu)的數(shù)據(jù)無效,最終,導(dǎo)致推薦精度不高。近年來,深度學(xué)習(xí)在圖像處理等領(lǐng)域取得了突破性的進(jìn)展[16-17],并通過實(shí)驗(yàn)分析驗(yàn)證其更適用于大型數(shù)據(jù)。因此,一些學(xué)者便將神經(jīng)網(wǎng)絡(luò)技術(shù)融入推薦系統(tǒng),利用非線性映射打破傳統(tǒng)矩陣分解對非線性數(shù)據(jù)無效的瓶頸,提出深度矩陣分解(Deep Matrix Factorization,DMF)。文獻(xiàn)[18]利用廣義矩陣分解的線性核來對潛在特征交互進(jìn)行建模,根據(jù)多層感知器的非線性核學(xué)習(xí)交互功能,通過共享相同的嵌入層進(jìn)行融合,提出了神經(jīng)協(xié)同過濾技術(shù)。該方法將數(shù)據(jù)矩陣中已知元素用“1”代替,未知評分用“0”代替,即 (6) 將矩陣的第i行Xi·,第j列X·j同時(shí)輸入到多層神經(jīng)網(wǎng)絡(luò),得到一種深度矩陣分解模型[18]。文中將此模型記為DMF1。文獻(xiàn)[19]在DMF1的基礎(chǔ)上,充分利用原始評分信息反映已知評分值,用“0”代替矩陣中的未知元素,即 (7) 該模型將Xi·和X·j作為多層神經(jīng)網(wǎng)絡(luò)的輸入,其記為DMF2。文獻(xiàn)[20]利用數(shù)據(jù)中的隱式信息,開發(fā)了隱式反饋嵌入,將高維稀疏的隱式信息轉(zhuǎn)換為保留主要特征的低維向量,提高了訓(xùn)練效率。文獻(xiàn)[21]利用深度矩陣分解進(jìn)行矩陣補(bǔ)全(Matrix Completion,MC),同時(shí)優(yōu)化了多層神經(jīng)網(wǎng)絡(luò)的輸入和參數(shù),將隱特征變量傳遞到輸出層來恢復(fù)缺失值,并記為MC-by-DMF。 基本矩陣分解采用雙線性映射,導(dǎo)致推薦性能較差,而且不適用于大規(guī)模且具有非線性結(jié)構(gòu)的數(shù)據(jù)?,F(xiàn)有的深度矩陣分解雖然利用非線性映射,但其輸入向量稀疏、維數(shù)高或求解復(fù)雜,從而影響推薦性能。為克服現(xiàn)有深度矩陣分解的缺陷,提出一種新型深度矩陣分解模型,并設(shè)計(jì)了一種求解算法(LMaFit+DMF):先使用低秩矩陣擬合(Low-rank Matrix Fitting,LMaFit)確定神經(jīng)網(wǎng)絡(luò)的輸入隱特征,再通過深度神經(jīng)網(wǎng)絡(luò)求解模型參數(shù)。 對于已知元素rij,若直接對兩個(gè)隱特征向量pi和qj采用內(nèi)積運(yùn)算,則無法突破rij與pi、qj之間的雙線性關(guān)系。為此,分別對隱特征向量pi和qj建立兩個(gè)多層感知器。對用戶隱特征向量pi,采用含有N1個(gè)隱層的多層感知器建立非線性映射: (8) 類似地,對項(xiàng)目隱特征向量qj,構(gòu)建含有N2個(gè)隱層的多層感知器: (9) 為了預(yù)測評分rij,進(jìn)一步要求UN1=VN2=K2。引入K2維列向量h,建立如下預(yù)測模型: (10) (11) (12) 在上述模型中,兩個(gè)多層感知器的輸入均為變量,故同時(shí)關(guān)于變量θ1和θ2來最小化目標(biāo)函數(shù)是比較復(fù)雜的。 采用兩階段法來簡化新型深度矩陣分解模型的求解,即先確定θ1,再求解θ2。 (13) (14) 其中,Λ∈Rm×n為拉格朗日乘子矩陣,〈·,·〉表示兩矩陣的內(nèi)積。對該函數(shù)的各個(gè)矩陣變量求梯度,得一階最優(yōu)條件: (15) 其中,ΩC為集合Ω的補(bǔ)集。通過非線性的連續(xù)超松弛算法求解方程組(15),得到迭代公式: (16) 其中,權(quán)重參數(shù)ω≥1。 一旦θ1確定,所建立的深度矩陣分解模型就變成了傳統(tǒng)的多層神經(jīng)網(wǎng)絡(luò)。求解深度神經(jīng)網(wǎng)絡(luò)最常用的優(yōu)化方式是隨機(jī)梯度下降法,它包括多種具體實(shí)現(xiàn)方式[15]。在第二階段,將通過比較不同優(yōu)化器,采取最適合的優(yōu)化器求解如下多層神經(jīng)網(wǎng)絡(luò): (17) (18) 其中,λ為學(xué)習(xí)率,λ>0。 1.3 麻醉方法 腰硬聯(lián)合麻醉8例,其中3例第1次腰穿失敗后立即改全身麻醉,其余121例患者均為全身麻醉。 依據(jù)最終得到的深度矩陣分解,聯(lián)合使用用戶嵌入特征f1(pi)和項(xiàng)目嵌入特征f2(qj)對未知評分rij進(jìn)行預(yù)測,參見式(10)。圖1展示了低秩矩陣擬合與深度矩陣分解的聯(lián)合框架。 圖1 低秩矩陣擬合和深度矩陣分解的聯(lián)合框架 為驗(yàn)證LMaFit+DMF的可行性和有效性,選取4個(gè)公開的數(shù)據(jù)集:sushi[24]、jester(http://eigentaste.berkeley.edu/dataset/)、ml-100k和ml-1m(https://grouplens.org/datasets/movielens/)進(jìn)行實(shí)驗(yàn)。Sushi根據(jù)用戶的口味和喜好等對壽司給出-1至4之間的整數(shù)評分;jester反映了用戶對不同類笑話的偏好程度,將評分值控制在-10到10之間;ml-100k和ml-1m均為公開電影評分?jǐn)?shù)據(jù)集,其值在1到5之間。表1總結(jié)了這4個(gè)數(shù)據(jù)集的基本信息。 表1 數(shù)據(jù)集的基本信息 實(shí)驗(yàn)在Windows 10 64位操作系統(tǒng)、Core i5-6300HQ處理器和12 GB內(nèi)存下運(yùn)行。LMaFit和MC-by-DMF均由Matlab編程實(shí)現(xiàn),其他方法使用Python語言。對于所有深度矩陣分解方法,設(shè)置迭代次數(shù)為 1 000,批大小為12 500,正則化參數(shù)置為0.5,學(xué)習(xí)率為0.000 1。對于LMaFit+DMF,令N1=N2=N。在傳統(tǒng)矩陣分解、LMaFit和MC-by-DMF中,將數(shù)據(jù)集按7∶3隨機(jī)劃分為訓(xùn)練集和測試集;在其他方法中,將數(shù)據(jù)集按7∶1∶2隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集和測試集。采用均方根誤差(RMSE)和平均絕對誤差(MAE)作為推薦效果的評價(jià)指標(biāo): (19) (20) 其中,|Ω|為已知的用戶-項(xiàng)目交互數(shù)目。它們的值越小,推薦系統(tǒng)的準(zhǔn)確度就越高。 首先以數(shù)據(jù)集ml-100k為例,將所提出的LMaFit +DMF與傳統(tǒng)的矩陣分解(MF、PMF、Bias-SVD、SVD++、LMaFit)和現(xiàn)有的深度矩陣分解(MC-by-DMF、DMF1、DMF2)進(jìn)行比較,其中PMF(ProbabilisticMatrix Factorization)采用極大后驗(yàn)估計(jì)推測用戶與項(xiàng)目特征。設(shè)置迭代次數(shù)均為1 000,學(xué)習(xí)率和正則化參數(shù)分別為0.000 1和0.5。在傳統(tǒng)的矩陣分解和LMaFit +DMF中,設(shè)置隱向量的維數(shù)K1均為100。對于MC-by-DMF,按照文獻(xiàn)[21]設(shè)置含有兩個(gè)隱層的網(wǎng)絡(luò),節(jié)點(diǎn)數(shù)目分別為10、100,激活函數(shù)分別為Tanh和Linear。在DMF1、DMF2和LMaFit +DMF中,設(shè)置神經(jīng)網(wǎng)絡(luò)隱層層數(shù)均為1,使用Relu激活函數(shù),優(yōu)化器為Adam,且隱特征向量的輸出維數(shù)K2為 50。前述9種推薦算法在訓(xùn)練集和測試集上的誤差比較如表2所示。 表2 不同推薦方法在ml-100k上的性能比較 從表2可以看出:雖然LMaFit和MC-by-DMF在訓(xùn)練集的評價(jià)指標(biāo)上取得了較小的誤差,但其在測試集上卻非常大,這意味著LMaFit和MC-by-DMF具有較差的泛化性能。與MF、PMF、Bias-SVD和SVD++相比,DMF1和DMF2的訓(xùn)練集RMSE至少下降了0.144 8,MAE至少下降了0.130 1;測試集RMSE至少下降了0.064 4,MAE至少下降了0.066 7,故這兩種深度矩陣分解優(yōu)于傳統(tǒng)的矩陣分解。與DMF1和DMF2相比,LMaFit +DMF訓(xùn)練集的RMSE至少下降了0.413 9,MAE至少下降了0.315 5;測試集的RMSE至少下降了0.497 7,MAE至少下降了0.365 0。因此,在上述9種推薦算法中,LMaFit +DMF取得了最佳的推薦性能,且改善結(jié)果顯著。 其次,在sushi、jester和ml-1m數(shù)據(jù)集上比較不同深度矩陣分解方法的性能。由于MC-by-DMF不適用于較大規(guī)模的數(shù)據(jù)集,故在jester和ml-1m的實(shí)驗(yàn)中未考慮該方法。在LMaFit+DMF中,設(shè)置K1分別為80、80、500,K2分別為 50、100、50。對于sushi,MC-by-DMF的節(jié)點(diǎn)數(shù)目分別為10、100。實(shí)驗(yàn)結(jié)果見表3至表5。 表5 不同深度矩陣分解方法在ml-1m上的性能比較 從表3可以得出如下結(jié)果:MC-by-DMF的訓(xùn)練誤差非常小,測試誤差非常大;與DMF1和DMF2相比, LMaFit+DMF在訓(xùn)練集上RMSE下降范圍在0.110 3~0.572 9,MAE的范圍在0.139 8~0.538 4;在測試集上的RMSE下降范圍在0.656 2~1.909 2,MAE的范圍在0.514 7~1.628 9。 表3 不同深度矩陣分解方法在sushi上的性能比較 從表4可以看出:與DMF1相比,數(shù)據(jù)集jester的LMaFit+DMF在訓(xùn)練集上的評價(jià)指標(biāo)至少下降了0.427 3,在測試集上的評價(jià)指標(biāo)至少下降了0.517 6;雖然DMF2訓(xùn)練集的各評價(jià)指標(biāo)都非常低,但測試集評價(jià)指標(biāo)卻非常大,因此該模型對于jester的推薦性能較差。 表4 不同深度矩陣分解方法在jester上的性能比較 比較表5得出如下結(jié)論:與DMF1和DMF2相比,數(shù)據(jù)集ml-1m的LMaFit+DMF在訓(xùn)練集上RMSE下降范圍在0.219 4~0.225 3,MAE的范圍在0.229 1~0.232 6;在測試集上的RMSE下降范圍在0.313 2~0.319 5,MAE的范圍在0.286 5~0.321 1。因此,在sushi、jester和ml-1m數(shù)據(jù)集上,LMaFit+DMF明顯優(yōu)于其他的深度矩陣分解算法。 在LMaFit+DMF中,將LMaFit方法得到的隱特征向量作為多層神經(jīng)網(wǎng)絡(luò)的輸入,顯著地降低了輸入特征的維數(shù)。最后在sushi、jester、ml-100k和ml-1m這4個(gè)數(shù)據(jù)集下,比較DMF1、DMF2和LMaFit+DMF運(yùn)行時(shí)間。對于數(shù)據(jù)集sushi、jester、ml-100k和ml-1m,DMF1每次迭代(epoch)的平均運(yùn)行時(shí)間分別為1.607 9 s、56.512 0 s、1.893 5 s和35.263 4 s,DMF2的平均運(yùn)行時(shí)間分別為1.614 6 s、56.878 1 s、1.922 1 s和38.511 9 s,而LMaFit+DMF下的平均運(yùn)行時(shí)間分別為0.039 1 s、0.388 6 s、0.020 0 s和0.059 6 s。由于DMF1和DMF2的網(wǎng)絡(luò)輸入特征維數(shù)接近,故它們的運(yùn)行時(shí)間非常接近。由于較低的隱特征維數(shù),LMaFit+DMF的運(yùn)行時(shí)間短,每次迭代的時(shí)間至少降低了97.5%。綜上,筆者提出的深度矩陣分解算法不僅顯著地改善了推薦性能,而且降低了算法的運(yùn)行時(shí)間。 為了選擇最適合筆者所提方法的梯度更新策略,對4種常用的優(yōu)化器Adadelta、Adagrad、Adam和RMSProp進(jìn)行對比[15]。在sushi、jester、ml-100k和ml-1m數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),K1分別設(shè)置為80、80、100、500,K2分別設(shè)置為50、100、50、50,激活函數(shù)均取為Relu,神經(jīng)網(wǎng)絡(luò)的層數(shù)均為1。實(shí)驗(yàn)結(jié)果如表6至表9所示。 表6 數(shù)據(jù)集sushi下不同優(yōu)化器的實(shí)驗(yàn)結(jié)果 表7 數(shù)據(jù)集jester下不同優(yōu)化器的實(shí)驗(yàn)結(jié)果 表8 數(shù)據(jù)集ml-100k下不同優(yōu)化器的實(shí)驗(yàn)結(jié)果 表9 數(shù)據(jù)集ml-1m下不同優(yōu)化器的實(shí)驗(yàn)結(jié)果 從表6至表9可以看出:優(yōu)化器RMSProp的損失函數(shù)值均達(dá)到最?。粚τ谟?xùn)練集, Adam的RMSE和MAE均取得最小值;在測試集中,Adam和RMSProp的誤差較小。因此,在后面的實(shí)驗(yàn)中選取性能較優(yōu)的Adam作為優(yōu)化器。 9 ml-1m在不同隱層下訓(xùn)練集的RMSE 先考慮用戶或項(xiàng)目對應(yīng)的多層感知器的輸入特征維數(shù)K1和輸出特征維數(shù)K2對LMaFit+DMF的影響。根據(jù)4個(gè)數(shù)據(jù)集的維數(shù)大小來設(shè)置K1,在sushi和jester中取K1∈{30,50,80};在ml-100k中取K1∈{50,100,300};在ml-1m中取K1∈{100,300,500}。對于4個(gè)數(shù)據(jù)集,均設(shè)置輸出特征的維數(shù)K2∈{30,50,100},神經(jīng)網(wǎng)絡(luò)隱層層數(shù)為1,激活函數(shù)為Relu。在K1與K2的不同組合下,表10至表13分別列出了數(shù)據(jù)集sushi、jester、ml-100k和ml-1m在LMaFit+DMF經(jīng)過1 000次迭代之后的實(shí)驗(yàn)結(jié)果。 從表10至13可以看出:在給定K1時(shí),不同的K2對應(yīng)的損失函數(shù)值以及評價(jià)指標(biāo)值相差較小。當(dāng)K2固定且K1增加時(shí),表10、表12和表13的損失函數(shù)值有明顯的下降趨勢,而表11的損失函數(shù)值先增加再降低;表11的所有評價(jià)指標(biāo)均先遞增再遞減;表10、表12和表13的訓(xùn)練誤差呈遞減趨勢;表10的測試誤差先減后增,表12的測試誤差單調(diào)遞增,表13中測試集的RMSE單調(diào)遞減而MAE先減后增。綜上,K1的選取對LMaFit+DMF的實(shí)驗(yàn)結(jié)果更加敏感,故選取合適的K1是非常重要的。此外,對某些數(shù)據(jù)集而言,較小或較大的K2對測試誤差不利。 表10 數(shù)據(jù)集sushi下不同特征維數(shù)的實(shí)驗(yàn)結(jié)果 表11 數(shù)據(jù)集jester下不同特征維數(shù)的實(shí)驗(yàn)結(jié)果 表12 數(shù)據(jù)集ml-100k下不同特征維數(shù)的實(shí)驗(yàn)結(jié)果 表13 數(shù)據(jù)集ml-1m下不同特征維數(shù)的實(shí)驗(yàn)結(jié)果 接下來考慮4個(gè)數(shù)據(jù)集分別在激活函數(shù)Sigmoid、Tanh、Relu和Softplus下的誤差。通過比較表10至表13,取數(shù)據(jù)集sushi、jester、ml-100k和ml-1m的K1值分別為80、80、100、500,K2值分別為50、100、50、50。圖2至圖5繪出了4個(gè)數(shù)據(jù)集在不同激活函數(shù)下經(jīng)過1 000次迭代的訓(xùn)練集的RMSE曲線。 觀察圖2至圖5,可以得出如下結(jié)論。當(dāng)?shù)螖?shù)較小(epoch<200)時(shí),4種激活函數(shù)對應(yīng)的訓(xùn)練集的RMSE有較大的區(qū)別,Softplus均取得最小誤差,而Relu卻表現(xiàn)出較差的性能。對于較大的迭代次數(shù)(epoch>800),圖2中的4條曲線比較接近,Tanh、Relu和Softplus對應(yīng)的3條曲線幾乎重合,且優(yōu)于Sigmoid;圖4中Relu的誤差最小,且明顯優(yōu)于其他3個(gè)激活函數(shù);圖5中Relu也取得最佳性能。這些結(jié)論表明Relu是4個(gè)數(shù)據(jù)集中最適合的激活函數(shù),且該函數(shù)運(yùn)算簡單,計(jì)算速度較快。 圖2 sushi在不同激活函數(shù)下訓(xùn)練集的RMSE 圖3 jester在不同激活函數(shù)下訓(xùn)練集的RMSE 圖4 ml-100k在不同激活函數(shù)下訓(xùn)練集的RMSE 圖5 ml-1m在不同激活函數(shù)下訓(xùn)練集的RMSE 最后,在激活函數(shù)Relu下比較神經(jīng)網(wǎng)絡(luò)隱層層數(shù)N對推薦性能的影響。當(dāng)N比較大時(shí),算法的計(jì)算復(fù)雜度和存儲(chǔ)復(fù)雜度均比較大,故文中只考慮了較小的層數(shù),即N∈{1,2,3,4}。在sushi等4個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),圖6至圖9繪出了訓(xùn)練集的RMSE曲線。類似地,對于較小的迭代次數(shù),N=1與其它隱層數(shù)的訓(xùn)練誤差有顯著區(qū)別。當(dāng)?shù)螖?shù)較大時(shí),圖7、圖8中的4條曲線幾乎重合,圖6、圖9中的4條曲線比較接近。由于隱層層數(shù)為1的神經(jīng)網(wǎng)絡(luò)模型的計(jì)算復(fù)雜度最低,所以在文中給定的實(shí)驗(yàn)設(shè)置下,隱層層數(shù)N=1是最佳的選擇。 圖6 sushi在不同隱層下訓(xùn)練集的RMSE 圖7 jester在不同隱層下訓(xùn)練集的RMSE 圖8 ml-100k在不同隱層下訓(xùn)練集的RMSE 針對傳統(tǒng)矩陣分解中兩個(gè)隱特征向量,使用兩個(gè)多層感知器和雙線性池化算子來替代雙線性映射,通過最小化正則化的損失函數(shù)來獲得隱特征向量和網(wǎng)絡(luò)參數(shù)。為了便于求解所建立的深度矩陣分解模型,基于兩階段法設(shè)計(jì)了求解算法:先使用LMaFit確定隱特征向量,再使用神經(jīng)網(wǎng)絡(luò)技術(shù)求解網(wǎng)絡(luò)參數(shù)。在真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,筆者提出的深度矩陣分解具有最小的測試誤差,比其他的深度分解方法在運(yùn)行時(shí)間上更具有優(yōu)勢。 在今后的研究中,聯(lián)合優(yōu)化或交替優(yōu)化深度矩陣分解的模型變量將是值得研究的方向。1.2 深度矩陣分解
2 新型深度矩陣分解模型
3 模型求解
3.1 θ1的確定
3.2 θ2的更新
4 實(shí)驗(yàn)結(jié)果與分析
4.1 實(shí)驗(yàn)描述與實(shí)驗(yàn)設(shè)置
4.2 與其他推薦方法的對比
4.3 優(yōu)化器的選擇
4.4 參數(shù)對LMaFit+DMF的影響
5 結(jié)束語