蔡輝虎
(閩南理工學(xué)院信息管理學(xué)院 福建 泉州 362700)
隨著互聯(lián)網(wǎng)信息的普及,人們獲得信息的方式更加多樣化,海量的信息使得人們難以準(zhǔn)確地找到自己需要的信息。 在這樣的背景下,推薦系統(tǒng)的作用越來越受到人們的重視。 推薦系統(tǒng)利用人們的歷史記錄、行為、偏好等多種信息來進行推薦,幫助人們快速準(zhǔn)確地找到自己需要的信息,提高了信息的利用效率。 推薦系統(tǒng)在多個領(lǐng)域有著廣泛應(yīng)用。 在商業(yè)領(lǐng)域,它可以幫助企業(yè)實現(xiàn)精確的市場分析,從而提升銷售額。 在旅游領(lǐng)域,推薦系統(tǒng)能根據(jù)用戶需求提供個性化服務(wù),輔助他們規(guī)劃旅程。 在餐飲領(lǐng)域,它能依據(jù)用戶口味推薦相應(yīng)餐飲,提升用戶滿意度。 在推薦系統(tǒng)研究中,基于協(xié)同過濾的方法是最經(jīng)典且常用的方法之一。 通過學(xué)習(xí)用戶歷史行為和偏好,該方法能進行準(zhǔn)確可靠的推薦[1]。 此外,混合推薦系統(tǒng)也是一個研究熱點。 通過結(jié)合多種不同類型的推薦算法,可以提高推薦的準(zhǔn)確度和可靠性。
總之,推薦系統(tǒng)已經(jīng)成為當(dāng)今信息社會中不可或缺的重要組成部分。 它在解決信息過載、提高信息利用效率、個性化服務(wù)等方面發(fā)揮著越來越重要的作用。 未來,推薦系統(tǒng)將會在更多的領(lǐng)域得到應(yīng)用,為人們提供更好的信息服務(wù)。
推薦系統(tǒng)是一種用于預(yù)測用戶對物品偏好的技術(shù)。在推薦系統(tǒng)中,協(xié)同過濾是一種常用的技術(shù),其核心是使用機器學(xué)習(xí)算法來推薦物品[2]。 該技術(shù)可以分為基于記憶的算法和基于模型的算法。 協(xié)同過濾中的內(nèi)核是指機器學(xué)習(xí)算法,其中監(jiān)督學(xué)習(xí)是主要的基于內(nèi)核的方法。 但是,近年來基于模型的算法更加流行,因為其具有更高的準(zhǔn)確性。 其中矩陣分解是目前最常用的方法之一,它可以提供精確的推薦效果,并且易于理解和嵌入到系統(tǒng)中。 推薦系統(tǒng)的預(yù)測是通過對用戶和項目的點擊行為進行分析來實現(xiàn)的。 通過分析這些行為數(shù)據(jù),可以獲得潛在的偏好,并用于生成推薦結(jié)果。 然而,基于協(xié)同過濾的推薦系統(tǒng)存在一些缺點,例如無法考慮到非協(xié)作數(shù)據(jù),例如圖片、文本、音頻、視頻和會話等[3]。 為此,推薦系統(tǒng)的研究正在朝著基于深度學(xué)習(xí)的解決方案方向發(fā)展。 這種方法使用不同類型的深度學(xué)習(xí)架構(gòu),如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、多層感知器和自編碼器等,根據(jù)數(shù)據(jù)類型實現(xiàn)不同的特征提取和建模方法,以提高推薦效果。
圖1 所示的是一種基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾架構(gòu)。該架構(gòu)使用了原始數(shù)據(jù)向量稀疏表示的用戶和項目數(shù)據(jù)。在稀疏層之上是全連接的嵌入層,該層可以將原始數(shù)據(jù)向量投影到密集向量。 通過這種方式,可以更好地表達(dá)用戶和項目之間的關(guān)系。 之后,通過多層感知器(multi-layer perceptron, MLP)將這兩種路徑的特征結(jié)合起來,進一步提高預(yù)測的準(zhǔn)確性[4-5]。 這種基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾架構(gòu),不僅可以用于推薦系統(tǒng),還能用于處理其他的計算機視覺和自然語言處理任務(wù)。
圖1 基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾系統(tǒng)架構(gòu)
協(xié)同過濾(collaborative filtering, CF)中使用一種深度學(xué)習(xí)類型的架構(gòu),其中寬分量是單層感知器,而深分量是MLP。 將這兩種學(xué)習(xí)技術(shù)相結(jié)合,可以使推薦系統(tǒng)同時捕獲泛化和記憶。 寬組件捕獲簡單的數(shù)據(jù)關(guān)系,而深組件可以進行更有價值的抽象(概括)。 本文提出的方法可以擴展到寬深度學(xué)習(xí)架構(gòu)。 深度因式分解機(deep factorization machines,DeepFM)架構(gòu)將寬組件和深組件連接起來,以共享相同的輸入原始特征向量。 它允許從輸入的原始特征中同時學(xué)習(xí)低階和高階特征交互。 深度調(diào)頻由兩個部分組成:調(diào)頻分量和深度分量。 FM 組件是用于學(xué)習(xí)特征交互的因式分解機。 DeepFM 實現(xiàn)了0.48%(公司數(shù)據(jù)集)和0.33%(Criteo 數(shù)據(jù)集)的精度增益比較。
經(jīng)典方法通過矩陣分解(matrix factorization,MF)進行預(yù)測。 一些基于神經(jīng)網(wǎng)絡(luò)的協(xié)作濾波方法則采用非線性的多層感知器(MLP)階段取代了線性點積的MF。 不使用矩陣分解的神經(jīng)網(wǎng)絡(luò)方法通?;诨旌仙疃饶P?,這些模型利用額外數(shù)據(jù)的評級矩陣,但對大多數(shù)現(xiàn)有推薦系統(tǒng)來講不適用。 廣泛和多視圖的深度學(xué)習(xí)架構(gòu)已被用作純神經(jīng)網(wǎng)絡(luò)推薦系統(tǒng)方法;但主要缺點在于寬層的大小影響了可擴展性。 本文提出的方法的架構(gòu)具有可擴展性,因為它僅基于推薦系統(tǒng)的項目維度,而不依賴于龐大的用戶維度和用于訓(xùn)練模型的樣本數(shù)量。 當(dāng)前的深度神經(jīng)網(wǎng)絡(luò)推薦系統(tǒng)方法利用MF 層或嵌入層來捕捉項目和用戶潛在向量。 以下操作是基于回歸的架構(gòu):預(yù)測每個用戶的N個最佳推薦,然后根據(jù)推薦系統(tǒng)中的項目數(shù)來運行相應(yīng)數(shù)量的預(yù)測,從而為用戶提供推薦。
文中提出一種協(xié)同過濾推薦系統(tǒng)體系結(jié)構(gòu),該結(jié)構(gòu)基于深度神經(jīng)網(wǎng)絡(luò),不需要像MF 那樣的外部機器學(xué)習(xí)級別。 它不使用顯式的嵌入層,架構(gòu)來源于它通過分類過程而不是回歸過程的方法。 分類方法需要與現(xiàn)有方法有不同的設(shè)計,通過使用分類標(biāo)簽而不是數(shù)值來學(xué)習(xí)。 此外,本文創(chuàng)建一個簡單且可擴展的體系結(jié)構(gòu)。 為了實現(xiàn)這個目標(biāo),放棄數(shù)字評級值和預(yù)測,只使用二進制相關(guān)/非相關(guān)評級和二進制投票/非投票信息。
圖2 為MF 算法,神經(jīng)協(xié)同過濾算法(neural networkbased collaborative filtering,NCF)和協(xié)同過濾推薦系統(tǒng)算法三種模型結(jié)構(gòu)。 首先,矩陣分解(MF)和神經(jīng)協(xié)作過濾(NCF)模型(如圖2a 和圖2b 所示)都是基于回歸的:它們提供預(yù)測值,并按預(yù)測值最高的N 個進行推薦。 而協(xié)同過濾推薦系統(tǒng)(如圖2c 所示)則是基于分類的神經(jīng)網(wǎng)絡(luò)。重要的是,協(xié)同過濾推薦系統(tǒng)并不基于機器學(xué)習(xí)的矩陣分解過程或嵌入層;它直接使用原始評級數(shù)據(jù),避免了特征工程階段的需求。 需要指出的是,協(xié)同過濾推薦系統(tǒng)的原始數(shù)據(jù)由用戶向量組成,其中每個向量都含有項目信息,但沒有像NCF 基線模型那樣將用戶向量與項目向量相結(jié)合,也沒有將用戶/項目向量與因子分解機的密集嵌入相結(jié)合。 這使得研究人員所提出的方法相比現(xiàn)有基準(zhǔn)更為簡單,且具有更高的可擴展性。
圖2 MF,NCF 和協(xié)同過濾推薦系統(tǒng)三種模型結(jié)構(gòu)
在MF 的機器學(xué)習(xí)方法中,需要為數(shù)據(jù)集中的每一個用戶(U)以及每個項目(I)學(xué)習(xí)一組F 因子,其中F 的數(shù)量通常在12 ~40 之間。 值得注意的是,在商業(yè)推薦系統(tǒng)中,用戶的數(shù)量通常遠(yuǎn)大于項目的數(shù)量。 必要的MF 參數(shù)為(U+I)F,而NCF 方法則是基于MF 進行構(gòu)建。 在MLP中,需要學(xué)習(xí)一定數(shù)量的參數(shù)。 假設(shè)第一層內(nèi)部含有n 個神經(jīng)元(表示為Ln),則MF 模型需要(U+I+Ln)F 個參數(shù)才能運行,并處理第一層的MLP。 對于后續(xù)的層,還需要進一步學(xué)習(xí)參數(shù)(表示為Lm),但通常Lm(后續(xù)層神經(jīng)元的數(shù)量)不會是一個很大的數(shù)字。 對于輸出層,只需要Lm個參數(shù),因為研究人員只需一個神經(jīng)元來獲取回歸值(預(yù)測結(jié)果)。 綜上所述,當(dāng)MLP 具有兩個內(nèi)層時,神經(jīng)協(xié)同過濾(NCF)基線模型需要(U+I+Ln)F+(Ln+1)Lm 個參數(shù)。
本文提出的協(xié)同過濾推薦系統(tǒng)具有可擴展性,只需利用NCF 基線的一小部分必要參數(shù)。 即便其使用了維度為I 的輸出層,學(xué)習(xí)參數(shù)也僅需I(Lm+Ln)+LmLn 個。 另一個值得關(guān)注的改進在于其完全基于神經(jīng)網(wǎng)絡(luò)的處理方式,允許對從原始數(shù)據(jù)到結(jié)果(預(yù)測)的非線性關(guān)系進行建模。 NCF 方法并非基于既有的機器學(xué)習(xí)結(jié)果來構(gòu)建,這樣可能會遺失一些豐富的數(shù)據(jù)依賴性,而是使用需要的MF參數(shù)(U+I)F 作為基礎(chǔ)。 此外,如圖3 所示,協(xié)同過濾推薦系統(tǒng)采用與基線不同的方式處理RS 預(yù)測。 為了向用戶提供N 個推薦,前提是忽略用戶投票項目,MF 需要進行I次的點積運算(如圖3a 所示)。 NCF(圖3b)必須向前運行I 倍MLP,文獻[6]所提出的協(xié)同過濾推薦系統(tǒng)(圖3c)只需向前運行一次MLP。 由于研究人員使用的是分類目標(biāo),輸出層將提供I 次分類概率。 若提出N 個建議,只需要選擇N 個最高的概率即可。
圖3 協(xié)同過濾推薦系統(tǒng)以與基線不同的方式處理推薦預(yù)測
圖4 訓(xùn)練集和測試集的損失函數(shù)對比
圖5 訓(xùn)練集和測試集的準(zhǔn)確率對比
實驗使用了MovieLens 1 M1 數(shù)據(jù)集。 測試的分類質(zhì)量指標(biāo)主要是精確度和召回率。 MovieLens 選擇的關(guān)聯(lián)度閾值為4。 經(jīng)測試的建議數(shù)量N 從1 到96 個不等,增加了5 個。 訓(xùn)練集是從80%的樣本中隨機獲得的,而測試集使用了剩余的20%。 本文對多種神經(jīng)網(wǎng)絡(luò)架構(gòu)進行了實驗,并最終選擇了那些在測試中取得了最佳性能的架構(gòu)。實驗使用MovieLens 數(shù)據(jù)集的推薦和分類結(jié)果。
第一組實驗利用MovieLens 數(shù)據(jù)集比較了所提出的短方法和所提出的長方法的結(jié)果,此數(shù)據(jù)集中的項目數(shù)I為1682。 已經(jīng)通過實施深度學(xué)習(xí)的策略,具體使用了一種密集的深度神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。 這個神經(jīng)網(wǎng)絡(luò)的具體配置如下:輸入層的維度為3364,輸出層的維度為1682;第一個內(nèi)部隱藏層含有400 個神經(jīng)元,接著是一個0.2 的丟棄層以減少過擬合;然后是第二個內(nèi)部隱藏層,包含200 個神經(jīng)元,后接另一個0.2 的丟棄層。 所有層都使用“relu”激活,除了輸出層使用“softmax”以提供概率分類結(jié)果。 由于使用分類標(biāo)簽,因此選擇的損失函數(shù)是“分類交叉熵”,所選優(yōu)化器為“adam”。 圖8 顯示訓(xùn)練和測試過程的結(jié)果。 可以看出,沒有過擬合,損失函數(shù)降低到非常低的值,精度提高到0.83 的值。 神經(jīng)網(wǎng)絡(luò)只需80 個迭代次數(shù)就能學(xué)習(xí)。 結(jié)果顯示該架構(gòu)對獲得準(zhǔn)確的精確度和召回值的良好期望。
本文介紹了一種可擴展深度神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾推薦系統(tǒng)體系結(jié)構(gòu)。 推薦系統(tǒng)在解決信息過載、提高信息利用效率、為用戶提供個性化服務(wù)等方面發(fā)揮重要作用,已經(jīng)成為當(dāng)今信息社會中不可或缺的組成部分。 協(xié)同過濾和混合推薦系統(tǒng)是最經(jīng)典和常用的方法之一。 本文基于深度學(xué)習(xí)的推薦系統(tǒng)方法,神經(jīng)網(wǎng)絡(luò)協(xié)同過濾架構(gòu)可以在推薦系統(tǒng)效率方面提供高精度,并可用于視覺和自然語言處理任務(wù)。 同時,深度學(xué)習(xí)架構(gòu)可以使用不同的架構(gòu)來處理各種數(shù)據(jù)類型。 本文提出了一種基于深度神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾推薦系統(tǒng)體系結(jié)構(gòu)DNCFR,不需要外部機器學(xué)習(xí)策略,也不用顯式的嵌入層。 這個方法通過分類過程來學(xué)習(xí),在可擴展性方面優(yōu)于MF 和NCF 模型。 同時,它只使用二進制分類和二進制投票/非投票信息,而不使用數(shù)字評級和預(yù)測。 通過實驗使用了MovieLens 數(shù)據(jù)集評估所提出的神經(jīng)網(wǎng)絡(luò)架構(gòu),測試中使用了精確率和召回率作為分類質(zhì)量指標(biāo),并取得了良好的結(jié)果,結(jié)果表明它在精確度和召回率上表現(xiàn)良好。