999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于變分自編碼器的混合推薦算法

2020-12-16 02:18:04張宇生張桂珠王曉鋒
計算機工程 2020年12期
關鍵詞:用戶模型

張宇生,張桂珠,王曉鋒

(江南大學 物聯網工程學院,江蘇 無錫 214122)

0 概述

隨著互聯網技術的飛速發展,很多互聯網網站(如阿里巴巴、PaperWeekly等)都面臨嚴重的信息過載問題,這增加了用戶獲得有價值信息的難度。優秀的推薦算法能夠幫助用戶在海量商品中找到自己感興趣的商品,對于新進入系統的商品也能實現精準推薦,因此,對于推薦算法的研究具有重要意義。

現有的推薦算法可分為基于內容的推薦[1]、協同過濾[2]以及結合這兩者的混合算法[3]。基于內容的推薦算法對商品提取特征,將與已購買商品特征相似的商品推薦給用戶。文獻[4]使用向量空間模型表示商品特征,并利用K近鄰得到基于內容的支持度,緩解了冷啟動問題,但特征提取算法仍有改進空間,而且單獨使用基于內容的推薦算法效果較差。在協同過濾算法中,目前應用最廣泛的方法是矩陣分解,即使用奇異值分解(Singular Value Decomposition,SVD)模型對評分矩陣的缺失值進行填充。SVD++模型[5]引入用戶和商品的偏置項并融合了隱反饋信息,timeSVD++模型[6]在此基礎上引入時間效應,這類隱因子模型在國際競賽中取得了優異成績并被封裝成SVDFeature工具包[7]。概率矩陣分解(Probabilistic Matrix Factorization,PMF)模型[8]引入特征向量的先驗分布,用最大后驗概率求解參數。貝葉斯概率矩陣分解模型[9]將PMF中先驗分布的超參數視為變量,對其做馬爾科夫鏈蒙特卡洛(Markov Chain Monte Carlo,MCMC)采樣,避免了調參時復雜的網格搜索。局部低秩矩陣近似模型[10]則將完整矩陣近似成多個可分解的局部低秩矩陣之和。上述矩陣分解模型效果較好,但都無法解決冷啟動問題。混合推薦算法結合了上述兩類算法的優勢,是目前的研究趨勢。基于棧式降噪自編碼器的混合推薦算法[11]使用棧式降噪自編碼器抽取用戶特征并用于協同過濾。協同主題回歸模型(Collaborative Topic Model,CTR)[12]利用潛在狄利克雷分布(Latent Dirichlet Allocation,LDA)[13]算法抽取商品特征并用于協同過濾,但LDA在文本以外的領域特征提取能力較弱。

上述推薦算法都默認評分矩陣中的缺失值表示用戶對該商品不感興趣,沒有考慮可能是由于地理位置等因素造成該商品未能曝光給用戶,在這種無法區分負樣本和未曝光樣本的推薦場景下,直接對完整的矩陣進行操作往往效果不佳。為此,單類協同過濾算法[14]通過負采樣得到負樣本,權重矩陣分解算法[15]對觀測值和缺失值采用不同的損失權重,但這兩種算法對曝光因素的處理都不夠細致。曝光矩陣分解模型ExpoMF[16]將曝光變量看作隱變量,使用EM算法對曝光隱變量、曝光先驗、用戶特征向量和商品特征向量做參數估計,但破壞了先驗和似然的共軛關系,推斷結果較差,而且無法解決冷啟動問題。

另一方面,深度學習在自然語言處理和計算機視覺等領域應用廣泛,理論上神經網絡可擬合任意的連續函數,表征能力遠超線性模型。文獻[17]通過引入噪聲增加了棧式自編碼器的魯棒性。文獻[18]對觀測變量和隱變量使用二部圖建模,利用吉布斯采樣推斷隱變量的后驗分布。文獻[19]將受限玻爾茲曼機堆疊,使用逐層貪婪預訓練,得到了更好的特征提取效果。文獻[20]將變分推斷與深度學習結合提出的變分自編碼器(Variational Auto-Encoder,VAE),具有更好的可解釋性,而且在圖像等領域的特征提取任務上表現優異,也可用于推薦算法。

