吳金榮,胡建華,宋 燕,沈春根
1(上海理工大學(xué) 理學(xué)院,上海 200093) 2(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
大數(shù)據(jù)時(shí)代,高維稀疏數(shù)據(jù)大量出現(xiàn)在工業(yè)和日常生活中,常用高維稀疏矩陣表示,如推薦系統(tǒng),這些稀疏數(shù)據(jù)的背后存在著大量有待發(fā)現(xiàn)的重要信息.潛在因子模型是從高維稀疏矩陣中提取有用知識(shí)的一種經(jīng)典方法,常采用矩陣二分解形式,即將稀疏矩陣分解為行潛在因子矩陣和列潛在因子矩陣的乘積,對(duì)應(yīng)于推薦系統(tǒng)的用戶潛在因子矩陣和項(xiàng)目潛在因子矩陣.隨著深度學(xué)習(xí)的廣泛應(yīng)用,基于深度學(xué)習(xí)思想的潛在因子模型也被應(yīng)用于解決高維稀疏數(shù)據(jù)的填補(bǔ)問題[1].例如文獻(xiàn)[2]建立深度潛在因子模型來填補(bǔ)稀疏的評(píng)分矩陣,這種通過增加參數(shù)個(gè)數(shù)和增加網(wǎng)絡(luò)層數(shù)來分層次傳遞信息的深度網(wǎng)絡(luò)模型往往能獲得一個(gè)高效的學(xué)習(xí)效果.但在實(shí)際處理問題時(shí),二分解模型難以滿足目標(biāo)稀疏矩陣的對(duì)稱性和非負(fù)性約束,而這樣的高維稀疏數(shù)據(jù)(例如,社交網(wǎng)絡(luò)[3,4]、無線傳感網(wǎng)絡(luò)[5-7]、生物數(shù)據(jù)分析[8])大量存在于生活中.更加精細(xì)、深入地挖掘高維非負(fù)、對(duì)稱稀疏矩陣蘊(yùn)藏的信息依然是一個(gè)挑戰(zhàn)性的問題.針對(duì)非負(fù)性和對(duì)稱性約束的高維稀疏矩陣,文獻(xiàn)[9]從三分解的角度提出了基于三分解的對(duì)稱非負(fù)潛在因子模型(TF-based SNLF)模型,大大提高了預(yù)測(cè)的精度.基于深度學(xué)習(xí)的成功,設(shè)計(jì)一個(gè)深度網(wǎng)絡(luò)用于解決高維非負(fù)、對(duì)稱稀疏數(shù)據(jù)的填補(bǔ)問題也成為一個(gè)非常有意義的課題.眾所周知,一個(gè)采用多層線性函數(shù)(例如,全聯(lián)接(Affine Function,Affine))的網(wǎng)絡(luò)與采用單層線性函數(shù)的網(wǎng)絡(luò)在本質(zhì)上并無區(qū)別.而采用非線性激活函數(shù)(例如,線性整流函數(shù)(Rectified Linear Unit,ReLU)和Sigmoid函數(shù))的網(wǎng)絡(luò)通過加深層數(shù)能更好的學(xué)習(xí)到數(shù)據(jù)更深層次的信息.但是如果只是簡(jiǎn)單的增加網(wǎng)絡(luò)層次,而選取不適當(dāng)?shù)募せ詈瘮?shù),也容易導(dǎo)致數(shù)值穩(wěn)定性下降的問題.
為應(yīng)對(duì)上述挑戰(zhàn),本文提出了一個(gè)深度非負(fù)對(duì)稱潛在因子模型(Deep nonnegative symmetric latent factor model,DNSLF),用以解決無向高維稀疏網(wǎng)絡(luò)的稀疏問題.為了獲取項(xiàng)目更深層次的潛在因子,本文選取非線性函數(shù)ReLU作為傳遞函數(shù),這是由于加深層次容易引發(fā)數(shù)值穩(wěn)定性下降,而ReLU函數(shù)使網(wǎng)絡(luò)具有稀疏性,能有效緩解數(shù)值穩(wěn)定性下降并且能有效防止過擬合;為了加快模型訓(xùn)練,本文采用了自適應(yīng)步長(zhǎng)進(jìn)行模型學(xué)習(xí).本文的主要貢獻(xiàn)有:
1)提出了一個(gè)深度非負(fù)對(duì)稱潛在因子模型,用于對(duì)具有非負(fù)、對(duì)稱限制的高維稀疏矩陣中的缺失值估計(jì).
2)為了緩解因加深層次導(dǎo)致的數(shù)值穩(wěn)定性下降,使用ReLU作為傳遞函數(shù);模型迭代優(yōu)化過程中,采用自適應(yīng)步長(zhǎng)的方法進(jìn)行模型訓(xùn)練.
3)在多個(gè)具有不同稀疏度的公共數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果表明所提出的深度非負(fù)對(duì)稱潛在因子模型優(yōu)于最新的模型.
本文的剩余部分介紹如下:第2節(jié)討論了相關(guān)工作;第3節(jié)提出深度非負(fù)對(duì)稱潛在因子模型;第4節(jié)給出了不同稀疏度數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果,并解釋了超參數(shù)設(shè)置并分析了模型收斂性;最后,第5節(jié)對(duì)本文進(jìn)行了總結(jié).
潛在因子模型是基于內(nèi)容過濾模型[10,11]的推廣.它基于這樣一個(gè)假設(shè),即矩陣行項(xiàng)目選擇某個(gè)列項(xiàng)目的因素不需要明確知道.給定一個(gè)完全矩陣R∈m×n,包括m個(gè)行項(xiàng)目和n個(gè)列項(xiàng)目,可以表示為:
R=UVT
U=[u1|…|um],V=[v1|…|vn]
(1)
這里U和V分別表示行項(xiàng)目和列項(xiàng)目潛在因子組成的潛在因子矩陣.
以上分解如果針對(duì)完全觀測(cè)矩陣,問題是簡(jiǎn)單的.但若矩陣R∈m×n僅有部分被觀察到,那么目標(biāo)矩陣的分解將會(huì)變得不容易,其目標(biāo)也變成了通過矩陣分解來估計(jì)缺失值.表示成數(shù)學(xué)形式為:
R=Y⊙(UVT)
(2)
這里Y表示指示矩陣,由0&1組成,yi,j=1對(duì)應(yīng)R位于i行j列的元素ri,j被觀測(cè)到,否則為0;⊙表示哈達(dá)瑪積.一般通過為式設(shè)定一個(gè)合適的損失函數(shù),
(3)
實(shí)際問題中,經(jīng)常需要在式中對(duì)U或V設(shè)置一些限制,如低秩、正交和非負(fù)性等.這些限制通常會(huì)減少模型的解空間,模型往往顯示出更好的性能[12].
受限玻爾茲曼機(jī)器(Restricted Boltzmann Machine)[13]是當(dāng)今流行的深信度網(wǎng)絡(luò)的基礎(chǔ)模塊,但它最初是為了解決協(xié)同過濾問題而引入的.然而,由于一個(gè)重要限制,即對(duì)輸入限制為0&1,使得受限玻爾茲曼機(jī)在協(xié)同過濾領(lǐng)域并沒有流行.
基于深度學(xué)習(xí)的協(xié)同過濾的更為徹底、更為合理的方法由文獻(xiàn)[14]提出,將基于用戶隱式反饋的歷史記錄(二進(jìn)制數(shù)據(jù)0&1)作為輸入,把得分高的作為推薦項(xiàng)目;使用用戶過去的歷史記錄(項(xiàng)目評(píng)級(jí))作為輸入,并優(yōu)先使用評(píng)級(jí)的日期較新的項(xiàng)目,進(jìn)行模型的訓(xùn)練.文獻(xiàn)[1]結(jié)合了深度學(xué)習(xí)與潛在因子模型,提出了深層潛在因子模型,用于稀疏矩陣的缺失值估計(jì).模型以兩個(gè)潛在因子矩陣的乘積代替行項(xiàng)目的潛在因子矩陣,如圖1所示.
圖1 深度潛在因子模型Fig.1 Deep latent factor model
近年來,由于潛在因子模型在推薦系統(tǒng)領(lǐng)域獲得的成功,致使其得到了廣泛的研究,同時(shí)也迎來了許多新的發(fā)展,其中包括利用多域進(jìn)行模型的學(xué)習(xí).一個(gè)典型的模型由Jiang等[15]提出,基于雙域的數(shù)據(jù),提出了深度低等級(jí)稀疏集體因子分解;在模型的求解過程中,考慮了數(shù)據(jù)的噪聲并約束了解空間.Zhang 等[16]提出了一個(gè)聯(lián)合矩陣分解框架,是一個(gè)更為深入的多域潛在因子模型,核心思想是在貝葉斯框架下,以共同矩陣分解的形式呈現(xiàn),同時(shí)利用高斯分布對(duì)多域異質(zhì)噪聲進(jìn)行建模.
另一個(gè)重要的發(fā)展便是借鑒深度學(xué)習(xí)的思想,如He 等[14]提出的模型,綜合神經(jīng)網(wǎng)絡(luò)與潛在因子模型的輸出作為新項(xiàng)目的推薦;更為徹底的是Xue 等[17]提出了一個(gè)神經(jīng)網(wǎng)絡(luò)的回歸框架.但值得注意的是文獻(xiàn)[14] 和文獻(xiàn)[17]的模型,它們都只能給出推薦的項(xiàng)目,卻無法給出具體評(píng)分,Mongia 等[1]則提出了新的深度潛在因子模型,能給出具體項(xiàng)目的具體評(píng)分.但文獻(xiàn)[1]中也忽略了現(xiàn)實(shí)中稀疏矩陣中蘊(yùn)含的諸多約束條件,例如非負(fù)約束,對(duì)稱約束.
本節(jié)提出了一個(gè)深度非負(fù)對(duì)稱潛在因子模型(Deep non-negative symmetric latent factor model,DNSLF)(圖2),并設(shè)計(jì)了一個(gè)迭代算法來訓(xùn)練模型(算法1).
圖2 深度非負(fù)對(duì)稱潛在因子模型Fig.2 Deep non-negative symmetric latent factor model
目前潛在因子模型在估計(jì)高維稀疏矩陣缺失值上獲得了矚目的效果,廣泛用于稀疏數(shù)據(jù)潛在信息的挖掘,也成為推薦系統(tǒng)領(lǐng)域的重要模型.但是,目前常見的潛在因子模型往往忽視這些稀疏數(shù)據(jù)背后的結(jié)構(gòu)信息和更深層次的信息.本文專注于解決具有非負(fù)、對(duì)稱限制的高維稀疏矩陣的估計(jì)問題.
令R=[ri,j]n×n∈{+,?},R=RT,R是具有非負(fù)、對(duì)稱限制的高維稀疏矩陣.n表示R的行數(shù).ri,j為R位于i行j列的元素,表示行項(xiàng)目i與列項(xiàng)目j的關(guān)聯(lián)度.問號(hào)“?”表示缺失值.Yn×n表示R的指示矩陣,與式中定義一致.
深度非負(fù)對(duì)稱潛在因子模型通過深層分解,將R分解為多層項(xiàng)目潛在因子.由于R的對(duì)稱性,這里假設(shè)R的行項(xiàng)目潛在空間與列項(xiàng)目的潛在空間是一致的.行項(xiàng)目與對(duì)應(yīng)列項(xiàng)目的潛在聯(lián)系,用關(guān)聯(lián)度矩陣B表示,且B=BT.
本節(jié)描述了深度非負(fù)對(duì)稱潛在因子模型(DNSLF),模型的目的是通過深層的潛在因子的學(xué)習(xí),來更好的估計(jì)具有非負(fù)、對(duì)稱限制高維稀疏矩陣的缺失值.
如圖2所示,R表示非負(fù)、對(duì)稱的高維稀疏矩陣,由于網(wǎng)絡(luò)的無向性,行項(xiàng)目和列項(xiàng)目有一樣的潛在空間.為了發(fā)掘更多的信息,模型學(xué)習(xí)多層次潛在因子矩陣,用Ui表示第i層的潛在因子矩陣.ReLU表示非線性函數(shù)α(x)=max(x,0),x為輸入值.由于加深層次容易引發(fā)數(shù)值穩(wěn)定性下降,采用ReLU函數(shù)能使網(wǎng)絡(luò)具有稀疏性,從而有效緩解數(shù)值穩(wěn)定性下降并且能有效防止過擬合.
模型采用觀察值的誤差平方和作為目標(biāo)函數(shù)f,數(shù)學(xué)表達(dá)式如下:
(4)
為了求解模型式,本節(jié)將設(shè)計(jì)一個(gè)步長(zhǎng)自適應(yīng)的迭代優(yōu)化算法:基于學(xué)習(xí)衰減[18]的自適應(yīng)梯度優(yōu)化算法.為防止學(xué)習(xí)率衰減為0,采用指數(shù)移動(dòng)平均的方式[19]實(shí)現(xiàn)學(xué)習(xí)率的衰減.由于深度非負(fù)對(duì)稱潛在因子模型的非線性性,一起更新所有變量并不容易[20].這里選擇交替投影梯度法[21,22],即自適應(yīng)梯度優(yōu)化算法在優(yōu)化某個(gè)變量時(shí),固定其他變量.
因?yàn)閭鬟f函數(shù)ReLU的導(dǎo)數(shù)為:
(5)
因此更新每個(gè)變量參數(shù)時(shí),只需要更新參數(shù)參與傳遞的部分.對(duì)于任意矩陣X=[xi,j],定義傳遞指示矩陣如下:
(6)
下面用交替投影梯度法更新B與Ui.
首先更新B:經(jīng)計(jì)算
(7)
通過記錄過去的梯度和,并設(shè)置合適的遺忘率,使得隨著學(xué)習(xí)的深入,更新幅度逐漸減小.B的更新規(guī)則如下:
(8)
這里符號(hào)μ表示衰減系數(shù),用來控制遺忘的比例,一般設(shè)定μ=0.9,符號(hào)η表示學(xué)習(xí)率.
其次更新Ui:經(jīng)計(jì)算:
(9)
Ui的更新規(guī)則如下:
(10)
深度非負(fù)對(duì)稱潛在因子模型致力于具有非負(fù)、對(duì)稱限制的高維稀疏矩陣的缺失值估計(jì).只要矩陣B初始化時(shí)為對(duì)稱矩陣,則在之后的迭代過程中,B的對(duì)稱性依然能得到保證.同時(shí)每一個(gè)變量經(jīng)過α函數(shù)的傳導(dǎo),最后模型的估計(jì)值依然非負(fù).
(11)
算法1.深度非負(fù)對(duì)稱潛在因子模型
輸入:R,Step=itermax
初始化:U1,…,Uk,B
hU1=0,…,hUk=0,hB=0,t=1
1.while not converge andt 6. fori,i∈{1,…,k}: 11.t+=1 12.end 輸出:U1,…,Uk,B 本節(jié)將介紹數(shù)據(jù)集、評(píng)估指標(biāo)和比較方法,然后給出準(zhǔn)確度的評(píng)價(jià)結(jié)果,并進(jìn)行顯著性檢驗(yàn).實(shí)驗(yàn)的目的是回答以下問題: 1)對(duì)比一些先進(jìn)的潛在因子模型,新提出的模型DNSLF是否能表現(xiàn)出更好的效果? 2)ReLU作為潛在因子層的傳遞函數(shù),是否有效? 3)加深潛在因子的層數(shù)是否能提高模型效果? 表1 實(shí)驗(yàn)數(shù)據(jù)集Table 1 Experimental data sets 本文采用平均絕對(duì)誤差(MAE)和均方根誤差(RMSE)[26]這兩個(gè)指標(biāo)來評(píng)估每種方法的預(yù)測(cè)性能,定義如下: (12) (13) 本節(jié)列出了與深度非負(fù)對(duì)稱潛在因子模型相比的兩種方法. TF-based SNLF[8]:TF-based對(duì)稱非負(fù)潛在因子模型關(guān)注具有對(duì)稱性和非負(fù)性約束的稀疏矩陣,以矩陣三分解的形式將非負(fù)、對(duì)稱矩陣分解為項(xiàng)目潛在因子矩陣和對(duì)稱潛在因子評(píng)級(jí)矩陣. WLRA[27]:加權(quán)低秩近似應(yīng)用兩個(gè)潛在因子矩陣和一個(gè)潛在因子評(píng)級(jí)矩陣,即行項(xiàng)潛在因子、列項(xiàng)潛在因子和評(píng)級(jí)矩陣來對(duì)缺失數(shù)據(jù)估計(jì). 對(duì)于高維非負(fù)、對(duì)稱的稀疏數(shù)據(jù)補(bǔ)全任務(wù),本文將深度非負(fù)對(duì)稱潛在因子模型DNSLF與TF-based SNLF和WLRA作對(duì)比實(shí)驗(yàn),并作了ReLU、和增加層數(shù)的消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表2~表4.每組實(shí)驗(yàn)獨(dú)立重復(fù)10次,最后取平均值[28,29],表中加粗表示對(duì)比實(shí)驗(yàn)中最好的結(jié)果.實(shí)驗(yàn)中DNSLF的潛在因子層數(shù)是二層. 表2 對(duì)比模型性能表現(xiàn)Table 2 Performance of compared models 表3 是否包含ReLU函數(shù)的模型性能Table 3 Performance of model with and without ReLU function 表4 加深層次模型性能表現(xiàn)Table 4 Performance of deeper model 3)在表4中,對(duì)比了包含兩層潛在因子的DNSLF(即U1,U2,B)和一個(gè)潛在因子層的NSLF(即U1,B),DNSLF表現(xiàn)出了更好的模型效果,這說明層數(shù)的增加能挖掘更多的潛在信息.但是,三層的DNSLF實(shí)驗(yàn)中,模型效果不如兩層和一層的效果,且獨(dú)立實(shí)驗(yàn)的結(jié)果方差較大,這說明層數(shù)的加深,會(huì)引起數(shù)值穩(wěn)定性下降.如何緩解多層DNSLF的數(shù)值穩(wěn)定性下降也是接下來的研究方向之一. 為了評(píng)估DNSLF與其他方法相比的提高效果是否顯著,本文采用成對(duì)雙尾T檢驗(yàn),檢驗(yàn)結(jié)果的P值如表5~表7所示.P值越小,差異性效果越顯著.在3個(gè)表中,除了表7(SuiteSparse數(shù)據(jù)集)的RMSE評(píng)價(jià)指標(biāo)上P>0.05外,其余所有P<0.05,這表明了新模型DNSLF在3個(gè)數(shù)據(jù)上的效果提升是顯著的. 表5 對(duì)比模型性能表現(xiàn)的顯著性檢驗(yàn) Table 5 Significance test of the comparison model 表6 是否包含ReLU函數(shù)的模型性能的顯著性檢驗(yàn)Table 6 Significance test of the models with and without ReLU functions 表7 加深層次模型性能表現(xiàn)的顯著性檢驗(yàn)Table 7 Significance test of the deeper models 實(shí)驗(yàn)在一臺(tái)32G物理內(nèi)存、4.8GHz的Intel i5 CPU、運(yùn)行Deepin(OS)計(jì)算機(jī)上進(jìn)行,模型參數(shù)設(shè)置為32位單精度浮點(diǎn).由于目標(biāo)矩陣的稀疏性, 多重非線性因式分解模型中存在耦合,整個(gè)模型的收斂性不易確定,且分解出的潛在因子矩陣并不唯一,即不能收斂到唯一的矩陣.因此這里只通過實(shí)驗(yàn)說明新算法是經(jīng)驗(yàn)收斂的,經(jīng)過獨(dú)立的實(shí)驗(yàn),在允許誤差范圍下,每次迭代損失函數(shù)的損失值相近,則認(rèn)為該矩陣分解模型是收斂的,即經(jīng)驗(yàn)收斂[1].如圖3~圖5所示,展示了模型的收斂性, 而模型收斂時(shí)求得的潛在因子矩陣即為所求的分解矩陣.之后選定評(píng)價(jià)指標(biāo),通過與其它模型進(jìn)行多次獨(dú)立重復(fù)的對(duì)比實(shí)驗(yàn),進(jìn)而評(píng)估模型的性能提升.T檢驗(yàn)則保證模型性能提升的有效性,避免因?qū)嶒?yàn)誤差導(dǎo)致結(jié)果的差異. 圖3 蛋白質(zhì)網(wǎng)絡(luò)數(shù)據(jù)集的經(jīng)驗(yàn)收斂圖Fig.3 Empirical convergence graph for protein network dataset 圖4 礦山聲納數(shù)據(jù)集的經(jīng)驗(yàn)收斂圖Fig.4 Empirical convergence diagram of mine sonar dataset 圖5 SuiteSparse數(shù)據(jù)集的經(jīng)驗(yàn)收斂圖Fig.5 Empirical convergence graph for SuiteSparse dataset 本文提出了一個(gè)深度潛在因子模型DNSLF,它以多重非線性矩陣分解的形式來估計(jì)具有非負(fù)和對(duì)稱約束的高維稀疏目標(biāo)矩陣的缺失值.通過引入對(duì)稱深層潛在因子層和關(guān)聯(lián)層完成模型建立,并且采用ReLU函數(shù)作為潛在因子層的傳遞函數(shù),通過加深層次學(xué)習(xí)潛在因子空間更多的信息.通過與兩個(gè)較新的潛在因子模型對(duì)比,本文提出的深度潛在因子模型具有如下優(yōu)點(diǎn):1)專注處理對(duì)稱結(jié)構(gòu)的非負(fù)稀疏數(shù)據(jù);2)缺失值的高預(yù)測(cè)精度;3)可通過加深層次,改善模型.但加深層次可能帶來的數(shù)值不穩(wěn)定性,依然是一個(gè)挑戰(zhàn)性問題,也是我們接下來的研究方向之一.本文模型可應(yīng)用于一些工業(yè)數(shù)據(jù),例如,社交網(wǎng)絡(luò)[3,4]、無線傳感網(wǎng)絡(luò)[4,5]、生物數(shù)據(jù)分析[7].我們希望在未來探索更多的應(yīng)用.4 實(shí) 驗(yàn)
4.1 數(shù)據(jù)集和設(shè)置
4.2 評(píng)價(jià)指標(biāo)
4.3 對(duì)比方法
4.4 實(shí)驗(yàn)結(jié)果
4.5 顯著性驗(yàn)證
4.6 收斂性分析
5 總 結(jié)