吳遠琴,尹 裴,干宏程
(上海理工大學(xué) 管理學(xué)院,上海 200093)
眾籌是一種隨互聯(lián)網(wǎng)興起而產(chǎn)生的新的融資方式[1].迄今為止,世界上最大的眾籌平臺Kickstarter(1)https://www.kickstarter.com/,已通過16,475,171為165,564個項目成功融資4,384,962,222美元,歐洲著名的眾籌平臺Ulule(2)http://www.ulule.com擁有超過260萬,成功融資28,294個項目,總?cè)谫Y額達到143,381,350歐元.然而,Kickstarter的融資成功率僅37%,Ulule也只有65%.項目創(chuàng)意、項目的廣告曝光度、項目持續(xù)時間等都可能影響項目融資成功率[2].然而,最大的原因是平臺上項目眾多,投資者很難瀏覽到真正感興趣的項目.因此,眾籌項目推薦,匹配投資者的偏好,有利于提高平臺的融資成功率.
調(diào)查顯示,大多數(shù)眾籌平臺上用戶行為的稀疏度高于99%.過于稀疏的數(shù)據(jù)使得常用的協(xié)同過濾算法失效,例如基于用戶的協(xié)同過濾,由于大量數(shù)據(jù)的缺失,無法有效計算用戶之間的相似度.此外,推薦系統(tǒng)研究常用的公共數(shù)據(jù)集采用的是用戶評分,例如Movie-lens、Netflix Prize等,可以直接根據(jù)評分來判斷用戶的感興趣程度,從而確定正、負反饋數(shù)據(jù).然而,眾籌平臺的用戶投資行為屬于隱式反饋數(shù)據(jù).
為了降低稀疏數(shù)據(jù)對推薦的影響,以奇異值分解(SVD)為代表的矩陣分解技術(shù),通過將用戶對項目的評分分解為用戶、項目的特征向量矩陣,利用用戶和項目之間的潛在關(guān)系得到預(yù)測值,從而實現(xiàn)對高維稀疏的矩陣降維[3].然而,矩陣分解在降維之后,利用低維空間估計高維用戶-項目交互關(guān)系,從而影響推薦的精度.
近年來,由人工神經(jīng)網(wǎng)絡(luò)發(fā)展來的深度學(xué)習(xí)技術(shù),在自然語言理解、語音識別和圖像處理等領(lǐng)域取得了突破性進展[4],深度學(xué)習(xí)中的深層神經(jīng)網(wǎng)絡(luò)為推薦系統(tǒng)研究帶來了新的機遇.面對海量交互數(shù)據(jù),深度學(xué)習(xí)通過學(xué)習(xí)用戶-項目矩陣深層的非線性網(wǎng)絡(luò)結(jié)構(gòu),挖掘潛在非線性交互關(guān)系.
He等人[5]提出神經(jīng)協(xié)同過濾的通用框架,以神經(jīng)網(wǎng)絡(luò),而非矩陣分解的內(nèi)積,評估用戶和項目的交互.不同于以往使用深度神經(jīng)網(wǎng)絡(luò)為輔助信息(例如描述項目的文字、圖片等)建模,該方法在協(xié)同過濾的基礎(chǔ)上,采用深度學(xué)習(xí)算法,生成用戶-項目的交互函數(shù).實驗證明,與基線方法相比,該方法在公共數(shù)據(jù)集上取得了更好的推薦效果.因此,基于深度神經(jīng)網(wǎng)絡(luò)對復(fù)雜數(shù)據(jù)結(jié)構(gòu)的隱層特征學(xué)習(xí),本文以眾籌項目為研究對象,將協(xié)同過濾與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出基于深度學(xué)習(xí)協(xié)同過濾的眾籌項目推薦方法.
協(xié)同過濾推薦是目前應(yīng)用最廣泛的推薦算法之一.Hu等人[6]將協(xié)同過濾推薦算法分為主要兩類:一類為基于內(nèi)存的協(xié)同過濾推薦,另一類為基于模型的協(xié)同過濾推薦.近幾年,隨著人工智能研究的興起,不少學(xué)者將深度學(xué)習(xí)技術(shù)引入?yún)f(xié)同過濾推薦,由于其主要是構(gòu)建模型對用戶偏好進行學(xué)習(xí),所以也屬于基于模型的協(xié)同過濾推薦.
基于內(nèi)存的協(xié)同過濾推薦通常將數(shù)據(jù)載入內(nèi)存進行運算,根據(jù)相似度生成推薦.其中包括基于用戶(user-based CF)和基于項目(Item-based CF)的協(xié)同推薦,例如Sarwar 等人[7]提出基于項目的協(xié)同過濾推薦,該算法認(rèn)為基于用戶的算法在用戶劇增的情況下計算量增大,而物品之間的相似度是相對固定的,所以基于項目的算法推薦準(zhǔn)確性較高,適用范圍也更大.
然而,基于用戶和基于項目的算法都難以處理數(shù)據(jù)稀疏性問題,近年來不少學(xué)者對此進行了多種改進.例如,Hong等人[8]提出基于的相關(guān)系數(shù)的協(xié)同過濾推薦算法,以基于項目的協(xié)同過濾算法為基礎(chǔ),根據(jù)相關(guān)系數(shù)填充未評分的項目,引入語義相似度,提高項目相似度的計算,以處理數(shù)據(jù)稀疏性問題;Logesh等人[9]提出基于生物啟發(fā)聚類集成的協(xié)同過濾推薦系統(tǒng),通過聚類的方法為用戶找到最相近的鄰域,并以此生成相似度矩陣進行推薦.
基于模型的協(xié)同過濾是在用戶歷史評分的基礎(chǔ)上,建立模型,從而進行評分預(yù)測.這類方法通常采用降維,提取用戶和項目的隱含特征.例如,王建芳等人[10]提出將奇異值分解(Singular Value Decomposition,SVD)技術(shù)與信任模型相結(jié)合的算法,將高維稀疏的矩陣進行降維,然后通過引入信任因子提高預(yù)測精度.然而,SVD在分解維度1000以上數(shù)據(jù)時的速度過慢,應(yīng)用于現(xiàn)實系統(tǒng)中高達上千萬維度的計算有一定局限性.
在推薦系統(tǒng)研究中,相較于顯式反饋數(shù)據(jù),如評分,隱式反饋數(shù)據(jù)更為常見,包括用戶的點擊、購買和搜索等,由此引起越來越多學(xué)者的關(guān)注.例如,Hu等人[11]基于矩陣分解,對隱式反饋數(shù)據(jù)進行建模.他們認(rèn)為顯式反饋表示用戶對物品的偏好程度,而隱式反饋則表示偏好程度的置信度,從而將用戶行為數(shù)據(jù)為分解偏好程度和置信度,并引入矩陣分解的目標(biāo)函數(shù)進行求解;Koren等人[12]提出支持隱式反饋的矩陣分解模型(SVD++),該模型是基于SVD的一種改進算法,引入隱式反饋信息增加了預(yù)測準(zhǔn)確度;陳碧毅等人[13]提出結(jié)合顯隱式反饋的EIFCF算法,充分利用隱式反饋數(shù)據(jù)反映用戶隱藏偏好的作用和顯式反饋反映用戶偏好程度的作用,并用加權(quán)矩陣分解克服隱式反饋數(shù)據(jù)缺少負樣本的問題,從而緩解數(shù)據(jù)稀疏問題的影響.
隨著深度學(xué)習(xí)技術(shù)的廣泛應(yīng)用,基于深度學(xué)習(xí)的協(xié)同過濾已成為目前研究的熱點,不僅提高推薦的準(zhǔn)確度,擴寬應(yīng)用場景,也豐富了基于模型的協(xié)同過濾推薦.
深度學(xué)習(xí)利用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)原始數(shù)據(jù),能更細粒度地發(fā)現(xiàn)用戶和物品更為抽象的特征表示關(guān)系.例如,Yi等人[14]提出的嵌入隱式反饋的深度矩陣分解模型,構(gòu)建深度網(wǎng)絡(luò)池,對輸入的用戶和項目信息提取潛在因子,并以此預(yù)測用戶評分.Wu等人[15]提出一種協(xié)同降噪自編碼器模型(Collaborative Denoising Auto-Encoders,CDAE),通過在用戶的評分向量中加入噪聲,提升模型的魯棒性,并且得到低維的用戶隱式向量,然后用其對缺失的評分進行預(yù)測.
卷積神經(jīng)網(wǎng)絡(luò)已被應(yīng)用于推薦系統(tǒng),以解決數(shù)據(jù)稀疏性問題.目前,卷積神經(jīng)網(wǎng)絡(luò)主要被用于對用戶或物品的輔助信息(如物品描述、評論等)進行建模,而對用戶和物品的交互信息(如用戶-物品評分)仍然采用矩陣分解技術(shù).例如,Kim等人[16]提出將卷積神經(jīng)網(wǎng)絡(luò)與矩陣分解相結(jié)合的卷積矩陣分解模型,該模型通過卷積神經(jīng)網(wǎng)絡(luò),提取物品描述文檔的上下文信息中的特征,利用物品的輔助信息解決稀疏性的問題,提高評分預(yù)測精度.Zheng等人[17]構(gòu)建卷積神經(jīng)網(wǎng)絡(luò),利用用戶和物品的評論學(xué)習(xí)特征,再通過矩陣分解得到用戶和物品交互信息,以此預(yù)測評分,從而減小數(shù)據(jù)稀疏性對推薦結(jié)果的影響.Zhang等人[18]提出協(xié)同知識庫嵌入學(xué)習(xí)模型,該模型通過知識庫挖掘隱式反饋信息,得到用戶和物品的隱式向量,以此預(yù)測評分.
現(xiàn)有的研究已經(jīng)對數(shù)據(jù)稀疏的問題提出很多解決方法.然而,還存一些有待改進之處.
1)基于內(nèi)存的協(xié)同過濾主要通過融合用戶與物品的屬性等特征,或者對用戶進行聚類等方式,降低數(shù)據(jù)的稀疏度.然而,其面向的是顯式反饋數(shù)據(jù),以及收集到的用戶和物品的輔助信息,對數(shù)據(jù)的依賴性強,擴展性不強.
2)基于模型的協(xié)同過濾對隱式反饋信息展開研究,矩陣分解技術(shù)也在一定程度上緩解了數(shù)據(jù)稀疏帶來的問題.然而,矩陣分解方法主要使用一個簡單、固定的內(nèi)積,線性建模,不利于估計用戶和物品之間復(fù)雜的關(guān)系.
3)基于深度學(xué)習(xí)的協(xié)同過濾通過對輔助信息的學(xué)習(xí),處理數(shù)據(jù)稀疏的問題,并且在提取特征上,獲取用戶和物品之間更深層次的關(guān)系.然而,該類方法雖然利用輔助信息代替線性模型的構(gòu)建,但是用戶-物品的交互數(shù)據(jù)在協(xié)同過濾推薦中的稀疏性問題仍然沒有解決.
因此,針對以上不足,本文提出基于深度學(xué)習(xí)與協(xié)同過濾的推薦算法.面向眾籌項目的隱式反饋數(shù)據(jù)集,利用卷積神經(jīng)網(wǎng)絡(luò)對局部特征有效學(xué)習(xí)的優(yōu)勢,以及協(xié)同過濾算法對用戶-項目交互信息進行建模的特點,減小用戶-項目交互信息稀疏性對推薦精度的影響.
本文的深度協(xié)同過濾模型是將矩陣分解與深度學(xué)習(xí)相結(jié)合,其基本思路如圖1所示,利用投資者的投資行為數(shù)據(jù)和采集的負反饋數(shù)據(jù),分別進行矩陣分解的線性學(xué)習(xí),和深度學(xué)習(xí)的非線性學(xué)習(xí),最后輸出推薦列表.
圖1 深度協(xié)同過濾算法的基本思路Fig.1 Basic idea of deep collaborative filtering algorithm
在協(xié)同過濾推薦算法中,以用戶對項目的偏好形成用戶-項目交互矩陣,并對這一交互矩陣進行建模,學(xué)習(xí)用戶和項目的交互關(guān)系,最后得出預(yù)測值或推薦列表.本文提出的深度協(xié)同過濾算法,在協(xié)同過濾的基礎(chǔ)上,利用深度學(xué)習(xí)在學(xué)習(xí)數(shù)據(jù)間非線性關(guān)系方面的優(yōu)勢,提高用戶與項目之間的匹配度.
深度協(xié)同過濾的模型如圖2所示,每一層的實現(xiàn)如下:
圖2 深度協(xié)同過濾模型Fig.2 Deep collaborative filtering model
1)輸入層:代表用戶和項目特征的編號和正、負反饋數(shù)據(jù)作為輸入,并用one-hot編碼將它們轉(zhuǎn)化為二值稀疏的向量vu和vi.
2)嵌入層:對輸入層得到的稀疏向量進行降維得到pu和qi,即用戶、項目特征向量,如公式(1)和公式(2)所示,其中嵌入矩陣pmxk和pnxk為K維的權(quán)重矩陣,通過K維特征表示所有的用戶和項目.嵌入層的線性變換得到的稠密向量,不僅表示單個用戶或項目降維后的對應(yīng)關(guān)系,還表示所有用戶或所有項目的內(nèi)在關(guān)系.在訓(xùn)練模型的過程中,嵌入矩陣根據(jù)用戶與用戶、項目與項目之間的關(guān)系,更新權(quán)重.
pu=Pmxkvu
(1)
qi=Pnxkvi
(2)
3)深度協(xié)同過濾層:分別進行矩陣分解的線性學(xué)習(xí)和深度學(xué)習(xí)的非線性學(xué)習(xí),如公式(3)和公式(4)所示.結(jié)合矩陣分解和深度學(xué)習(xí)兩種方法的優(yōu)勢,訓(xùn)練推薦模型.通過矩陣分解的線性方式,將用戶和項目的關(guān)系映射到潛在空間,得到f1;同時利用深度學(xué)習(xí)方法,學(xué)習(xí)用戶和項目的隱層特征,得到f2.如此綜合線性和非線性的學(xué)習(xí)方法,使得用戶和項目的匹配度更加精確.
f1(pu,qi)=pu⊙qi
(3)
f2(pu,qi)=Φx(…Φ2(Φ1(pu?qi)))
(4)
4)融合層:將矩陣分解和深度學(xué)習(xí)分別學(xué)習(xí)得到的潛在特征向量f1和f2連接起來.
(5)
其中,m為用戶數(shù),n為項目數(shù),f1是矩陣分解的內(nèi)積函數(shù),f2為深度學(xué)習(xí)的非線性函數(shù),Φx為深度學(xué)習(xí)x層的非線性學(xué)習(xí).
首先,本算法在嵌入層,利用矩陣分解得到用戶和項目的特征稠密向量pu和qi.矩陣分解可以對高維稀疏數(shù)據(jù)進行降維,并且計算用戶和項目的特征向量內(nèi)積,以此預(yù)測評分.然而,用戶的歷史評分?jǐn)?shù)據(jù)稀疏,造成評分矩陣出現(xiàn)大量的空缺,而矩陣分解學(xué)習(xí)用戶-項目交互時采用簡單的線性組合,難以填補空缺.因此,本文引入卷積神經(jīng)網(wǎng)絡(luò),計算用戶或項目的潛在非線性函數(shù),以此學(xué)習(xí)用戶與其交互的項目之間的潛在關(guān)系,從而補充缺失的數(shù)據(jù).
其次,本算法通過外積學(xué)習(xí)特征向量每一維的關(guān)系,得到用戶和項目的關(guān)系特征矩陣Tkxk,如公式(6)所示.
Tkxk=pu?qi
(6)
最后,將代表用戶和項目每維關(guān)系的關(guān)系特征矩陣Tkxk,輸入到卷積神經(jīng)網(wǎng)絡(luò),在每層的卷積層中提取局部感知,利用卷積核在關(guān)系矩陣上做卷積,提取用戶和項目的潛在交互關(guān)系.
(7)
(8)
(9)
非線性激活函數(shù)通常為sigmoid,tanh或ReLU,這里選擇ReLU函數(shù),它與腦神經(jīng)元對信息的激活反應(yīng)相似,即只激活接受的信息,而其他信息會被過濾,因此ReLU函數(shù)更適合稀疏的數(shù)據(jù)集計算.而sigmoid和tanh函數(shù)都存在梯度消失的問題,并且訓(xùn)練過程中會出現(xiàn)過擬合的情況,實驗結(jié)果也表明ReLU函數(shù)的表現(xiàn)好于另外兩個.
本文的眾籌數(shù)據(jù)屬于隱式反饋數(shù)據(jù),取值為1或0,其中,1表示用戶投資了該項目,即用戶對該項目感興趣,0則可能表示用戶對項目不感興趣,也可能表示用戶不知道該項目的存在.顯式反饋數(shù)據(jù)(如評分)直接反應(yīng)用戶對項目的偏好程度,而隱式反饋數(shù)據(jù)并不能表明用戶的偏好程度,只能衡量用戶偏好的置信度.因此,本模型的輸出并非為評分預(yù)測,而是針對目標(biāo)用戶的推薦列表.
推薦列表中的項目排序,與用戶對推薦結(jié)果的滿意度相關(guān).因此,本文通過成對學(xué)習(xí)正、負反饋樣本的排序,采用貝葉斯個性化排序的損失函數(shù)[19],如公式(11)所示.
(10)
(11)
在模型訓(xùn)練中,采用自適應(yīng)矩估計(Adaptive Moment Estimation,Adam)[20].隨機梯度下降法(Stochastic gradient descent,SGD),在訓(xùn)練過程中保持學(xué)習(xí)率不變,也就是用單一的學(xué)習(xí)率修正權(quán)重,訓(xùn)練時間長.而Adam為不同的參數(shù)計算不同的自適應(yīng)學(xué)習(xí)率,利用梯度的一階和二階矩估計,動態(tài)調(diào)整每個參數(shù)的學(xué)習(xí)率.Adam在本文的模型上收斂速度比SGD快.
本文以歐洲第一大眾籌平臺Ulule上用戶對項目的投資為研究對象,采集數(shù)據(jù),設(shè)計實驗,以衡量本文所提出算法的推薦性能.首先,通過深度協(xié)同過濾算法,分別對用戶和項目數(shù)據(jù)進行線性和非線性降維,提取特征向量,生成特征矩陣,經(jīng)過全連接層后輸出;然后,通過訓(xùn)練集數(shù)據(jù)訓(xùn)練深度協(xié)同過濾模型,輸出項目的預(yù)測評分,生成推薦列表;接著,進行迭代,基于Adam訓(xùn)練過程迭代更新權(quán)重和參數(shù),在100次后保存最佳推薦列表,以及權(quán)重和參數(shù);最后,設(shè)計實驗,驗證不同稀疏度的數(shù)據(jù)、卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)、隱式反饋數(shù)據(jù)采集方法等因素對推薦性能的影響,并且選取基線方法,設(shè)計對比實驗,驗證本文所提出算法的有效性.實驗流程如圖3所示.
圖3 實驗流程圖Fig.3 Experimental procedure
眾籌平臺Ulule的主頁實時顯示平臺的用戶數(shù),項目成功數(shù)以及成功率.平臺對未注冊的用戶是公開的,訪客可以查看和了解平臺融資成功以及正在融資的項目.因此,本文采用網(wǎng)絡(luò)爬蟲技術(shù),從平臺獲取實驗數(shù)據(jù).
采集到的數(shù)據(jù)包括:1)從項目出發(fā),爬取所有成功融資和正在進行中的項目列表,其中項目列表的內(nèi)容包括項目主頁、是否已完成融資、融資總金額、發(fā)布者的國家、項目編碼和項目的分類標(biāo)簽;2)根據(jù)項目,爬取投資過該項目的用戶,再爬取每個用戶投資過的項目,包括還在進行中的項目,其中用戶列表的內(nèi)容包括用戶編碼、用戶主頁、用戶國家、語言、時區(qū).如此反復(fù)迭代,直至數(shù)據(jù)集具有一定規(guī)模.
本文從眾籌平臺Ulule爬取數(shù)據(jù),共獲得274,292個投資者,及其參與的41,894個項目,其中成功融資的項目有27,241,成功率為65%,產(chǎn)生363,608次投資.然而大多數(shù)用戶的投資次數(shù)小于5次,其中投資次數(shù)為1次的用戶最多,約為82.5%.因此,計算平臺的數(shù)據(jù)稀疏度達99.98%.
由于數(shù)據(jù)稀疏性對推薦精度的影響是本文的主要研究問題之一.因此,通過采集不同稀疏度的數(shù)據(jù)集,用于驗證本文提出的模型在不同稀疏度數(shù)據(jù)集上的表現(xiàn).根據(jù)用戶投資眾籌項目的次數(shù)對數(shù)據(jù)進行處理,按稀疏的程度分為低度稀疏數(shù)據(jù)(人均投資次數(shù)在9次及以上)、中等稀疏數(shù)據(jù)(人均投資次數(shù)在5次及以上)和極度稀疏數(shù)據(jù)(人均投資次數(shù)在3次及以上),如表1所示.可見,投資次數(shù)越多的用戶量越少,項目越少,所呈現(xiàn)的數(shù)據(jù)稀疏度也就越低.
表1 不同稀疏度的數(shù)據(jù)集Table 1 Dataset of different sparsity
本文采用Leave one out方法,將包含n個樣本的數(shù)據(jù)集分為訓(xùn)練集和測試集,其中n-1個樣本為訓(xùn)練集,剩余1個樣本為測試集.先從用戶未投資過的項目中隨機匹配99個項目,然后在用戶投資過的項目中,按照時序取出最后一次投資的項目,構(gòu)成100個未投資項目測試集;除去在測試集的一個項目,剩余的投資項目為訓(xùn)練集.
針對負反饋數(shù)據(jù)的采集,本文進行均勻采集和非均勻采集兩種方式的實驗.
1)均勻采集:均勻采集是在每次迭代中,采集用戶所有未投資的項目作為負反饋數(shù)據(jù),或者根據(jù)實驗情況,靈活控制正反饋與負反饋的比例.
2)非均勻采集:非均勻的采集主要是對項目的選擇設(shè)置一個標(biāo)準(zhǔn),例如受歡迎程度高,曝光機會多等,因為用戶在海量的項目中搜索到這些項目的可能性較高,所以如果用戶沒有投資,則對其不感興趣的可能性較大.
分別對極度稀疏的數(shù)據(jù)集進行均勻采集和非均勻采集,極度稀疏數(shù)據(jù)集的投資次數(shù)為40,542,每一次投資(正反饋)采集4個負反饋,得到總采集個數(shù)162,168.用均勻采集方法,為每位用戶隨機采集4個負反饋,得到的負反饋在230個項目中的分布均勻,如圖4所示.根據(jù)項目受歡迎程度方式采集項目,得到的負反饋集中在7個項目上,而其他項目只得到少量采集,如圖5所示.本文的數(shù)據(jù)集在負反饋的采集上,均勻采集得到的負反饋樣本的波動較小,數(shù)據(jù)離散程度小,而非均勻采集得到的樣本離散程度大.
圖4 均勻采集方法的負反饋分布圖Fig.4 Distribution of negative feedback obtained by balanced collection method
圖5 非均勻采集方法的負反饋分布圖Fig.5 Distribution of negative feedback obtained by imbalanced collection method
本文采用兩種評估方法,衡量推薦算法的性能.
1)命中率(Hit Ratio,HR):衡量top-K推薦列表中屬于測試集的籌資項目比率.
(12)
如公式(12)所示,其中n表示推薦列表中屬于測試集項目的個數(shù),N為測試集項目的總個數(shù).
2)歸一化折損累積增益(Normalize Discount Cumulative Gain,NDCG):衡量top-K推薦列表中項目排序的準(zhǔn)確性.如果把一個用戶不感興趣的項目排在列表的前面,那么產(chǎn)生的誤差率,比將其排列在后面更高.
(13)
(14)
如公式(13)和公式(14)所示,其中,reli表示推薦列表中位置i的項目與用戶的相關(guān)性,公式(13)表明,DCG將推薦準(zhǔn)確率與排序位置結(jié)合起來.為了使不同推薦列表之間具有可比性,進行歸一化處理,如公式(14)所示.DCG的值介于(0,IDCG],NDCG的值介于(0,1].
為了消除卷積層數(shù)對實驗結(jié)果的影響,分別設(shè)置卷積層數(shù)為4層、5層和6層進行實驗,得到的結(jié)果如表2和表3所示,深度協(xié)同過濾模型在取不同卷積層數(shù)時,都在極度稀疏的數(shù)據(jù)集上取得了最好的推薦效果.由于大多數(shù)基于內(nèi)存的協(xié)同過濾算法,在數(shù)據(jù)極度稀疏且數(shù)據(jù)量大的情況下,會限制推薦性能,因為用戶(項目)之間的相似度會隨數(shù)據(jù)稀疏、維度增加而難以準(zhǔn)確計算,進而影響推薦效果.而深度學(xué)習(xí)方法則可以突破此限制,使其在極度稀疏的數(shù)據(jù)集上取得更好的推薦結(jié)果,顯示了將深度學(xué)習(xí)應(yīng)用于協(xié)同過濾推薦系統(tǒng)的優(yōu)勢.此外,在眾籌平臺Ulule上,其數(shù)據(jù)稀疏度遠大于本文選取的極度稀疏數(shù)據(jù)集,所以本文提出的模型適用于數(shù)據(jù)量大且更稀疏的Ulule平臺.
表2 不同稀疏度的數(shù)據(jù)集推薦結(jié)果HR最大值Table 2 Maximum value of HR of recommendation on datasets of different sparsity
表3 不同稀疏度的數(shù)據(jù)集推薦結(jié)果NDCG最大值Table 3 Maximum value of NDCG of recommendation on datasets of different sparsity
卷積神經(jīng)網(wǎng)絡(luò)的卷積層數(shù)會影響對用戶和項目特征的提取,進而影響推薦的效果,因此,通過實驗對比不同卷積層數(shù)對推薦結(jié)果的影響.
由于前述實驗已證明本文提出的模型在極度稀疏數(shù)據(jù)集上的推薦效果最好,所以本次選擇極度稀疏的數(shù)據(jù)集對卷積層數(shù)的影響進行分析.圖6顯示,HR值和NDCG值初始隨著卷積層數(shù)增加而升高,當(dāng)卷積層增加到6層時,HR值和NDCG值開始降低.由此可得,卷積神經(jīng)網(wǎng)絡(luò)的卷積層數(shù)對推薦結(jié)果有顯著影響,并且當(dāng)卷積層數(shù)增加到臨界點時會取得最優(yōu)推薦效果,繼續(xù)增加層數(shù)反而會降低卷積神經(jīng)網(wǎng)絡(luò)特征提取的精確度.
圖6 在極度稀疏數(shù)據(jù)集上不同卷積層數(shù)的模型推薦結(jié)果HR和NDCG值Fig.6 HR and NDCG of recommendation based on the model with different convolution layers on extremely sparse dataset
同樣以極度稀疏數(shù)據(jù)集為實驗數(shù)據(jù),對于每個用戶分別采集1~4個負反饋,通過實驗比較均勻采集和非均勻采集的負反饋數(shù)據(jù)采集方式對推薦結(jié)果的影響,結(jié)果如表4和表5所示.
表4 在極度稀疏數(shù)據(jù)集中不同負反饋采集方式的推薦結(jié)果HR值Table 4 HR of recommendation with different negative feedback collection methods on extremely sparse dataset
表4和表5顯示模型在極度稀疏的數(shù)據(jù)集上進行推薦,分別采用均勻和非均勻方式采集負反饋數(shù)據(jù)所得到的HR值和NDCG值,由此可見均勻采集方式得到推薦效果更好,并在采集個數(shù)為1時達到最佳.導(dǎo)致非均勻采集負反饋數(shù)據(jù)的實驗結(jié)果效果不佳的原因,很可能是在本文構(gòu)建的數(shù)據(jù)集中,用戶對項目的受歡迎程度不敏感,負反饋數(shù)據(jù)集離散程度大,根據(jù)項目受歡迎程度進行的負反饋樣本采集,只集中在受歡迎程度最高的7個項目,負反饋重復(fù)選取這7個項目,使得數(shù)據(jù)集不具有代表性,導(dǎo)致得到的效果極差.
表5 在極度稀疏數(shù)據(jù)集中不同負反饋采集方式的推薦結(jié)果NDCG值Table 5 NDCG of recommendation with different negative feedback collection methods on extremely sparse dataset
本文選取基線方法,設(shè)計對比實驗,以驗證本文提出的算法的有效性.
選取的基線方法包括:
1)Most popular:該方法的推薦列表是根據(jù)項目受歡迎程度進行排序,屬于非個性化推薦,也就是所有的用戶得到相同的推薦結(jié)果,通常被用于對比推薦結(jié)果.
2)eALS:He等人[21]提出基于隱式反饋的矩陣分解模型,根據(jù)項目的受歡迎程度設(shè)置未評分部分的權(quán)重,同時為了提高模型參數(shù)的計算效率,設(shè)計eALS學(xué)習(xí)算法,并在此基礎(chǔ)上建立適用于動態(tài)數(shù)據(jù)的在線更新策略,以捕捉用戶的短期偏好,而且在線的場景使基于隱式反饋的矩陣分解能在大規(guī)模的實際環(huán)境中應(yīng)用.
3)BPR:Rendle等人[19]提出基于貝葉斯理論的個性化排名算法,針對隱式反饋數(shù)據(jù),在矩陣分解或者最近鄰方法中生成的個性化推薦列表進行排序優(yōu)化,提高用戶對推薦列表的滿意度.利用用戶已購買的商品和未購買的商品的偏序關(guān)系,采用貝葉斯分析推導(dǎo)得到最大后驗估計,進行模型訓(xùn)練,最后生成優(yōu)化后的項目排名.
4)CM-RIMDCF:Fu等人[22]提出的分兩階段的深度協(xié)同過濾模型,第1階段通過局部和全局模型對用戶和項目分別進行學(xué)習(xí),獲得代表用戶-用戶和項目-項目的特征信息,再將此作為第2階段的輸入;第2階段利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶和項目相互作用的信息,得到預(yù)測評分.
5)multi-criteriaDCF:Nassar等人[23]提出的多準(zhǔn)則深度協(xié)同過濾模型,將用戶偏好分為總體評分和多準(zhǔn)則評分,以量化用戶對項目不同特征產(chǎn)生的興趣.在此基礎(chǔ)上,設(shè)計兩階段深度神經(jīng)網(wǎng)絡(luò)模型,第1階段先預(yù)測多準(zhǔn)則評分,再將其輸入到下一階段的深度神經(jīng)網(wǎng)絡(luò),以預(yù)測總體評分.
對比實驗使用公共數(shù)據(jù)集,Yahoo! Movies的用戶評分?jǐn)?shù)據(jù)集,驗證本文提出的算法是否在推薦性能上相比基線方法有所提高.用戶對電影的評分等級為A+到F,該數(shù)據(jù)集屬于顯式反饋數(shù)據(jù)集,所以需要將其預(yù)處理為隱式反饋數(shù)據(jù).將“評分”這一行為(不論評分大小)視為1(即存在交互行為),反之為0.在此數(shù)據(jù)集中,用戶評分的電影為10部以上,每部電影至少有一位用戶評分.因此,總共7,642名用戶和11,915部電影,評分(交互次數(shù))為211,231次,稀疏度為99.77%.
本文提出的算法與基線方法的推薦結(jié)果如表6所示,其HR值和NDCG值都明顯優(yōu)于其他3種基線方法,說明本文提出的算法能有效提高推薦的性能.
表6 不同算法的推薦結(jié)果對比Table 6 Comparison between the proposed algorithm and the baselines
通過以上5種基線方法與本文提出的算法進行對比,本文提出的算法在Yahoo! Movies數(shù)據(jù)集上得到的HR值和NDCG值,都優(yōu)于其他五種基線方法.進一步分析原因如下:
1)在極度稀疏數(shù)據(jù)集(投資總次數(shù)40,542)中,受歡迎程度排前10的項目的投資次數(shù),占總投資次數(shù)37.97%,而前10個項目在項目數(shù)上僅為總體的4.35%,由此可見受歡迎的前10個項目確實得到較多用戶的關(guān)注,但它并不能為每個用戶提供個性化的項目,所以推薦效果也是最差的.
2)BPR和Eals算法針對隱式反饋數(shù)據(jù)提出不同的優(yōu)化方法,但仍以傳統(tǒng)矩陣分解為基礎(chǔ)構(gòu)建模型,對于稀疏數(shù)據(jù)的處理存在一定局限,由此對模型訓(xùn)練和推薦結(jié)果都產(chǎn)生影響.
3)CM-RIMDCF算法以用戶和項目之間的相關(guān)性為基礎(chǔ),學(xué)習(xí)用戶和項目的相互作用,但是該方法提出的局部和全局表示模型,利用顯式評分進行學(xué)習(xí),卻不適用于隱式反饋,從而影響第2階段神經(jīng)網(wǎng)絡(luò)的預(yù)測.此外,該方法中的神經(jīng)網(wǎng)絡(luò)只有一層全連接隱藏層,在學(xué)習(xí)用戶和項目的相互關(guān)系上有一定局限.
4)multi-criteriaDCF提出的多準(zhǔn)則評分能夠解釋用戶偏好的原因,然而,在實際應(yīng)用場景中此類型的數(shù)據(jù)獲取有限,大部分為單一的總體評分.此外,該方法僅利用深度神經(jīng)網(wǎng)絡(luò)計算多準(zhǔn)則評分和總體評分,在將深度神經(jīng)網(wǎng)絡(luò)與協(xié)同過濾的融合上還存在不足.因此,本文提出的深度協(xié)同過濾模型通過更好地融合深度學(xué)習(xí)和協(xié)同過濾,更精準(zhǔn)地提取用戶和項目的交互信息,從而得到更好的推薦效果.
本文提出的算法結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和矩陣分解的互補優(yōu)勢,學(xué)習(xí)用戶和項目特征信息的潛在關(guān)系,比傳統(tǒng)協(xié)同過濾推薦算法運用的線性學(xué)習(xí)更有效.
本文針對眾籌平臺Ulule數(shù)據(jù)極端稀疏的問題,以及平臺用戶投資行為為隱式反饋數(shù)據(jù),沒有負反饋這一特點,融合深度學(xué)習(xí)與協(xié)同過濾推薦算法,為投資者生成個性化的眾籌項目推薦列表,以此提高投資者與項目之間的匹配度,進而提高眾籌平臺整體的融資成功率.
針對眾籌平臺的推薦問題,本文提出的算法進行了以下幾個方面的改進:
1)提取用戶和項目的特征數(shù)據(jù),以及實際交互信息,訓(xùn)練模型;
2)在提取用戶和項目特征信息的潛在關(guān)系時,結(jié)合矩陣分解和卷積神經(jīng)網(wǎng)絡(luò),分別對特征信息進行學(xué)習(xí),以發(fā)揮兩種方法的互補優(yōu)勢,提高特征提取的精準(zhǔn)性;
3)分別通過均勻和非均勻兩種負反饋樣本采集方式,對眾籌平臺的隱式反饋數(shù)據(jù)進行采樣和分析.
為了驗證本文提出算法的有效性,選取基線方法,設(shè)計對比實驗.實驗結(jié)果表明,相較于基線方法,本文提出的深度協(xié)同過濾模型在數(shù)據(jù)集上的推薦效果有明顯的提升.由此說明融合深度學(xué)習(xí)技術(shù)學(xué)習(xí)投資者與項目的非線性交互,可以有效解決數(shù)據(jù)稀疏性對推薦效果的影響.并且數(shù)據(jù)量越大越稀疏,通過一定卷積層數(shù)的卷積神經(jīng)網(wǎng)絡(luò),可以得到最佳的推薦性能.此外,針對負反饋數(shù)據(jù)的采集問題,需要考慮項目的特點,非均勻采集雖然有更好的解釋效果,但不一定適用于本模型的訓(xùn)練.
本研究不僅有助于提高眾籌平臺的融資成功率,還豐富了推薦系統(tǒng)的研究體系.在今后的研究中,以下幾方面值得深入探討:
1)針對不同互聯(lián)網(wǎng)金融平臺和不同語言的用戶、項目數(shù)據(jù)進行實驗,以評估本文所提出方法的通用性;
2)添加輔助信息,或者多準(zhǔn)則評分?jǐn)?shù)據(jù)為實驗數(shù)據(jù);
3)進一步探索其他深度學(xué)習(xí)方法在推薦系統(tǒng)中的應(yīng)用.