受此啟發,本文提出基于變分自編碼器(Variational Auto-Encoder,VAE)的推薦算法VAHR,使用MCMC采樣保證先驗和似然的共軛關系,設計變分自編碼器VAEe對用戶曝光向量進行重構,并通過推斷得到的用戶特征矩陣、曝光矩陣和評分矩陣訓練變分自編碼器VAEi,用于提取新商品的協同隱特征向量進行協同過濾,從而完成新商品的推薦。

1 相關工作

VAHR算法最核心的部分是對曝光隱變量等參數的推斷以及變分自編碼器的使用,因此,本節介紹近似推斷和引入了曝光隱變量的ExpoMF模型。

1.1 近似推斷

貝葉斯推斷中的近似推斷指對模型參數或隱變量的后驗分布做近似的推斷,根據推斷結果的確定性可分為隨機推斷和確定推斷,具體如下:

1)隨機推斷中最常見的方法為MCMC采樣。該方法先構造一條以真實后驗分布為平穩分布和極限分布的馬爾科夫鏈,隨機選取一個參數初始值(即相當于隨機選取一個初始分布),不斷按照該馬氏鏈做狀態轉移,迭代一定次數后則認為當前采樣近似服從真實后驗分布。MCMC采樣對初始值不敏感,推斷效果較好,因此,VAHR算法使用MCMC采樣中的吉布斯采樣做參數推斷。

2)確定推斷中最常見的方法為變分推斷。通常隱變量后驗分布形式復雜,因此,本文采用類似變分法的方法尋找一個簡單的變分分布作為近似,通過最大化證據下界(Evidence Lower Bound,ELBO)得到該變分分布。文獻[20]提出的變分自編碼器使用攤余推斷最大化ELBO,將變分分布看作高斯分布,由編碼器學習均值和協方差矩陣,再由解碼器對輸入進行重構。目標函數如式(1)所示:

L(φ,θ)=EZ~Qφ(Z|X)[logaPθ(X|Z)]-

KL(Qφ(Z|X)‖P(Z))

(1)

其中,φ和θ表示編碼器和解碼器的網絡參數,X表示輸入樣本,Z表示隱變量,Qφ(Z|X)表示變分分布。

VAE利用蒙特卡洛方法近似對數似然的期望,使用重參數化技巧確保梯度順利傳播到編碼器的參數。本文提出的VAHR算法使用VAE重構用戶的曝光向量和抽取商品的協同隱特征。

1.2 ExpoMF模型

文獻[16]提出的ExpoMF模型,是一種引入曝光隱變量的生成模型。以i表示用戶(i=1,2,…,N),j表示商品(j=1,2,…,M),二元的點擊變量Yij表示用戶i是否點擊過商品j,二元的曝光變量Aij表示商品j是否曝光給用戶i,θi和βj表示用戶i和商品j的K維特征向量,對商品j使用統一的曝光先驗μj,Yij的生成過程如式(2)所示:

Aij~Bernoulli(μj)

(2)

其中,λθ、λβ和λy為超參數,IK為K維單位矩陣。ExpoMF的概率圖模型如圖1所示。

圖1 ExpoMF的概率圖模型Fig.1 Probability graph model of ExpoMF

ExpoMF使用EM算法在有隱變量A的情況下做θ、β和μ的參數估計,其中θ、β和μ表示相應參數對應的矩陣或向量。

(3)

在EM算法迭代較多次數后認為模型參數已經收斂,得到最終參數。在預測階段,根據ExpoMF的生成過程,預測結果的期望如式(4)所示:

(4)

本文VAHR算法使用吉布斯采樣,將前一次迭代結果作為先驗,推斷效果更好,而且ExpoMF無法解決新商品的冷啟動問題,對曝光信息的使用也存在缺陷,VAHR對此也加以改進。

2 VAHR算法

VAHR算法結構分為3層,即推斷層、VAE層和預測層。該算法在推斷層推斷曝光矩陣、曝光先驗向量、用戶特征矩陣和商品特征矩陣4組參數,在VAE層訓練2個VAE,分別用于重構用戶曝光向量和抽取商品協同隱特征,在預測層做用戶對舊商品和新商品點擊情況的預測。其中:商品的協同隱特征向量指可以用于協同過濾的特征向量;商品的隱特征向量指用特征提取模型(如VAE)提取出的特征向量,不能很好地用于協同過濾;商品的特征向量指經特征工程得到的商品輔助信息,作為VAE的輸入。在不會產生歧義時,為敘述簡便,本文不對其進行嚴格區分。

