韋凱欣,宋 燕
(1上海理工大學(xué) 理學(xué)院,上海 200093;2上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
近年來(lái),隨著計(jì)算機(jī)技術(shù)的全面發(fā)展,信息呈現(xiàn)爆炸式增長(zhǎng)。面對(duì)這些海量數(shù)據(jù),如何通過(guò)數(shù)據(jù)挖掘相關(guān)理論和技術(shù)手段挖掘出潛在的、有效的以及可被解釋和理解的信息,一直以來(lái)都是亟待解決的問(wèn)題。矩陣分解(Matrix Factorization,MF)模型,特別是概率矩陣分解(Probabilistic Matrix Factorization,PMF)模型由于其在大規(guī)模稀疏數(shù)據(jù)集上的良好性能而被廣泛應(yīng)用。通過(guò)將原始的高維數(shù)據(jù)矩陣映射到低維的潛在因子空間,來(lái)挖掘隱藏的有用信息。然而,由于天然的技術(shù)手段不足或者后期存儲(chǔ)設(shè)備故障等原因,數(shù)據(jù)缺失難以避免,這就造成了原始數(shù)據(jù)矩陣的高維稀疏現(xiàn)象。當(dāng)面對(duì)大規(guī)模、不均衡稀疏數(shù)據(jù)時(shí),PMF模型往往會(huì)出現(xiàn)過(guò)擬合和迭代訓(xùn)練時(shí)間復(fù)雜度高等問(wèn)題。
在大規(guī)模、不均衡稀疏矩陣上進(jìn)行矩陣分解,本質(zhì)上是一個(gè)不適定問(wèn)題,難以找到唯一的或者全局最優(yōu)解。正則化通常是解決上述問(wèn)題,提高模型泛化能力的有效方法之一。然而,目前大部分矩陣分解的方法都采用了一般的正則化方法,如L正則化。但是,這些正則化方法通常是針對(duì)沒(méi)有缺失項(xiàng)的完整數(shù)據(jù)集的,高維稀疏數(shù)據(jù)集在稀疏度和數(shù)據(jù)均衡度方面都存在很大的差異,直接使用這些傳統(tǒng)的正則化方法取得的效果可能事倍功半。如何設(shè)計(jì)出適用于不完整數(shù)據(jù)集的正則化方案,更加準(zhǔn)確地刻畫原始矩陣,已然成為亟待解決的重要課題。
另外,時(shí)間復(fù)雜度也是判斷一個(gè)模型性能好壞的標(biāo)準(zhǔn)之一。目前,大部分模型的求解方法,都依賴于迭代求解,如梯度下降法(Gradient Descent,GD)。其主要思想是沿著參數(shù)當(dāng)前位置的負(fù)梯度方向進(jìn)行迭代更新,逐步達(dá)到最優(yōu)解。然而,這種訓(xùn)練方法,往往需要付出巨大的時(shí)間代價(jià),而且隨著數(shù)據(jù)集的不斷擴(kuò)大,這種時(shí)間消耗更是難以忍受。不同于這些傳統(tǒng)的訓(xùn)練方法,基于神經(jīng)網(wǎng)絡(luò)的方法通常僅需一次迭代,可以大大提升模型的訓(xùn)練效率。因此,本文將神經(jīng)網(wǎng)絡(luò)引入到模型的訓(xùn)練過(guò)程當(dāng)中。
綜上所述,本文提出一種融合實(shí)例頻率加權(quán)正則化和神經(jīng)網(wǎng)絡(luò)的概率矩陣分解模型,在提高模型預(yù)測(cè)精度的同時(shí)大大提升模型訓(xùn)練效率。本文的主要貢獻(xiàn)如下:
(1)基于傳統(tǒng)的PMF模型,建立一種新的融合數(shù)據(jù)不均衡分布信息和神經(jīng)網(wǎng)絡(luò)的概率矩陣分解模型,即IR-NNPMF模型。
(2)基于稀疏矩陣行列之間數(shù)據(jù)不均衡分布的信息,通過(guò)引入實(shí)例頻率加權(quán)的正則化方案,有效地緩解模型過(guò)擬合問(wèn)題。
(3)引入神經(jīng)網(wǎng)絡(luò)進(jìn)行模型的參數(shù)訓(xùn)練,整個(gè)訓(xùn)練過(guò)程當(dāng)中,只需要進(jìn)行一次迭代,大大提高了模型的訓(xùn)練效率。
(4)在4個(gè)真實(shí)的工業(yè)應(yīng)用數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果證明,本文提出的IR-NNPMF模型可以有效緩解模型的過(guò)擬合問(wèn)題,在提升預(yù)測(cè)精度的同時(shí)減少模型的訓(xùn)練時(shí)間。
為了對(duì)模型進(jìn)行學(xué)習(xí),首先,假設(shè)已經(jīng)觀測(cè)到的原始矩陣服從以下高斯分布:
其中,(,)是均值為,方差為的高斯分布的概率密度函數(shù);R表示位于矩陣中第行和第列的元素;U 表示位于矩陣中第行的行向量;V 表示位于矩陣中第行的行向量;I是指示函數(shù),如果R有數(shù)據(jù),則為1,否則為0。
為了防止過(guò)擬合,假設(shè)2個(gè)低秩矩陣的潛在因子向量服從零均值的高斯先驗(yàn)分布:
根據(jù)貝葉斯公式,可得潛在因子向量的后驗(yàn)log函數(shù):
其中,是不依賴于任何參數(shù)的常量。
最大化函數(shù)等價(jià)于最小化式(5)中的目標(biāo)函數(shù),即:
不均衡高維稀疏數(shù)據(jù)集上的不適定問(wèn)題往往嚴(yán)重依賴于最初的假設(shè)。加入正則化是解決這類問(wèn)題的有效方法之一,例如正則化。式(5)的正則化方案為:
然而,這些傳統(tǒng)的正則化方法通常適用于完整的數(shù)據(jù)矩陣。面對(duì)高維稀疏的數(shù)據(jù)矩陣,就需要根據(jù)每行或每列不同的已知實(shí)例數(shù),為其分配不同的正則化系數(shù)。因此,將式(6)改進(jìn)為式(7):
其中,(U)表示行向量U 中的已知實(shí)例的個(gè)數(shù);(V)表示行向量V 中已知實(shí)例的個(gè)數(shù);(x)=表示底數(shù)為,指數(shù)為的冪函數(shù),用來(lái)實(shí)現(xiàn)對(duì)正則化效果的細(xì)粒度控制。
自編碼神經(jīng)網(wǎng)絡(luò)模型作為一種無(wú)監(jiān)督模型,通過(guò)重構(gòu)輸入信號(hào),提取出比原始無(wú)標(biāo)注數(shù)據(jù)更好的特征表述,從而取得更好的模型效果。最簡(jiǎn)單的自編碼神經(jīng)網(wǎng)絡(luò)包括3層:輸入層、隱藏層(也稱編碼層)和輸出層(也稱解碼層)。具體的自編碼神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 自編碼神經(jīng)網(wǎng)絡(luò)模型Fig.1 Autoencoder Neural Network model
假設(shè)輸入層有個(gè)樣本,,…,x,隱藏層有個(gè)神經(jīng)元,對(duì)應(yīng)的輸出層為,,…,y。 首先,通過(guò)隱藏層將原始輸入數(shù)據(jù)映射到更低維度的空間,從而提取出重要特征。此處需用到的數(shù)學(xué)公式為:
其中,是權(quán)重參數(shù)矩陣;是偏置參數(shù)向量;是激活函數(shù),例如()1(1exp())。
其次,再通過(guò)輸出層重構(gòu)這些重要特征。相應(yīng)的數(shù)學(xué)公式可表示為:
其中,是權(quán)重參數(shù)矩陣;是偏置參數(shù)向量;同樣是激活函數(shù)。為了能更好地表述原始數(shù)據(jù),輸出層通常與輸入層的維度一致。
最后,構(gòu)建從輸入層到輸出層的代價(jià)函數(shù),并最小化代價(jià)函數(shù)得到最優(yōu)特征表述。由此推得的數(shù)學(xué)公式為:
其中,表示輸入層樣本的個(gè)數(shù)。
面對(duì)大規(guī)模稀疏數(shù)據(jù)集上的數(shù)據(jù)不均衡分布現(xiàn)象,傳統(tǒng)的正則化方法取得的效果并不理想。因此,本文創(chuàng)造性地提出一種融合實(shí)例頻率加權(quán)正則化和神經(jīng)網(wǎng)絡(luò)的PMF模型,即IR-NNPMF模型。具體的模型結(jié)構(gòu)圖如圖2所示。
圖2 IR-NNPMF模型結(jié)構(gòu)圖Fig.2 Structure of an IR-NNPMF model
本文將與潛在因子有關(guān)的實(shí)例頻率融入到正則化項(xiàng)當(dāng)中,故對(duì)傳統(tǒng)PMF模型當(dāng)中的潛在因子的先驗(yàn)分布條件進(jìn)行改進(jìn),具體如下所示:
潛在因子的對(duì)數(shù)后驗(yàn)分布函數(shù)如式(13)所示:
最終的目標(biāo)函數(shù)可表示為:
本文引入神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)訓(xùn)練,提高模型的訓(xùn)練效率。假設(shè)IR-NNPMF模型包含層神經(jīng)網(wǎng)絡(luò),研究展開(kāi)的模型訓(xùn)練過(guò)程為:
(1)當(dāng)1時(shí),即模型包含一層神經(jīng)網(wǎng)絡(luò)。將矩陣的每一行輸入到輸入層,并分別通過(guò)潛在因子矩陣和對(duì)輸入數(shù)據(jù)進(jìn)行編碼和解碼。
(2)當(dāng)≥2時(shí),即模型包含多層神經(jīng)網(wǎng)絡(luò)。對(duì)于第一層神經(jīng)網(wǎng)絡(luò),其訓(xùn)練過(guò)程和單層神經(jīng)網(wǎng)絡(luò)模型相同;在第2層及之后的訓(xùn)練過(guò)程中,將上一層輸出的潛在因子矩陣U 的每一行向量作為輸入數(shù)據(jù),進(jìn)行當(dāng)前層的U 的訓(xùn)練。
緊接著,將對(duì)模型參數(shù)U 和V 進(jìn)行求解。
(1)當(dāng)1時(shí)。研發(fā)求解過(guò)程如下。
首先,初始化潛在因子矩陣。將原始矩陣進(jìn)行輸入,然后通過(guò)隨機(jī)學(xué)習(xí)算法得到權(quán)重矩陣W 和偏置向量,之后首次更新:
其中,,,…,w 表示權(quán)重矩陣W 的每一行元素;,,…,b表示偏置向量的每一個(gè)元素。
其次,更新潛在因子矩陣。 具體做法如下:
①計(jì)算中每一個(gè)行向量的偏導(dǎo)數(shù):
其中,表示一個(gè)維度為的單位矩陣。
最后,再次更新潛在因子矩陣。首次更新的是通過(guò)隨機(jī)學(xué)習(xí)算法和神經(jīng)網(wǎng)絡(luò)得到的,具有一定的隨機(jī)性。為了更好地近似矩陣,根據(jù)更新過(guò)的,再次更新,其方法與更新類似:
(2)當(dāng)≥2時(shí)。從圖2可以看出,與單層神經(jīng)網(wǎng)絡(luò)最大的不同之處在于,模型當(dāng)前層的輸入數(shù)據(jù)是上一層的潛在因子矩陣U 。 其訓(xùn)練過(guò)程與單層神經(jīng)網(wǎng)絡(luò)類似,具體如下。
首先,初始化潛在因子矩陣U 。 研究后可得:
其中,C,C,…,C表示第層神經(jīng)網(wǎng)絡(luò)權(quán)重矩陣C ∈?中每一行元素;d,d,…,d表示第層神經(jīng)網(wǎng)絡(luò)偏置向量d∈中每一個(gè)元素。
其次,更新潛在因子矩陣V 。 研究后可得:
最后,再次更新潛在因子矩陣U 。 研究后可推得:
針對(duì)2.2節(jié)中參數(shù)更新步驟,研究設(shè)計(jì)了IRNNPMF模型的算法流程,算法代碼詳見(jiàn)如下。
已知數(shù)據(jù)集合,,,正則化系數(shù)λ和λ
因子矩陣U ,V
當(dāng)1時(shí),根據(jù)式(15)求解因子矩陣,當(dāng)≥2時(shí),根據(jù)式(19)求解因子矩陣U 。
根據(jù)式(20)求解因子矩陣V 。
根據(jù)式(21)更新因子矩陣U 。
該算法的主要時(shí)間消耗是計(jì)算參數(shù)更新公式(20)、(21)中的逆矩陣,其時(shí)間復(fù)雜度為),其中是潛在因子空間的維度。也就是說(shuō),越小,模型訓(xùn)練所花費(fèi)的時(shí)間越少。然而,過(guò)小的話,不能很好地表述原來(lái)矩陣的特征。因此,在實(shí)驗(yàn)過(guò)程當(dāng)中,往往需要取一個(gè)合適的值來(lái)平衡模型的特征表述和時(shí)間復(fù)雜度。
此外,神經(jīng)網(wǎng)絡(luò)層數(shù)的取值也至關(guān)重要。越大,訓(xùn)練模型所需要的時(shí)間就越長(zhǎng);過(guò)小,模型的預(yù)測(cè)精度就達(dá)不到要求。因此,在實(shí)驗(yàn)過(guò)程當(dāng)中也需要設(shè)置一個(gè)合理的取值。
本文使用均方根誤差(Root Mean Square Error,)和平均絕對(duì)誤差(Mean Absolute Error,)作為實(shí)驗(yàn)評(píng)估標(biāo)準(zhǔn),具體公式為:
本文選取了4個(gè)真實(shí)工業(yè)應(yīng)用數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集來(lái)驗(yàn)證所提出模型的性能。數(shù)據(jù)集信息見(jiàn)表1。
表1 數(shù)據(jù)集信息Tab.1 Information of datasets
為了避免模型訓(xùn)練受到其他因素的影響,本文將所有數(shù)據(jù)集進(jìn)行歸一化處理;并將所有數(shù)據(jù)集按照8:2劃分訓(xùn)練集和測(cè)試集,且在訓(xùn)練集上進(jìn)行5折交叉驗(yàn)證;最后進(jìn)行10次獨(dú)立重復(fù)實(shí)驗(yàn),取其平均值作為最終的實(shí)驗(yàn)結(jié)果。以上所有實(shí)驗(yàn)都是用Pycharm實(shí)現(xiàn),在Intel Core i5 CPU 1.40 GHz,8 GB內(nèi)存和AMD Ryzen 7 3700X CPU 3.58 GHz,32 GB內(nèi)存的計(jì)算機(jī)上運(yùn)行。
為了體現(xiàn)本文提出模型的優(yōu)越性,這里將與數(shù)個(gè)模型進(jìn)行對(duì)比。各對(duì)比模型信息參見(jiàn)表2。
表2 對(duì)比模型信息Tab.2 Information of compared models
在進(jìn)行對(duì)比實(shí)驗(yàn)前,需要對(duì)模型的參數(shù)進(jìn)行靈敏度測(cè)試,并設(shè)置最優(yōu)參數(shù)。為了減小模型的復(fù)雜度,所有模型中的正則化系數(shù)λ和λ設(shè)置為λ=λ=λ。 因此,這里需要對(duì)以下參數(shù)進(jìn)行訓(xùn)練:正則化系數(shù),正則化實(shí)例頻率加權(quán)指數(shù),潛在因子維度,神經(jīng)網(wǎng)絡(luò)層數(shù),具體訓(xùn)練過(guò)程如圖3~圖7所示。
圖3 正則化系數(shù)λ對(duì)RMSE的影響Fig.3 Influence of regularization coefficientλon RMSE
圖7 不同神經(jīng)網(wǎng)絡(luò)層數(shù)n的時(shí)間花費(fèi)Fig.7 Time costs with different layers of neural networks
圖3 展示了正則化系數(shù)對(duì)模型性能的影響,其中圖3(a)~(d)分別表示模型在數(shù)據(jù)集上的參數(shù)靈敏度測(cè)試結(jié)果??梢园l(fā)現(xiàn),當(dāng)正則化實(shí)例頻率加權(quán)指數(shù)和潛在因子維度固定的情況下,不同數(shù)據(jù)集的最優(yōu)正則化參數(shù)是不同的。即上的最優(yōu)參數(shù)分別為0.2,0.05,0.01,0.5。
圖4展示了正則化實(shí)例頻率加權(quán)指數(shù)對(duì)模型性能的影響,其中圖4(a)~(d)分別表示模型在數(shù)據(jù)集上的參數(shù)靈敏度測(cè)試結(jié)果。可以發(fā)現(xiàn),當(dāng)正則化系數(shù)和潛在因子維度固定的情況下,數(shù)據(jù)集的最優(yōu)正則化實(shí)例權(quán)重指數(shù)分別為1.0,0.6,0.8,1.0。
圖4 正則化實(shí)例權(quán)重指數(shù)β對(duì)RMSE的影響Fig.4 Influence of regularization instance-frequency weight indexβon RMSE
圖5展示了不同神經(jīng)網(wǎng)絡(luò)層數(shù)下潛在因子維度對(duì)模型性能的影響,其中圖5(a)~(d)分別表示模型在數(shù)據(jù)集上的參數(shù)靈敏度測(cè)試結(jié)果??梢园l(fā)現(xiàn),不同數(shù)據(jù)集上最優(yōu)的潛在因子維度是不同的。具體地,在、和上,很容易得出最優(yōu)的值為10,20,10;但是,在上,從20增加到160對(duì)模型精度的影響不明顯。當(dāng)神經(jīng)網(wǎng)絡(luò)層數(shù)6時(shí),和20相比,160時(shí),僅降低了0.005 02,考慮到越大,時(shí)間復(fù)雜度越大,這里選擇20作為最優(yōu)參數(shù)。
圖5 潛在因子維數(shù)D對(duì)RMSE的影響Fig.5 Influence of latent factor dimension D on RMSE
模型參數(shù)的設(shè)置,除了要對(duì)比預(yù)測(cè)精度外,還要衡量不同參數(shù)下的模型訓(xùn)練時(shí)間。圖6、圖7分別展示了在不同潛在因子維度和神經(jīng)網(wǎng)絡(luò)層數(shù)下的時(shí)間消耗。從圖6、圖7中可以看出,不管在哪個(gè)數(shù)據(jù)集上,隨著和的增加,模型的訓(xùn)練時(shí)間都會(huì)迅速增加。例如,從圖6(c)中,可以看出在數(shù)據(jù)集上,當(dāng)20時(shí),模型的訓(xùn)練時(shí)間為21 742.329 84 s,而160時(shí),模型的訓(xùn)練時(shí)間為41 035.049 28 s,增加了88.73%。雖然隨著的增加,模型的表征擬合能力會(huì)大大增加,但是所帶來(lái)的巨大的時(shí)間代價(jià),也是難以忍受的。因此選擇合適的值是十分重要的。
圖6 不同潛在因子維數(shù)D的時(shí)間花費(fèi)Fig.6 Time costs with different latent factor dimension D
同樣地,從圖7(c)中可以得到,在數(shù)據(jù)集上,當(dāng)5時(shí),訓(xùn)練時(shí)間為7 222.471 204 s,而當(dāng)15時(shí),訓(xùn)練時(shí)間迅速增加到21 656.375 45 s。雖然,經(jīng)過(guò)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)層數(shù)越多,越能更好地?cái)M合原始數(shù)據(jù)矩陣,但是帶來(lái)的時(shí)間消耗也是巨大的。因此,選擇合適的值也是十分必要的。
經(jīng)過(guò)上述分析,研究得到IR-NNPMF模型在不同數(shù)據(jù)集上的參數(shù)設(shè)置為:在上,02,08,10,2;在上,005,06,20,4;在上,001,08,20,6;在上,05,10,10,4。
最后為了評(píng)估本文提出模型的有效性,對(duì)3.3節(jié)中所提出的3個(gè)模型進(jìn)行對(duì)比實(shí)驗(yàn)。為了得到一個(gè)無(wú)偏的結(jié)果,和在4個(gè)數(shù)據(jù)集上參數(shù)設(shè)置如下:
對(duì)于模型,正則化系數(shù),正則化實(shí)例頻率加權(quán)指數(shù)和潛在因子維度,分別與模型在各個(gè)數(shù)據(jù)集上的取值相同,并在各個(gè)數(shù)據(jù)集上對(duì)學(xué)習(xí)率在[0000 1,0001,001,005,01,05,09]內(nèi)進(jìn)行靈敏度測(cè)試,最終數(shù)據(jù)集的最優(yōu)參數(shù)分別為:0.000 1,0.000 1,0.5,0.1。對(duì)于模型,潛在因子維度和學(xué)習(xí)率,分別與在各個(gè)數(shù)據(jù)集上的取值相同,并在各個(gè)數(shù)據(jù)集上對(duì)正則化系數(shù)在[0000 1,0001,001,005,01,05,09]內(nèi) 進(jìn)行參數(shù)靈敏度測(cè)試,最終數(shù)據(jù)集的最優(yōu)參數(shù)分別為:0.05,0.05,0.001,0.001。
表3 模型M 1~M 3在D1~D4的最小預(yù)測(cè)誤差和相應(yīng)時(shí)間開(kāi)銷Tab.3 Lowest prediction error achieved by models M 1~M 3 and the corresponding time costs on D1~D4
(1)模型在數(shù)據(jù)集上關(guān)于評(píng)價(jià)指標(biāo)和的性能都明顯優(yōu)于模型和。例如,在數(shù)據(jù)集上,模型和取得的最小的分別為0351 85和0350 19,而模型最小的為0312 59,分別提升了112和107。模型在數(shù)據(jù)集上關(guān)于評(píng)價(jià)指標(biāo)的性能均優(yōu)于模型,例如,在數(shù)據(jù)集上模型取得的最小為0345 82,而模型取得的最小為0314 97,提升了89。這說(shuō)明將數(shù)據(jù)的不均衡分布信息引入到正則化當(dāng)中,能有效提高模型的預(yù)測(cè)精度。
(2)模型在所有數(shù)據(jù)集上的時(shí)間消耗都明顯小于模型。例如,在數(shù)據(jù)集上,模型取得的最小的時(shí)所花費(fèi)的時(shí)間為4 767389 6 s;而模型所取得最小時(shí)花費(fèi)的時(shí)間為2 187636 5 s。 這說(shuō)明引入神經(jīng)網(wǎng)絡(luò)能有效減少模型迭代訓(xùn)練所造成的時(shí)間花費(fèi)。
(3)模型在所有數(shù)據(jù)集上的綜合排名明顯優(yōu)于其他對(duì)比模型,說(shuō)明模型能夠在保證訓(xùn)練時(shí)間的同時(shí)大大提高預(yù)測(cè)精度。綜上,在同時(shí)考慮預(yù)測(cè)精度和訓(xùn)練時(shí)間這2個(gè)評(píng)價(jià)指標(biāo)的情況下,模型的性能優(yōu)于其他對(duì)比模型。
如何有效進(jìn)行缺失數(shù)據(jù)的估計(jì)一直以來(lái)就是數(shù)據(jù)挖掘領(lǐng)域的研究熱點(diǎn)。本文著重考慮模型的預(yù)測(cè)精度和訓(xùn)練時(shí)間兩個(gè)指標(biāo),一方面將數(shù)據(jù)不均衡信息引入到正則化當(dāng)中,提高模型的泛化能力;另一方面,引入神經(jīng)網(wǎng)絡(luò)進(jìn)行模型參數(shù)的訓(xùn)練,加快了模型的訓(xùn)練速度,并合理地設(shè)置模型的參數(shù),在提高模型預(yù)測(cè)精度的同時(shí)減少模型訓(xùn)練時(shí)間。最后,在4個(gè)真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果證明,本文提出的IRNNPMF模型在大型稀疏數(shù)據(jù)集上的性能是優(yōu)于其他PMF模型的。