葛 涵,張志勇,張紅良
(北華大學(xué)文學(xué)院,吉林 吉林 132013)
互聯(lián)網(wǎng)用戶快速增長與網(wǎng)絡(luò)數(shù)據(jù)規(guī)模不斷擴(kuò)大,使人們從信息匱乏時代逐漸步入信息化時代,同時促使了Web社區(qū)層出不窮,作為社交網(wǎng)絡(luò)的關(guān)鍵組成部分,其發(fā)展速度持續(xù)高漲。Web本意指蜘蛛網(wǎng)與網(wǎng)的意思,在網(wǎng)絡(luò)中稱其為網(wǎng)頁。越來越多用戶因為興趣匯集到Web社區(qū)中。在滿足人們互動需求的同時也帶來了信息過載問題,因此,推薦系統(tǒng)應(yīng)運而生。信息創(chuàng)造者竭盡全力讓自己生產(chǎn)的信息在網(wǎng)絡(luò)中脫穎而出,獲得更多關(guān)注;同時,用戶也通過該系統(tǒng)獲取感興趣的信息。為改善推薦效果,提高用戶滿意度,數(shù)據(jù)過濾算法顯得尤為重要。
邢長征[1]等人將填補算法與改進(jìn)的相似度算法相結(jié)合實現(xiàn)大數(shù)據(jù)協(xié)同過濾。首先采用填充方法任意填充部分?jǐn)?shù)據(jù),并在預(yù)測評分時融入項目屬性信息;再利用相似度方法,根據(jù)迭代多次后項目評分高低完成最終過濾。陶維成[2]等人提出灰色聚類協(xié)同過濾算法。定義推薦系統(tǒng)中用戶項目評分矩陣、灰色絕對關(guān)聯(lián)度與相似度等;確定灰色關(guān)聯(lián)聚類協(xié)同過濾算法計算步驟;最后將不同算法在規(guī)模不同的數(shù)據(jù)集下進(jìn)行實驗。
上述兩種數(shù)據(jù)過濾算法改善了推薦系統(tǒng)性能,但是依舊存在數(shù)據(jù)稀疏等問題,導(dǎo)致數(shù)據(jù)過濾不夠全面,進(jìn)而降低用戶體驗。為此,本文利用無限深度神經(jīng)網(wǎng)絡(luò)算法實現(xiàn)Web大數(shù)據(jù)的協(xié)同過濾。深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNNs)與其學(xué)習(xí)方法,作為成功的數(shù)據(jù)分析算法,已經(jīng)被各行業(yè)所熟知。和傳統(tǒng)算法相比,深度學(xué)習(xí)可以自動從數(shù)據(jù)中獲取特征,對形式多變的大數(shù)據(jù)具有較好的特征提取效果。而協(xié)同過濾可以實現(xiàn)基于內(nèi)容的信息自動分析。將二者相結(jié)合可有效改善數(shù)據(jù)稀疏問題,同時提高算法的可擴(kuò)展性,解決個性化推薦系統(tǒng)發(fā)展與應(yīng)用瓶頸。
現(xiàn)階段深度神經(jīng)網(wǎng)絡(luò)一般指存在一定深度的前饋網(wǎng)絡(luò)[3],其特征是相同層次神經(jīng)元之間不存在任何反饋連接,即沒有時間參數(shù)屬性,因此比較適合處理靜態(tài)信息。而本文利用的無限深度神經(jīng)網(wǎng)絡(luò)則是一種完全互連形式的回復(fù)式神經(jīng)網(wǎng)絡(luò),不同神經(jīng)元可實現(xiàn)反饋連接。同時將此種反饋結(jié)構(gòu)在時間維度中展開,隨著時間推移,網(wǎng)絡(luò)能夠“無限深”。其本質(zhì)屬于一個動力學(xué)系統(tǒng),可以對與時間相關(guān)的動態(tài)數(shù)據(jù)加以處理,
針對無限神經(jīng)網(wǎng)絡(luò)中所有神經(jīng)元來講,其包括三種連接方式:神經(jīng)元和全部外部輸入之間的連接、和其余全部神經(jīng)元的連接、與自身的反饋連接。圖1與圖2分別展示了存在三個神經(jīng)元、兩個外部輸入的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。