2.1 推斷層

VAHR算法使用吉布斯采樣做A、μ、θ和β的推斷。根據吉布斯采樣的收斂性,可以隨機初始化上述4組參數,但為了加快收斂速度,4組參數的初始化方式見3.4.1節。首先對A進行采樣,Yij=1時Aij一定為1,Yij=0時Aij的完整條件概率見式(3),可從式(5)的伯努利分布中采樣出Aij。

(5)

θi和βj完整條件概率的計算方式類似,下面以θi舉例說明。根據D分離方法,θi和θ、θi和A、θi和Y均被β阻斷,θi和μj被Aij阻斷,如式(6)所示:

θi~P(θi|β,A,Y,μ,θ)=P(θi|β,Ai,Yi,μ)=

P(θi|β,Ai,Yi)

(6)

由于此時β、A和Y為已知值,因此式(6)正比于式(7)左邊的聯合概率:

P(θi,β,Ai,Yi)=P(θi)P(Yi|θi,β,Ai)P(β)P(Ai)∝

P(θi)P(Yi|θi,β,Ai)

(7)

當Aij=0時,P(Yij|θi,βj,Aij)=1;當Aij=1時,P(Yij|θi,βj,Aij)為高斯分布,而且初始的P(θi)為高斯分布。根據高斯相乘引理和數學歸納法可知,可實現以前一次迭代得到的高斯分布作為先驗來進行本次迭代,得到更精準的推斷,如式(8)所示:

θi~N(θi|μ*,[Λ*]-1)

(8)

其中,μ和Λ為前一次迭代得到的高斯分布的均值向量和協方差矩陣的逆矩陣,μ*和Λ*為本次迭代得到的高斯分布的均值向量和協方差矩陣的逆矩陣。

對于μj,根據D分離方法,在給定Aj的條件下,μj與其他所有參數獨立,μj僅與Aj有關(如式(9)所示),指定μj服從Beta分布,設先驗為Beta(α1,α2),根據Beta分布與二項分布的共軛關系可以直接得到μj的后驗分布(如式(10)所示),由此可將前一次迭代得到的Beta分布作為先驗來進行本次迭代。

μj~P(μj|θ,β,A,Y,μ)=P(μj|Aj)

(9)

(10)

使用數學計算庫(如numpy)實現μ的采樣需要較大計算量,而在現實的推薦場景中,用戶數N往往非常巨大,根據Beta分布的特性,其概率密度函數幾乎完全集中于尖銳的一點,該尖點概率密度極大,其余點的概率密度接近為0,并且形狀參數越大此特性越明顯。為了簡化運算,可以選擇不從式(10)分布中采樣,而是指定μj為式(10)Beta分布的眾數,因為使用采樣方式得到的樣本一定會落在眾數附近極狹小的區間內,2種方法對后面其他3組參數的采樣幾乎沒有差別。眾數計算公式如式(11)所示:

(11)

按照以上順序迭代采樣A、θ、β和μ,在迭代較多次數后,認為4組參數收斂到真實的后驗分布。吉布斯采樣效果較好,缺點是計算量過大,其中矩陣求逆的時間復雜度高達O(K3),對4組參數采樣一次的時間復雜度為O(MN(K2+K+1)+(M+N)(K3+K2))。但筆者發現在采樣過程中,曝光矩陣的各元素之間、用戶與用戶的特征向量之間、商品與商品的特征向量之間和商品與商品的曝光先驗之間是各自相互獨立的,因此,本文對4組參數進行組內并行、組間串行的吉布斯采樣。采樣A、β和μ時,對商品集分組,每組商品放到不同CPU內核上并行;采樣θ時,對用戶集分組,每組用戶放到不同CPU內核上并行。一般來說并行的效率提升倍數與設定的內核數近似呈正比,但不宜過大,否則會導致內核間的數據交換耗費過多時間,每個內核上的利用率不足,反而降低效率。選擇恰當的內核數和分組尺寸需要反復嘗試,具體參數設定見本文實驗部分。

