吳 靜,宋 燕
(1 上海理工大學(xué) 理學(xué)院,上海 200093;2 上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
隨著信息時(shí)代的迅猛發(fā)展,數(shù)據(jù)呈現(xiàn)爆炸式增長(zhǎng)且常以高維矩陣的形式被存儲(chǔ)。然而,由于天然限制、技術(shù)不足等原因使得高維稀疏矩陣普遍存在。并且當(dāng)面臨這樣的大規(guī)模數(shù)據(jù)缺失的場(chǎng)景時(shí),傳統(tǒng)潛在因子(Latent Factor,LF)模型的性能往往不盡如人意。
實(shí)際上,現(xiàn)實(shí)應(yīng)用中總是可以使用多種評(píng)分模式來(lái)描述兩兩實(shí)體之間的關(guān)系,并且不同評(píng)分模式之間存在一定的關(guān)聯(lián)性,即實(shí)體之間的關(guān)系并不會(huì)因?yàn)樵u(píng)分模式的改變而改變。也就是說(shuō),當(dāng)某位用戶需要對(duì)商品進(jìn)行評(píng)價(jià)時(shí),如果該用戶在二分制評(píng)分模式下點(diǎn)擊了喜歡按鈕,那么在五分制評(píng)分模式中有很大概率會(huì)給出3~5 分這樣的高分。因此,基于不同評(píng)分模式之間的關(guān)聯(lián)性,可以通過遷移學(xué)習(xí)將輔助領(lǐng)域中的潛在信息遷移到目標(biāo)領(lǐng)域,以此緩解其中的數(shù)據(jù)稀疏問題。
此外,時(shí)間效率逐漸成為評(píng)判模型性能好壞的原因之一。現(xiàn)有的學(xué)習(xí)方法、如隨機(jī)梯度下降法等等,往往需要多次迭代達(dá)到模型收斂,從而造成模型訓(xùn)練效率低。
綜上,本文提出的TN-NNLF 模型主要貢獻(xiàn)如下:
(1)基于傳統(tǒng)的LF 模型,建立了一種新的融合遷移學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的潛在因子模型。
(2)基于不同評(píng)分模式之間的關(guān)聯(lián)性,通過遷移學(xué)習(xí)來(lái)遷移不同評(píng)分模式之間的共享潛在信息,以便充分挖掘已知信息之間的關(guān)系。
(3)利用神經(jīng)網(wǎng)絡(luò)進(jìn)行模型參數(shù)訓(xùn)練,減緩由于額外的評(píng)分領(lǐng)域的引入所造成的模型訓(xùn)練負(fù)擔(dān)。
(4)在2 個(gè)真實(shí)工業(yè)應(yīng)用數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文提出的TL-NNLF 模型能夠在保證滿意的預(yù)測(cè)精度的前提下大大加快了模型訓(xùn)練速度。
與經(jīng)典的機(jī)器學(xué)習(xí)方法不同的是,遷移學(xué)習(xí)主要基于不同領(lǐng)域之間所存在的潛在聯(lián)系,能夠通過從相關(guān)的輔助領(lǐng)域中遷移共享的知識(shí),以此來(lái)改進(jìn)模型在目標(biāo)領(lǐng)域中的學(xué)習(xí)效果。
具體地,基于遷移內(nèi)容的不同,可以將遷移學(xué)習(xí)分為以下3 種類型:
(1)基于實(shí)例的遷移,即從輔助領(lǐng)域中挑選出有助于目標(biāo)領(lǐng)域?qū)W習(xí)的實(shí)例。
(2)基于特征的遷移學(xué)習(xí),即提取并遷移輔助領(lǐng)域和目標(biāo)領(lǐng)域之間所共享的特征表示。
(3)基于模型的遷移學(xué)習(xí),又稱為基于共享參數(shù)的遷移,通過找到輔助領(lǐng)域與目標(biāo)領(lǐng)域的空間模型的共享參數(shù)以達(dá)到遷移的目的。
一個(gè)簡(jiǎn)單的自編碼神經(jīng)網(wǎng)絡(luò)模型主要包含3 層結(jié)構(gòu):輸入層、隱藏層、輸出層。主要工作原理是:在隱藏層將輸入數(shù)據(jù)映射到維度更低的特征空間中以提取重要潛在信息,再對(duì)特征空間中所包含的信息進(jìn)行重構(gòu)并作為輸出層數(shù)據(jù)。
一般情況下,通常使輸入層和輸出層樣本數(shù)據(jù)維度相同,從而可以更好地重構(gòu)原始數(shù)據(jù)。這里假設(shè)輸入層包含個(gè)樣本,,…,x,編碼層包含個(gè)神經(jīng)元,對(duì)應(yīng)的輸出層數(shù)據(jù)為,,…,y。研究中可利用歐式距離建立重構(gòu)誤差損失函數(shù),得到具體形式如下:
其中,表示輸入層樣本個(gè)數(shù)。
本文提出的模型考慮的場(chǎng)景是:基于五分制和二分制這2 種不同的評(píng)分模式來(lái)描述相同項(xiàng)目集合中兩兩實(shí)體之間的關(guān)系。并且將五分制評(píng)分模式領(lǐng)域作為目標(biāo)領(lǐng)域,二分制評(píng)分模式領(lǐng)域作為輔助領(lǐng)域。
圖1 TL-NNLF 模型結(jié)構(gòu)圖Fig.1 Structure of an TL-NNLF model
首先進(jìn)行目標(biāo)函數(shù)的構(gòu)造,為了避免模型訓(xùn)練過程中出現(xiàn)過擬合的情況而引入正則化項(xiàng),得到具體形式為:
其中,x,y分別表示目標(biāo)矩陣,輔助矩陣中的元素;u表示共享因子矩陣的第行元素;v,w分別表示第層神經(jīng)網(wǎng)絡(luò)中因子矩陣,的第行元素; λ,λ,λ分別表示正則化系數(shù)。
根據(jù)圖1,若假設(shè)TL-NNLF 模型中包含層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),則可得到模型訓(xùn)練過程如下:
(1)當(dāng)1、即模型為單層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)時(shí)。首先訓(xùn)練輔助矩陣,將矩陣的每一行作為輸入數(shù)據(jù),并依次訓(xùn)練因子矩陣和。其次將因子矩陣遷移到目標(biāo)矩陣的訓(xùn)練過程中,此時(shí)將矩陣的每一行作為輸入數(shù)據(jù),并訓(xùn)練因子矩陣。
(2)當(dāng)≥2、即模型包含多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)時(shí)。其第一層訓(xùn)練過程和單層神經(jīng)網(wǎng)絡(luò)模型類似;而從第二層開始,則是將上一層訓(xùn)練好的因子矩陣U作為下一層的輸入,這也有利于潛在信息的進(jìn)一步提取。最后依次訓(xùn)練因子矩陣U,W。
接下來(lái),基于梯度法來(lái)求解對(duì)應(yīng)的因子矩陣U,V,W。若僅僅考慮單層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、即當(dāng)1 時(shí)的情況,研究可得到的具體求解步驟分述如下。
通常情況下需要使用反向傳播算法訓(xùn)練權(quán)重矩陣和偏置向量,然而該算法容易加重模型訓(xùn)練負(fù)擔(dān)。所以為了加快模型訓(xùn)練速度,本文使用隨機(jī)學(xué)習(xí)算法來(lái)確定權(quán)重矩陣以及偏置向量。
(2)第二步,求解因子矩陣。根據(jù)初始化后的因子矩陣,并利用梯度法求解目標(biāo)函數(shù)。研究中首先求偏導(dǎo),可以得到:
其中,()表示矩陣每行的已知元素集合,()表示輔助矩陣中第列的已知值集合中的元素個(gè)數(shù)。
(3)第三步,更新因子矩陣。為了使其更好地近似輔助矩陣,需要進(jìn)一步更新因子矩陣。
類似地,利用梯度法,首先求偏導(dǎo)得到:
其中,() 表示矩陣每一列的已知元素集合。
(4)第四步,求解因子矩陣。此時(shí)將目標(biāo)矩陣作為輸入,并借助更新后的因子矩陣進(jìn)行參數(shù)訓(xùn)練。類似地,可以得到因子矩陣的具體參數(shù)更新形式如下:
通過上述求解過程,可以得到當(dāng)1 時(shí)的單層TL-NNLF 模型中各個(gè)因子矩陣中元素的具體訓(xùn)練規(guī)則。
其次考慮一般情況,也就是當(dāng)≥2、即模型包含多層網(wǎng)絡(luò)結(jié)構(gòu)時(shí)的情況。從圖1 可以看出,和第一層神經(jīng)網(wǎng)絡(luò)模型不同的是,此時(shí)將上一層的因子矩陣、即U中的元素作為下一層輸入。也就是說(shuō),此時(shí)僅僅考慮潛在因子矩陣的信息提取。并且由于潛在因子的矩陣規(guī)模遠(yuǎn)遠(yuǎn)小于原始矩陣,這不僅減輕了模型負(fù)擔(dān),同時(shí)也有助于進(jìn)一步挖掘原始矩陣中所包含的潛在信息。
因此,當(dāng)≥2 時(shí),首先通過隨機(jī)學(xué)習(xí)算法初始化權(quán)重矩陣和偏置向量對(duì)上一步訓(xùn)練完成的因子矩陣U進(jìn)行編碼,并得到因子矩陣U的具體更新規(guī)則如下:
其次,類似地,根據(jù)梯度法,得到因子矩陣W的更新公式:
并根據(jù)求解后的因子矩陣W,進(jìn)一步更新因子矩陣U,得到如下更新公式:
最后,則通過將對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)層訓(xùn)練好的因子矩陣U進(jìn)行知識(shí)遷移,得到因子矩陣V的具體更新公式如下:
基于以上參數(shù)更新規(guī)則,研發(fā)設(shè)計(jì)了TL-NNLF模型算法,算法的步驟流程可見如下。
1.3 評(píng)定標(biāo)準(zhǔn) 分別于治療前及治療4周后,采用Lysholm膝關(guān)節(jié)評(píng)分量表[5]對(duì)患者療效進(jìn)行評(píng)定, 評(píng)定內(nèi)容包括跛行(5分)、下蹲(5分)、 需要支持(5分)、 腫脹(10分)、 交鎖(15分)、 上下樓梯(10分)、 不穩(wěn)定(25分)、 疼痛25分),滿分為100分。采用視覺模擬評(píng)分(Visual Analogue Scale,VAS)來(lái)評(píng)定患者膝關(guān)節(jié)疼痛[6]:分值范圍為0~10分,0分表示無(wú)痛,10分表示想象中的最劇烈疼痛。
不難發(fā)現(xiàn),該算法主要時(shí)間開銷來(lái)自于元素更新公式(12)~(14)中逆矩陣的計(jì)算。具體地,對(duì)于每個(gè)逆矩陣的求解需要花費(fèi)的時(shí)間復(fù)雜度為(),其中表示因子空間的維度。也就是說(shuō),時(shí)間復(fù)雜度往往和呈線性關(guān)系,值越小、時(shí)間開銷越少。另外,神經(jīng)網(wǎng)絡(luò)層數(shù)的設(shè)置也十分重要,這是因?yàn)樵酱?、表示層?shù)越多,模型訓(xùn)練所需花費(fèi)的時(shí)間也越多。
為了有效衡量提出的模型算法的精確度,采用均方根誤差()和平均絕對(duì)誤差()作為實(shí)驗(yàn)評(píng)估指標(biāo),具體公式如下:
本文選取了2 個(gè)真實(shí)工業(yè)應(yīng)用數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集來(lái)驗(yàn)證提出模型的性能。對(duì)此數(shù)據(jù)集擬做闡釋分述如下。
(1)(MovieLens 1 M):該數(shù)據(jù)集由GroupLens 研究組根據(jù)MovieLens 網(wǎng)站收集的電影評(píng)分?jǐn)?shù)據(jù),其中共包含6040 位用戶對(duì)3883 部電影的評(píng)分?jǐn)?shù)據(jù),且評(píng)分區(qū)間為[1,5]。該數(shù)據(jù)集密度為4.26%。
(2)(Douban):該數(shù)據(jù)集來(lái)自中國(guó)最大的在線圖書、電影和音樂供應(yīng)商-豆瓣。其中包含了129490位用戶對(duì)58541 個(gè)項(xiàng)目的評(píng)分,評(píng)分區(qū)間為[1,5]。該數(shù)據(jù)集密度僅為0.22%。
考慮到目前沒有適合本文這種場(chǎng)景、即用二分制和五分制兩種不同的評(píng)分模式來(lái)描述相同項(xiàng)目集合中兩兩實(shí)體之間的關(guān)系,因此在實(shí)驗(yàn)過程中參考文獻(xiàn)[5-7,21]中的方法處理實(shí)驗(yàn)相關(guān)數(shù)據(jù)集。具體地,對(duì)數(shù)據(jù)集,將目前大規(guī)模稀疏的五分制評(píng)分矩陣作為目標(biāo)矩陣,并通過公式(17)得到對(duì)應(yīng)的輔助矩陣:
在進(jìn)行對(duì)比實(shí)驗(yàn)之前,需要事先通過參數(shù)靈敏度實(shí)驗(yàn)。首先將正則化系數(shù)λ,λ,λ預(yù)設(shè)為λ=λ=λ=λ以降低訓(xùn)練成本。因此,可以明確實(shí)驗(yàn)中需要訓(xùn)練的參數(shù)包括:正則化系數(shù)、潛在因子維度、神經(jīng)網(wǎng)絡(luò)層數(shù)。具體的參數(shù)訓(xùn)練結(jié)構(gòu)如圖2~圖5 所示。
圖2 正則化系數(shù)λ 對(duì)RMSE 的影響Fig.2 Influence of regularization coefficient λ on RMSE
圖3 潛在因子維數(shù)f 對(duì)RMSE 的影響Fig.3 Influence of Latent Factor dimension f on RMSE
圖4 不同潛在因子維數(shù)f 的時(shí)間花費(fèi)Fig.4 Time costs with different Latent Factor dimension f
圖5 不同神經(jīng)網(wǎng)絡(luò)層數(shù)n 的時(shí)間花費(fèi)Fig.5 Time costs with different layers of neural networks
圖2 展示了當(dāng)潛在因子維數(shù)40 時(shí),不同神經(jīng)網(wǎng)絡(luò)層數(shù)下正則化系數(shù)對(duì)模型的影響??梢园l(fā)現(xiàn),正則化參數(shù)的最優(yōu)值隨數(shù)據(jù)集的變化而變化,并且正則化參數(shù)的最優(yōu)值還會(huì)受到神經(jīng)網(wǎng)絡(luò)層數(shù)的影響。具體地從圖2(a)中可以發(fā)現(xiàn),在數(shù)據(jù)集中,當(dāng)正則化參數(shù)的值為0.001,此時(shí)若神經(jīng)網(wǎng)絡(luò)層數(shù)1 時(shí)有最小值為0.1412,而當(dāng)5 和11 時(shí),最小值分別為0.1280和0.1223。
圖3 展示了當(dāng)正則化系數(shù)=0001 時(shí),不同神經(jīng)網(wǎng)絡(luò)層數(shù)下潛在因子維數(shù)對(duì)模型的影響。類似地可以發(fā)現(xiàn),潛在因子維數(shù)會(huì)隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的變化而變化。具體地從圖3(a)中可以發(fā)現(xiàn),在數(shù)據(jù)集中,若潛在因子維數(shù)=40,此時(shí)當(dāng)神經(jīng)網(wǎng)絡(luò)層數(shù)1 時(shí)有最小值為0.1262,而當(dāng)5 和11 時(shí),最小值則分別為0.1253 和0.1054。
另外,由于時(shí)間效率也是判斷模型性能好壞的關(guān)鍵因素,因此還記錄了不同潛在因子維數(shù)和神經(jīng)網(wǎng)絡(luò)層數(shù)下的時(shí)間花銷,具體結(jié)果如圖4、圖5所示。
從圖4(a)、圖4(b)中發(fā)現(xiàn),在數(shù)據(jù)集上,當(dāng)潛在因子維數(shù)10 時(shí)、模型訓(xùn)練時(shí)間僅為1634 min,而當(dāng)160 時(shí)、模型訓(xùn)練過程則需要花費(fèi)37250 min。盡管潛在因子維數(shù)越大,模型的特征表示能力越強(qiáng),但同時(shí)也大大增加了實(shí)驗(yàn)負(fù)擔(dān)。類似地,從圖5(a)、圖5(b)中可以發(fā)現(xiàn),無(wú)論是在數(shù)據(jù)集、還是中,模型訓(xùn)練時(shí)間都會(huì)隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的增加而增加。
綜上所述,本次研究中設(shè)置TL-NNLF 模型中參數(shù)為:在中,正則化系數(shù)0001,潛在因子維數(shù)40,神經(jīng)網(wǎng)絡(luò)層數(shù)5;在中,正則化系數(shù)00008,潛在因子維度40,神經(jīng)網(wǎng)絡(luò)層數(shù)5。
最后為了評(píng)估本文所提出模型的有效性,共選擇了3 種經(jīng)典的LF 模型與本文提出模型進(jìn)行對(duì)比實(shí)驗(yàn),具體如下:
(1):NLF。NLF 是一種目前應(yīng)用較廣泛的基于單一目標(biāo)領(lǐng)域的非負(fù)LF 模型。
(2):CMF。CMF 是一種跨領(lǐng)域的聯(lián)合矩陣分解。
(3):MLF。MLF 是一種基于隨機(jī)算法的LF 模型。
(4):TL-NNLF。TL-NNLF 是本文提出的一種新穎的LF 模型。
接著根據(jù)上述參數(shù)設(shè)置對(duì)模型進(jìn)行對(duì)比實(shí)驗(yàn),最終結(jié)果見表1。表1 中,每個(gè)括號(hào)中的值表示該模型在某一指標(biāo)下的排序值。這里,僅考慮了本文提出模型在目標(biāo)領(lǐng)域中的預(yù)測(cè)誤差和訓(xùn)練時(shí)間,值得注意的是,該模型同樣適用于輔助領(lǐng)域。
表1 模型M1~M4 在D1~D2 的最小預(yù)測(cè)誤差和相應(yīng)時(shí)間開銷Tab.1 Lowest prediction error and the corresponding time costs achieved by models M1~M4 on D1~D2
研究中遵循的具體排序規(guī)則如下:首先將4 個(gè)模型基于評(píng)價(jià)指標(biāo)和花費(fèi)時(shí)間值的大小分別進(jìn)行排序,其中1 表示最好,4 表示最差;其次分別計(jì)算每個(gè)模型的平均排名,例如在數(shù)據(jù)集中,模型的每項(xiàng)排名分別為:3、3、4、3,所以模型的整體平均排名為(3+3+4+3)/4=3.25。此處的平均排名值越低,表示模型整體性能越好。
至此,由表1 中可以得到以下結(jié)論:
(1)模型在2 個(gè)真實(shí)數(shù)據(jù)集上關(guān)于評(píng)價(jià)指標(biāo)和的整體表現(xiàn)明顯優(yōu)于模型和。具體地,在數(shù)據(jù)集中,模型和分別取得最小值為01245 和01267,而引入了遷移學(xué)習(xí)的所取得的最小值為01121,較和相比分別提升了124,126。類似地,基于評(píng)價(jià)指標(biāo),模型的表現(xiàn)也有明顯提升。
(2)模型在模型訓(xùn)練時(shí)間上的花費(fèi)遠(yuǎn)遠(yuǎn)小于模型。具體地,在數(shù)據(jù)集中,模型取得的最小值為01083,而其在訓(xùn)練過程中需要花費(fèi)415662 min;盡管模型取得的最小值為01121,較相比降低了038,而模型訓(xùn)練僅花費(fèi)1563.79 min。
(3)模型的整體排名都優(yōu)于其他傳統(tǒng)的LF模型。也就是說(shuō),模型能夠在保證模型預(yù)測(cè)精度的前提下大大減少了模型訓(xùn)練時(shí)間。因此,綜合考慮模型預(yù)測(cè)精度和訓(xùn)練花費(fèi)時(shí)間這2 個(gè)方面,模型性能優(yōu)于其他經(jīng)典的LF 模型。
如何有效緩解數(shù)據(jù)稀疏問題逐漸成為一大研究熱點(diǎn)。本文綜合考慮模型預(yù)測(cè)精度和訓(xùn)練花費(fèi)時(shí)間兩個(gè)方面,一方面基于不同模式下評(píng)分?jǐn)?shù)據(jù)之間的關(guān)聯(lián)性,引入遷移學(xué)習(xí)將二分制評(píng)分?jǐn)?shù)據(jù)的潛在知識(shí)遷移到五分制評(píng)分領(lǐng)域中以緩解其存在數(shù)據(jù)稀疏問題;另一方面,利用神經(jīng)網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練以加快模型訓(xùn)練速度,并且通過合理地設(shè)置實(shí)驗(yàn)參數(shù),能夠在保證較好的預(yù)測(cè)精度的前提下大大縮短了模型訓(xùn)練所花費(fèi)的時(shí)間。最終在2 個(gè)真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文提出的模型整體性能優(yōu)于其他傳統(tǒng)LF 模型。最后,如何進(jìn)一步充分挖掘不同評(píng)分模式之間的公共知識(shí)將成為未來(lái)的重要研究方向。