圖1 具有三個神經(jīng)元的網(wǎng)絡(luò)結(jié)構(gòu)圖

圖2 存在兩個外部輸入的網(wǎng)絡(luò)拓?fù)鋱D
假設(shè)某無限深度網(wǎng)絡(luò)包含m個外部輸入與n個神經(jīng)元,設(shè)定x(t)=(x1(t),x2(t),…,xm(t))T表示網(wǎng)絡(luò)在t時間點上的外部輸入,y(t)=(y1(t),y2(t),…,yn(t))T代表t時間點上n個神經(jīng)元輸出值。因此能夠得出,某神經(jīng)元k在t+1時間上得到的總輸入sk(t+1)包括x(t)與y(t)兩部分。
假設(shè)w屬于網(wǎng)絡(luò)連接權(quán)值[4],它是一個n×(n+m)矩陣,可令w=[wU,w1],wU代表各神經(jīng)元之間連接權(quán)值,w1為神經(jīng)元和網(wǎng)絡(luò)外部二者的連接權(quán)值,則t+1時刻神經(jīng)元的總輸入表示為
s(t+1)=wUy(t)+w1x(t)
(1)
式中,s(t+1)=(s1(t+1),s2(t+1),…,sn(t+1)),則t+1時刻神經(jīng)元k的輸出公式[5]表示為
yk(t+1)=fk(sk(t+1))
(2)
式中,fk代表神經(jīng)元k的激活函數(shù)。
為方便分析,將無限深度神經(jīng)網(wǎng)絡(luò)反饋結(jié)構(gòu)在時間維度上進(jìn)行展開。假定某網(wǎng)絡(luò)N從t0時間點運行,任意一個網(wǎng)絡(luò)N均被展開為前窺式網(wǎng)絡(luò)N*中內(nèi)一層。N*中所有層都具備n個神經(jīng)元,并且和該時間點的網(wǎng)絡(luò)N存在相同的活動值。
針對任意τ≥τ0,網(wǎng)絡(luò)N中神經(jīng)元j和τ+1層神經(jīng)元i之間的連接權(quán)值wij被復(fù)制為網(wǎng)絡(luò)N*中τ層神經(jīng)元j和τ+1層神經(jīng)元i之間連接權(quán)值wij(τ+1)。
隨時間推移,N*的深度能夠“無限深”,此種狀況下將網(wǎng)絡(luò)稱作無限深度網(wǎng)絡(luò)。
神經(jīng)網(wǎng)絡(luò)的計算性能主要通過連接權(quán)值進(jìn)行表現(xiàn),所以,學(xué)習(xí)算法[6]即為調(diào)整網(wǎng)絡(luò)權(quán)值的方法,利用公式表示為
wnew+wold+Δw
(3)
權(quán)值調(diào)整目的是為使網(wǎng)絡(luò)學(xué)習(xí)到一些知識,幫助完成計算任務(wù)。一般將計算任務(wù)量化成對性能函數(shù)J(w)的優(yōu)化,所以
wnew=wold+α?wJ
(4)
式中,α表示學(xué)習(xí)速度,?wJ代表性能函數(shù)在參數(shù)空間內(nèi)梯度[7]。
通常來講,以某個學(xué)習(xí)任務(wù)為例,在t時刻,網(wǎng)絡(luò)中存在外部輸入x(t)與目標(biāo)輸出d(t)。利用T(t)描述目標(biāo)輸出是dk(t)的神經(jīng)元集合。則t時刻網(wǎng)絡(luò)中神經(jīng)元k的實際輸出和目標(biāo)輸出二者誤差計算公式如下