2.2 VAE層

2.2.1 用戶曝光信息重構

(12)

其中,fθ為VAEe解碼器的函數形式,zi為用戶i曝光向量的隱特征,fθ(zi)為VAEe的重構結果,λe為VAEe解碼器高斯分布的協方差矩陣系數的倒數。由于Aij為離散值0和1,因此在解碼器部分使用邏輯似然,此時對數似然等效于交叉熵損失,如式(13)所示。此外,對于離散的二元特征也可以選擇多項式似然。

(1-Aij)ln(1-fθ(zi)j)

(13)

2.2.2 商品協同隱特征抽取

為解決新商品的冷啟動問題,使用用戶特征矩陣θ、曝光矩陣A和點擊矩陣Y訓練一個提取商品協同隱特征的VAE,稱之為VAEi。同樣地,對于連續的特征使用高斯似然,對于離散的二元特征使用邏輯似然。將協同過濾的損失、VAEi的損失以及網絡參數正則化項三者綜合,得到完整目標函數,如式(14)所示,然后使用梯度上升優化VAEi的網絡參數。

EZ~Q(Z|X)lnP(X|Z)-

(14)

在式(14)中,X為商品的特征矩陣(輔助信息),Z為商品對應的協同隱特征矩陣,W為VAEi的網絡參數矩陣,λW和λy為超參數,先驗分布P(Z)一般選擇標準高斯分布。由于VAEi提取出的特征向量服從高斯分布,因此對協同過濾損失使用期望形式表示。可以把式(14)的第2項和第3項之和視為VAEi的目標函數ELBO1,也可以把第2項視為樣本重構誤差的期望,把第3項看做分布正則化項。具體地,當第2項很大即重構誤差很小時,Q(Z|X)很復雜,可以對商品進行精準的重構,但此時它與P(Z)的KL散度也很大,ELBO1不會因為重構誤差小而變得很大,當第2項很小時同理。因此,第3項KL散度對最大化ELBO1起到了正則作用,既不會得到過于簡單但重構性能過差的VAEi,又不會得到過于復雜的VAEi,而是在兩者之間進行權衡。

以上為式(14)損失函數角度(損失函數之和)的解釋,此外,筆者還發現了其概率角度解釋。在VAE層,Y、X和θ為已知值,本文構造P(Y,X,θ)的證據下界ELBO2,如式(15)所示:

ELBO2=logaP(Y,X,θ)-

KL(Q(Z|X)‖P(Z|Y,X,θ))=

EZ~Q(Z|X)logaP(Y,X,θ|Z)-

KL(Q(Z|X)‖P(Z))

(15)

筆者希望尋找一個變分分布Q(Z|X),使其盡量接近真實后驗分布P(Z|Y,X,θ),因此,通過最大化ELBO2來達到這一目的,巧合的是,最大化帶有網絡參數正則化項的ELBO2與最大化式(14)是完全等價的,如式(16)所示:

EZ~Q(Z|X)logaP(Y,X,θ|Z)-

KL(Q(Z|X)‖P(Z))=

EZ~Q(Z|X)loga[P(θ)P(Y|Z,θ)P(X|Z)]-

KL(Q(Z|X)‖P(Z))=

EZ~Q(Z|X)[logaP(Y|Z,θ)+logaP(X|Z)]-

KL(Q(Z|X)‖P(Z))+const

(16)

協同主題回歸(CTR)模型[12]、協同變分自編碼器(CVAE)[21]和協同深度學習模型(CDL)[22]都將特征提取算法與協同過濾結合,使用了類似形式的損失函數,但它們都只有損失函數角度的解釋,而沒有概率角度解釋。其中,CVAE使用VAE學習商品的隱特征矩陣Z,加上彌補項ε得到協同隱特征矩陣V,用U和V做協同過濾,訓練時對協同過濾參數(U和V)與VAE的網絡參數使用塊坐標上升交替優化,損失函數如式(17)所示:

L=EZ~Q(Z|X)logaP(Y,X,U,V|Z)-

KL(Q(Z|X)‖P(Z))

(17)

由于P(Y,X,θ|Z)包含了未知參數U和V,因此無法解釋成似然,式(17)不可看作ELBO,破壞了概率角度的可解釋性,只能從損失函數的角度進行解釋。此外,以上4種模型均沒有考慮曝光度的問題,只是對缺失值的損失采用較低權重,對觀測值的損失采用較高權重,因此,對舊商品的推薦(in-matrix)效果較差。而對于新商品的推薦(out-of-matrix),由于新商品彌補項為0,上述模型僅用LDA、VAE或SDAE學習出了商品的隱特征而不是協同隱特征,無法有效地用于協同過濾,因此,推薦效果不如利用VAE直接學習協同隱特征的VAHR算法。

為保證目標函數可計算,與VAE相同,本文使用蒙特卡洛方法對Q(Z|X)采樣L個Z來得到損失函數前兩項期望的近似;為保證梯度的順利傳播,使用重參數化技術模擬對Z的采樣;為防止KL坍塌,使用KL退火[23]在KL散度前添加系數并在訓練初期使其為0,在訓練前中期讓其逐漸增加至1以保證VAE的學習效果;為了加快VAE的收斂速度,先用特征矩陣(輔助信息)X對VAE單獨進行預訓練,然后與協同過濾部分整合進行微調。

2.3 預測層

2.3.1 in-matrix推薦

在預測用戶i對舊商品j的點擊情況時,使用VAEe對Ai重構得到Ei,預測結果如式(18)所示:

(18)

但式(18)不是在所有推薦場景都表現良好,考慮以下兩個例子:在餐廳的推薦場景下,曝光因素體現為地理位置,由于上海的用戶很難去北京的餐廳,因此預測時應考慮曝光變量的制約,如式(18)所示;在電影網站的推薦場景下,曝光因素可以理解為英語地區的用戶收到英語電影推薦較多,由于是網上觀影,因此預測時不應受曝光變量的制約,如式(19)所示。在不同的推薦場景下應該選擇相應的in-matrix預測公式。

(19)

2.3.2 out-of-matrix推薦

在預測用戶i對新商品j的點擊情況時,先用VAEi提取新商品的協同隱特征,由于無法通過推斷得知新商品的曝光情況,因此預測結果如式(20)所示:

(20)

其中,xj表示新商品j的特征向量(輔助信息),μφ表示VAEi編碼器的均值網絡,μφ(xj)表示該網絡的輸出。

2.4 算法描述

VAHR算法的具體步驟如下:

步驟2采樣A。若Yij=1,則Aij=1;若Yij=0,則根據式(5)并行采樣Aij。

步驟3采樣θ。對于每個用戶i=1,2,…,N,根據式(8)并行采樣θi。

步驟4采樣β。對于每個商品j=1,2,…,M,類似式(8)并行采樣βj。

步驟5采樣μ。對于每個商品j=1,2,…,M,根據式(11)更新μj。

步驟6在迭代次數達到預設值時執行步驟7,否則返回執行步驟2~步驟5。

VAHR算法引入曝光隱變量并使用精準的參數先驗,通過步驟1~步驟6推斷出更準確的參數,這些參數是在各種場景下能取得高推薦質量的基礎。在不應受曝光制約的in-matrix場景下,直接用內積作為預測結果,雖然預測結果中沒有體現曝光信息,但前面推斷層得到的準確參數使得在該場景下可以得到更好的推薦效果。在應受曝光制約的in-matrix場景下,將曝光預測值與內積相乘得到預測結果,由于曝光預測值是用VAEe對用戶曝光向量重構得到的,而不是直接使用推斷得出的結果,因此推薦效果更好。在out-of-matrix場景下,將曝光信息與VAE結合訓練出VAEi,用以提取新商品的協同特征,可以很好地解決冷啟動問題。

3 實驗結果與分析

本文使用2個真實世界數據集citeulike-a和citeulike-t進行實驗,并將VAHR算法與多個經典算法進行對比,以證明其有效性。

3.1 實驗數據