(5)
神經(jīng)網(wǎng)絡(luò)在t時刻的性能函數(shù)描述為

(6)
設(shè)定網(wǎng)絡(luò)運行的起止時間分別表示為t0與t1,而在時間[t0,t1]區(qū)間內(nèi),網(wǎng)絡(luò)整體性能函數(shù)表達(dá)式為

(7)
對于上述性能函數(shù),必須通過一定方法對其訓(xùn)練,減少誤差,提高網(wǎng)絡(luò)性能。本文利用反向傳播算法(Back Propagation,BP)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。該算法的限制條件為網(wǎng)絡(luò)中所有神經(jīng)元結(jié)點的激活函數(shù)一定是可微的,是一種有監(jiān)督的學(xué)習(xí)方法。

已知設(shè)計好的神經(jīng)網(wǎng)絡(luò)中(W,b)為確定的,利用oout(x)代表輸出層的最終輸出,則神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程如下

(8)
由式(8)可知,神經(jīng)網(wǎng)絡(luò)將多個結(jié)點進(jìn)行連接,展現(xiàn)了正向傳播過程。
如果用作訓(xùn)練神經(jīng)網(wǎng)絡(luò)的集合中包括N′個訓(xùn)練樣本{(x(1),y(1)),…,(x(N′),y(N′))},則其目標(biāo)函數(shù)表示為

(9)


(10)

經(jīng)過上述訓(xùn)練,網(wǎng)絡(luò)隱藏層中所有的輸出不再敏感,減少誤差,降低網(wǎng)絡(luò)學(xué)習(xí)復(fù)雜度。
利用上述訓(xùn)練好的無限深度神經(jīng)網(wǎng)絡(luò)分別對Web大數(shù)據(jù)的權(quán)重、梯度以及相似度進(jìn)行計算,評價各個數(shù)據(jù)并進(jìn)行排序,將排序靠后的大數(shù)據(jù)進(jìn)行過濾。
瀏覽次數(shù)可以體現(xiàn)出用戶對不同數(shù)據(jù)的感興趣程度,假設(shè)用戶u對Web大數(shù)據(jù)O的興趣度數(shù)值隨O被其他用戶瀏覽次數(shù)增而增加,同時又隨瀏覽頻率呈現(xiàn)反比下降趨勢。則可使用TF-IDF算法,結(jié)合瀏覽次數(shù)獲取用戶對大數(shù)據(jù)感興趣程度。
TF-IDF為一種估計字詞對于某文件集合中一份文件重要程度的算法。它能夠預(yù)測K′維空間內(nèi)目標(biāo)在某維度上的重要性。假設(shè)將推薦系統(tǒng)內(nèi)任意用戶當(dāng)作一個文檔,被用戶瀏覽的大數(shù)據(jù)為文檔中某一詞匯,針對詞匯出現(xiàn)次數(shù)來獲得用戶對該數(shù)據(jù)的喜好程度。


(11)


(12)
因此獲得用戶對數(shù)據(jù)權(quán)重的定義式

(13)

用戶對不同類型數(shù)據(jù)瀏覽次數(shù)存在較大差異。瀏覽次數(shù)能夠無限增加,同時對于瀏覽次數(shù)為零的數(shù)據(jù),用戶也不一定不使用,可能是并無使用情況。為通過瀏覽次數(shù)更加科學(xué)的體現(xiàn)數(shù)據(jù)功能,避免海量信息將用戶對其它數(shù)據(jù)的使用情況忽略掉,本文為用戶沒有瀏覽的數(shù)據(jù)定義一個初始值,并引入Sigmoid函數(shù)對瀏覽次數(shù)進(jìn)行標(biāo)準(zhǔn)化處理,獲得數(shù)據(jù)功能梯度。
Sigmoid函數(shù)為一個常見的S型函數(shù),其定義式如下
(14)
此函數(shù)連續(xù)、光滑單調(diào),并且其取值范圍為(0,1),同時關(guān)于(0,0.5)中心對稱,屬于一個性能較優(yōu)的閾值函數(shù)。在區(qū)間(-∞,0]中表現(xiàn)出現(xiàn)慢后塊的非線性增長趨勢,且在[0,+∞)區(qū)間中的增長態(tài)勢為先快后慢。