本文實驗選用的數據集為推薦系統領域常用的公開數據集citeulike-a和citeulike-t,包含英文論文網站CiteULike中的一些用戶索引與用戶看過的文章索引,citeulike-a包含5 551名用戶與16 980篇文章,共204 986個用戶-文章點對,其中看過的總文章數少于10的用戶已經被剔除,經計算該數據集的稀疏度為99.78%,即該數據集構成的用戶-文章點擊矩陣中99.78%的元素為0,其余元素為1。citeulike-t比第1個數據集更大且稀疏程度更高,其包含7 947名用戶與25 975篇文章,共134 860個用戶-文章點對,其中看過的總文章數少于3篇的用戶已經被剔除,稀疏度為99.93%。2個數據集均通過獨立采樣得到。

數據集中的每篇文章都包含標題與摘要,為得到變分自編碼器的輸入商品特征同時保證實驗的公平性與客觀性,本文對數據采用與基準算法相同的處理方式。首先將標題和摘要連接到一起,然后將沒有實際意義的停用詞去除,使用TF-IDF對所有詞進行計算,根據TF-IDF值得到詞匯表。citeulike-a的詞匯表尺寸為8 000,citeulike-t的詞匯表尺寸為20 000,對每篇文章都用一個詞袋直方圖向量表示,向量的維度即詞匯表尺寸,分別進行向量堆疊得到2個數據集對應的矩陣,然后對這兩個矩陣進行歸一化,即對于每個詞,將它出現最多的文章中該詞所對應的維度歸一化為1,而對于其余文章,該維度都要除以其最大出現次數。

3.2 評估指標

本文使用召回率衡量推薦效果。召回率等于測試集中真正例的數量除以正例的數量,即某用戶喜歡的商品中被推薦系統命中的商品比例。一般用recall@M表示推薦列表尺寸為M時的召回率,如式(21)所示:

(21)

其中,hitsM表示推薦M個商品時系統命中的數量,testsetu表示用戶u標注過的商品數量,同時也是系統命中的理論最大值。因為測試集中有些用戶的文章數為0,所以最終的召回率結果取測試集中所有文章數不為0用戶召回率的平均值。

3.3 對比算法

在in-matrix和out-of-matrix的實驗中,本文選擇以下算法進行對比:

1)CTR算法[12]:將協同過濾與特征提取模型結合的推薦算法,憑借LDA的優越性能,文本推薦效果較好。

2)CDL算法[22]:將CTR算法中的LDA改進成棧式降噪自編碼器(SDAE)。

3)CVAE算法[21]:將協同過濾與變分自編碼器結合的模型。

4)ExpoMF算法[16]:引入曝光隱變量的生成模型,使用EM算法估計模型參數。

5)ACF算法[24]:使用自編碼器做特征提取再做協同過濾,本文在冷啟動的實驗中以此作為對比算法。

6)LDA算法[13]:使用LDA提取商品特征,再用K近鄰算法完成推薦,屬于基于內容的推薦算法。

7)VAHR算法:考慮曝光隱變量,使用VAE處理曝光信息并解決了商品的冷啟動問題。

3.4 實驗設定與結果分析

在做in-matrix推薦時對CTR、CDL、CVAE、ExpoMF與VAHR進行比較,在做out-of-matrix推薦時考慮到本文實驗選擇的數據集是文本,因此,選擇對LDA、CTR、ACF與VAHR做縱向比較,最后選擇VAHR的不同超參數做橫向比較。

3.4.1 參數設定

(22)

超參數設定如下:VAEe編碼器的輸入層節點數為商品數M,第1層隱藏層節點數為500,輸出層節點數為200,VAEi編碼器的輸入層節點數為8 000,第1層隱藏層節點數為200,輸出層節點數為特征向量維度K,2個VAE的解碼器和編碼器結構均對稱,高斯重構分布的協方差矩陣均為σ2I,其中,σ=0.1,在2個VAE的全部6個神經網絡中使用批量歸一化和隨機失活,隨機失活的比例為0.1,學習率為0.01,正則化系數λw=0.001,λy=0.1,在訓練集上的迭代次數均為500次。文獻[21]指出,當隨機梯度下降的批尺寸B足夠大時,VAE中的采樣數L可設為1,本文將B設為128。VAHR的超參數相比CVAE和CDL要少一些,因為VAHR將隱變量推斷出來再做協同過濾,而不是對觀測值和缺失值直接使用不同的權重(如CVAE令觀測值的權重a=1,令缺失值的權重b=0.01),由于它們含有商品隱特征向量的彌補項,因此還要設定λV來對彌補項正則化。使用機器學習庫scikit-learn中的joblib模塊實現吉布斯采樣的并行,商品集的分組尺寸為2 000,用戶集的分組尺寸為500,joblib中的并行內核數n_jobs為8。對于KL退火,讓KL散度前的系數從0開始線性增長,如果增長速度較快則系數為1后的迭代次數相應較少,網絡收斂速度更快,因此,本文選擇讓其在第100次訓練集迭代時達到1,通過KL退火解決 KL坍塌問題[24]。

3.4.2 in-matrix推薦

在in-matrix推薦中,劃分訓練集和測試集時將citeulike-a和citeulike-t分成稀疏和密集2種情況:稀疏情況下對每個用戶隨機選出1篇已標注的文章放入訓練集,將該用戶的剩余文章放入測試集;密集情況下對每個用戶隨機選出10篇文章放入訓練集,將剩余文章放入測試集,共得到4組訓練集和測試集。特征向量的維度K=50,推薦列表尺寸分別取50、100、150、200、250和300,取第100次吉布斯采樣的迭代結果,稀疏劃分情況下的實驗結果如圖2所示,密集劃分情況下的實驗結果如圖3所示。

圖2 稀疏劃分情況下不同算法的召回率對比Fig.2 Comparison of recall rates of different algorithmsunder sparse partition condition

圖3 密集劃分情況下不同算法的召回率對比Fig.3 Comparison of recall rates of different algorithmsunder dense partition condition

對比圖2、圖3可以看出,CVAE和CDL在4組測試集上都明顯優于其他2個基準算法,在密集劃分的citeulike-a測試集上,CVAE相比于ExpoMF和CTR召回率提升約14.5%和16.1%,CDL相比于ExpoMF和CTR召回率提升約10.9%和13.1%,說明CVAE和CDL憑借VAE和SDAE強大的特征提取能力取得了優秀的推薦性能,LDA提取文本特征的能力強,但仍不如深層非線性模型,ExpoMF雖然用EM算法對曝光隱變量進行了更細致的處理,但由于特征向量的先驗選擇較差,并且沒有對曝光信息重構,因此效果僅與CTR相當。同時可以看出,CVAE的效果優于CDL,在密集劃分的citeulike-a上,CVAE相比CDL的召回率提升約3.5%,說明VAE的抽取特征能力強于SDAE,這也是VAHR選擇VAE而不是SDAE的原因。VAHR的效果優于CVAE和CDL,相對于兩者的召回率提升約3.8%和6.2%,說明VAHR通過更精確的推斷和對曝光信息重構,能夠更好地解決單類推薦問題。對比不同的數據集可見,在數據集稀疏度高或規模小時,所有模型效果均較差,隨著訓練樣本的增多,所有模型召回率均有明顯提升,從稀疏劃分的citeulike-a到密集劃分的citeulike-t,數據集尺寸增大約10倍,VAHR召回率提升約30.1%,推測是由于推薦算法的訓練數據量相比于參數數目來說少很多,小數據集更易過擬合,在測試集上表現較差。

3.4.3 out-of-matrix推薦

out-of-matrix推薦考慮當有一批新文章進入系統時,應該向用戶推薦新文章中的哪些文章,即新商品的冷啟動問題。這里只選擇citeulike-a進行實驗,取3 396篇文章作為測試集,其余13 584篇文章對應的用戶-文章點對作為訓練集。特征向量維度K=100,推薦列表的尺寸為20,40,…,200,實驗結果如圖4所示。

圖4 K=100時citeulike-a上不同算法的召回率對比Fig.4 Comparison of recall rates of different algorithms onciteulike-a when K=100

由圖4可見,LDA和CTR性能非常接近,說明這兩個算法受制于LDA的特征提取能力。VAHR的召回率相比CTR、LDA和ACF提升了約6.3%、6.5%和21.5%。說明VAE的特征提取能力強于SDAE和LDA,VAHR引入曝光隱變量并且讓VAE直接學習商品協同隱特征,取得了更好的新商品推薦效果。

使用以上數據集對VAHR算法選擇不同的K做橫向對比,K分別取25、50、75和100,實驗結果如圖5所示。

圖5 不同特征向量維度時citeulike-a上VAHR算法的召回率Fig.5 Recall rates of VAHR algorithm on citeulike-ain different feature vector dimensions