(15)


(16)

為分析基于無限深度神經(jīng)網(wǎng)絡(luò)的Web大數(shù)據(jù)協(xié)同過濾有效性,選取Intel Core i36100,16GB RAM的配置處理器進(jìn)行仿真。仿真過程中全部程序均利用Matlab實現(xiàn)。采用標(biāo)準(zhǔn)Web數(shù)據(jù)集作為研究目標(biāo),其中包含20000個用戶與25000條數(shù)據(jù)。由于數(shù)據(jù)規(guī)模較大,選取其中20%進(jìn)行仿真。此外,將文獻(xiàn)[1]、文獻(xiàn)[2]算法與本文協(xié)同過濾算法,通過F-measure評價指標(biāo)進(jìn)行性能評價。
F-measure是信息檢索領(lǐng)域常用的評價標(biāo)準(zhǔn),其中包括查全率(Recall)與準(zhǔn)確率(Precision),計算公式分別如下

(17)

(18)
公式中,E(u′)與F(u′)分別代表訓(xùn)練與測試集合的過濾列表。
利用三種方法對實驗數(shù)據(jù)進(jìn)行過濾,再通過推薦系統(tǒng)將過濾后的數(shù)據(jù)推薦給用戶,獲得查全率與用戶滿意度結(jié)果分別如圖3和4所示。

圖3 查全率對比圖

圖4 用戶滿意度對比圖
由圖3和4可知,通過本文方法過濾后的數(shù)據(jù)查全率較高,這是因為本文通過計算用戶興趣度與功能興趣度,全面掌握用戶喜好,解決數(shù)據(jù)稀疏問題,提高查全率。此外,在不同數(shù)據(jù)量下F-measure值也遠(yuǎn)高于其方法,表明推薦效果良好,證明神經(jīng)網(wǎng)絡(luò)模型具有超高性能,可減少過濾誤差,滿足用戶瀏覽需要。
除上述對比外,對不同方法響應(yīng)時間進(jìn)行測試,進(jìn)一步增強所提方法實驗結(jié)果的說服力。

圖5 不同方法響應(yīng)時間對比圖
從圖5中可以看出,本文方法隨著鄰居數(shù)量的增加,系統(tǒng)響應(yīng)時間并沒有明顯上升趨勢,始終低于其方法。這是由于無限深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程較為簡便,減少計算用戶喜好程度的時間,實現(xiàn)高效過濾,進(jìn)而減少系統(tǒng)響應(yīng)時間。
由于數(shù)據(jù)規(guī)模的不斷擴(kuò)大,傳統(tǒng)過濾算法出現(xiàn)數(shù)據(jù)稀疏等問題。因此,本文利用無限深度神經(jīng)網(wǎng)絡(luò)預(yù)測用戶對數(shù)據(jù)內(nèi)容與功能的興趣度,根據(jù)興趣度高低實現(xiàn)Web大數(shù)據(jù)過濾。仿真結(jié)果表明,該方法查全率高,可改善數(shù)據(jù)稀疏現(xiàn)象,提高用戶滿意度。從當(dāng)前發(fā)展來看,利用神經(jīng)網(wǎng)絡(luò)技術(shù)建立過濾算法來提高推薦系統(tǒng)吞吐量是一個具有重要意義的研究方向,后期將在更大規(guī)模數(shù)據(jù)集中對算法的可拓展性進(jìn)行測試,使其實現(xiàn)并行化。