由圖5可見,本文算法在K=100時相比K為25、50和75時最多取得了約14.5%、11.4%和5.5%的召回率提升。原因如下:在VAHR的前兩層中都包含矩陣分解,特征向量維度對矩陣分解的效果影響明顯;第2層的VAEi提取商品協同隱特征,較大的K使提取出的向量表征能力更強。然而使用較大的K值會增加吉布斯采樣和VAEi的訓練時長,尤其是吉布斯采樣的訓練時長一般以小時或天為量級,K=75與K=50的召回率相差僅3.6%,吉布斯采樣時長卻相差數十小時,因此,在不同的推薦場景下,應根據需求選擇合適的特征維度。

4 結束語

本文提出VAHR算法,使用MCMC采樣做精準參數推斷,利用變分自編碼器強大的特征提取能力重構曝光信息和提取商品特征,并在傳統協同過濾算法的框架下加以改進,以解決單類推薦問題與冷啟動問題。基于citeulike-a和citeulike-t數據集的仿真實驗結果表明,VAHR算法對于舊商品和新商品都能取得較好的推薦效果。下一步將在文本的預處理過程中使用LSTM或RNN等自然語言處理中經典的時序模型,同時對吉布斯采樣的并行運算加以優化,縮短算法在大數據集中的運算時長。由于VAHR未考慮用戶喜好可能會隨時間推移而變化的特點,因此還將引入時間效應,進一步提高推薦質量。

猜你喜歡
用戶模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 波多野结衣国产精品| 在线综合亚洲欧美网站| 色婷婷色丁香| 秘书高跟黑色丝袜国产91在线| 国产性精品| 中文字幕人成人乱码亚洲电影| 婷婷六月综合| 啊嗯不日本网站| 这里只有精品国产| 中文字幕av无码不卡免费| 国产极品粉嫩小泬免费看| 伊人福利视频| 国产黄网永久免费| 亚洲精品无码久久毛片波多野吉| 亚洲成人免费看| 乱人伦99久久| 91无码人妻精品一区| 亚洲色图在线观看| 婷婷亚洲天堂| 国产第四页| 亚洲欧洲一区二区三区| 另类重口100页在线播放| 亚洲区欧美区| 国产成人一区免费观看| 国产视频 第一页| 久久亚洲日本不卡一区二区| 国产欧美精品一区aⅴ影院| 亚洲欧美一区二区三区麻豆| 四虎影视永久在线精品| 伊人AV天堂| 日韩免费毛片视频| 欧美激情二区三区| 免费观看亚洲人成网站| 欧美一区二区啪啪| 亚洲伦理一区二区| 国产成人亚洲精品无码电影| 久久国产成人精品国产成人亚洲| 国产毛片网站| 亚洲无码高清一区二区| 无码国产偷倩在线播放老年人| 欧美日韩久久综合| 免费欧美一级| 精品一区二区三区水蜜桃| av免费在线观看美女叉开腿| 欧美亚洲激情| 无码高潮喷水专区久久| 91视频国产高清| 成年看免费观看视频拍拍| 免费看a毛片| 免费又黄又爽又猛大片午夜| 亚洲日韩久久综合中文字幕| 青青久久91| 中文字幕人成人乱码亚洲电影| 色亚洲激情综合精品无码视频 | 中文字幕亚洲乱码熟女1区2区| 久久青草热| 国产成人精品第一区二区| 国产亚洲第一页| 精品福利网| 国产精品9| 无码中文字幕乱码免费2| 欧美yw精品日本国产精品| 91亚洲视频下载| a亚洲天堂| 日本在线免费网站| a亚洲视频| 丝袜亚洲综合| 少妇露出福利视频| 国产乱码精品一区二区三区中文 | 亚洲天堂网在线播放| 午夜欧美理论2019理论| 国产欧美精品一区aⅴ影院| 91最新精品视频发布页| 91精品免费久久久| 99久久精品国产自免费| 国产99视频在线| 成人噜噜噜视频在线观看| 毛片一区二区在线看| 国产美女91视频| 狠狠躁天天躁夜夜躁婷婷| 国产理论一区| 99中文字幕亚洲一区二区|