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

協(xié)同深度學習推薦算法研究①

2019-01-18 08:30:22馮楚瀅司徒國強倪瑋隆
計算機系統(tǒng)應用 2019年1期
關鍵詞:深度用戶模型

馮楚瀅, 司徒國強, 倪瑋隆

(蘭州交通大學 電子與信息工程學院, 蘭州 730070)

協(xié)同過濾(Collaborative Filtering)是許多推薦系統(tǒng)常用的方法[1]. 傳統(tǒng)的基于協(xié)同過濾的方法使用用戶給出的項目評分作為學習推薦的唯一信息來源. 但是, 許多應用程序的評分通常較少, 導致基于協(xié)同過濾的方法的推薦性能顯著降低. 為了解決這個稀疏性問題, 本文利用諸如項目內(nèi)容信息的輔助信息一同作為信息來源提出了稱為協(xié)同深度學習(Collaborative In Deep Learning, CIDL)的算法, 該算法分別執(zhí)行用于內(nèi)容信息的深度表示學習以及用于評價(反饋)矩陣的協(xié)同過濾.

本文將協(xié)同深度學習算法應用于電影推薦系統(tǒng),對大量的電影評分進行建模, 分析觀影用戶對電影的偏好隨著時間的推移而變化的情況, 從而對客戶進行個性化電影推薦[2]. 本文的創(chuàng)新點主要在于: (1) 與以往使用分類[3]和重構(gòu)[4]等簡單目標的深度學習模型不同,本文在概率框架中使用協(xié)同過濾作為更復雜的目標. (2)除了獲得最大后驗概率(Maximum A Posteriori, MAP)估計的算法外, 本文還推導了一種基于采樣的CIDL貝葉斯處理算法, 該算法是一種貝葉斯推廣的反向傳播算法. (3) 協(xié)同深度學習是一個用于彌合現(xiàn)有深度學習模型和推薦系統(tǒng)之間差距的等級貝葉斯模型. 此外,由于其貝葉斯性質(zhì), CIDL可以輕松擴展并納入其他輔助信息以進一步提升性能.

1 相關工作

由于許多在線服務中用戶有大量的選擇, 推薦系統(tǒng)得到了大量運用[5]. 對于個人而言, 使用推薦系統(tǒng)可以讓我們更有效地使用信息. 此外, 許多公司(例如淘寶和各大音樂播放器)已經(jīng)廣泛地使用推薦系統(tǒng)來定位他們的客戶. 推薦系統(tǒng)的現(xiàn)有方法大致可以分三類[6]: 基于內(nèi)容的方法, 基于協(xié)同過濾的方法和混合方法. 基于內(nèi)容的方法利用用戶程序或產(chǎn)品描述來進行推薦

基于協(xié)同過濾的方法使用過去的活動或偏好, 例如用戶對項目的評分, 而不使用用戶或產(chǎn)品內(nèi)容信息.混合方法通過結(jié)合基于內(nèi)容的方法和基于協(xié)同過濾的方法來獲得兩全其美的結(jié)果.

根據(jù)判斷評分信息與輔助信息之間是否存在雙向交互, 可以進一步將混合方法分為兩類: 松耦合方法和緊密耦合方法. 松散耦合的方法[7]一次處理輔助信息,然后用它為協(xié)同過濾模型提供特征. 由于信息流是單向的, 因此評級信息無法提供反饋來指導提取有用的功能. 對于這個子類別, 改進通常需要依靠手動和乏味的特征工程過程. 相反, 緊密耦合的方法允許雙向交互[8]. 一方面, 評分信息可以指導特征的學習. 另一方面, 提取的特征可以進一步提高協(xié)同過濾模型的預測能力. 通過雙向交互, 緊密耦合的方法可以自動從輔助信息中學習特征, 并自然平衡評級和輔助信息的影響.

隨著深度學習以及推薦系統(tǒng)的發(fā)展, 對于深度學習與推薦系統(tǒng)結(jié)合的研究也越來越多, 文獻[9]選用了與本文相同的SDAE模型從用戶自由文本標簽中抽取項目的顯式特征信息, 再使用改進隱因子模型算法對進行矩陣分解, 最終得出推薦矩陣, 但對于數(shù)據(jù)陷入局部最優(yōu)的問題沒有很好的解決. 文獻[10]中使用結(jié)合協(xié)同過濾推薦和基于內(nèi)容推薦的混合模型,其中基于內(nèi)容推薦的部分使用了深度學習內(nèi)容. 但對于這種方法而言, 是將兩種算法產(chǎn)生的結(jié)果按比例返回作為推薦結(jié)果. 兩種算法沒有很好的融合在一起共同作用. 按比例返回結(jié)果的比例也很難把控. 文獻[11]使用了兩個堆疊降噪編碼器來學習以得出推薦矩陣, 但預處理數(shù)據(jù)和訓練模型時花費了較長的時間,最優(yōu)效果有待改進. 文獻[12]引入深度學習模型提升算法性能,但對于算法的調(diào)參提出了更高的要求,并且算法的復雜度也相比傳統(tǒng)算法提升不少.

本文介紹了一種稱為協(xié)同深度學習模型(Collaborative In Deep Learning, CIDL)的分層貝葉斯模型,作為推薦系統(tǒng)的一種新型緊耦合方法. 協(xié)同深度學習模型基于一種稱為堆疊降噪自動編碼器(Stacked Denoising AutoEncoder, SDAE)的貝葉斯公式[13]. 協(xié)同深度學習模型將內(nèi)容信息的深度表示學習與評級(反饋)矩陣的協(xié)作過濾緊密結(jié)合在一起, 從而允許兩者之間的雙向交互.

2 本文算法

2.1 符號及公式說明

本文采用隱式反饋來訓練和測試數(shù)據(jù). 整個項目數(shù)據(jù)J(電影)的數(shù)據(jù)集合由一個j行S列的矩陣XC來表示,J項目中的j行是由基于詞匯庫大小為S的詞袋模型向量XC, j*組成的. 對于整個用戶數(shù)據(jù)集合I, 定義一個i行j列的二元評分矩陣R=Ri, j. 給定R中的部分評級和內(nèi)容信息XC, 用來預測R中的其他評級,R的維度為K.X0為噪聲破壞輸入, 同樣是一個j行S列的矩陣,XC的作用為凈化輸入到SDAE中的X0.Xl為SDAE的第 l層的輸出,Xl的j行表示為Xl,j*.Wl為 l層的權重矩陣,bl為偏差矢量.W+表示所有層的權重矩陣和偏差矢量的集合.

2.2 算法流程

本文使用自動編碼器學習數(shù)據(jù)并得到訓練后的網(wǎng)絡, 在利用訓練后的網(wǎng)絡生成用戶和項目間的隱含特征矩陣. 最后將該矩陣輸入CIDL算法中訓練學習, 最終得到新的評分矩陣. 流程圖1所示.

圖1 中的具體步驟如下:

(1)對數(shù)據(jù)進行預處理

本文中使用的數(shù)據(jù)由兩部分組成. 第一部分, 收視率和電影名稱來自Netflix挑戰(zhàn)數(shù)據(jù)集. 第二部分, 本文從IMDB (http://www.imdb.com)收集了相應電影的情節(jié). 為了與前兩個數(shù)據(jù)集的隱式反饋設置保持一致[14], 本文中只提取正面評分(評分5)進行培訓和測試. 在移除正面評級少于3個的用戶和沒有劇情的電影后, 最終數(shù)據(jù)集中有407 261個用戶, 9228部電影和15 348 808個評分. 之后進行預處理[15], 從電影的情節(jié)中提取文本信息(項目內(nèi)容). 在去除停止詞后, 根據(jù)tf-idf(term frequency-inverse document frequency)值選擇最高的S個判別式詞匯形成詞匯表, 最后生成的詞匯表大小為20 000.

圖1 算法流程圖

(2)訓練SDAE自動編碼器輸出特征矩陣

對自動編碼器中的每個用戶輸入R里的每一行、項目ID和項目特征向量,R里的每一行即每個用戶對各個項目的打分作為其向量描述,輸入層個數(shù)等于項目數(shù)目J. 對于R加噪后的數(shù)據(jù)為:

訓練用戶評分矩陣的自動編碼器的輸出公式為:

其中,W,W'分別是訓練用戶評分矩陣的自動編碼器中輸入層到隱藏層、隱藏層到輸出層的權重矩陣,b,b'分別是偏置向量. 對于訓練用戶評分矩陣的自動編碼器的最小損失函數(shù)為:

(3)使用CIDL算法生成新的評分矩陣

生成的具體過程如2.5小節(jié)所示.

2.3 堆疊降噪自動編碼器

堆疊降噪自動編碼器是一個前饋神經(jīng)網(wǎng)絡, 通過從疊加噪聲的原始數(shù)據(jù)以及輸出數(shù)據(jù)中學習得出未疊加噪聲的入數(shù)據(jù), 如圖2所示.

圖2 SDAE原理圖

堆疊降噪自動編碼器從疊加噪聲的輸入數(shù)據(jù)與未疊加噪聲的輸入數(shù)據(jù)中得出的特征幾乎相同, 但從疊加噪聲的數(shù)據(jù)中學習到的特征更具有魯棒性. 通常情況下, 隱藏層在整個系統(tǒng)的中間(即圖1中的X2)被約束為瓶頸[15], 并且輸入層X0是疊加噪聲的原始數(shù)據(jù).一個堆疊降噪編碼器解決了去除噪聲的優(yōu)化問題, 即:

其中,λ是正則化參數(shù), ||·||是弗羅貝尼烏斯范數(shù).

2.4 廣義貝葉斯SDAE

從XL生成干凈輸入XC是貝葉斯SDAE生成過程的一部分, 而從XC生成噪聲破壞輸入X0是一種人工噪聲注入過程, 可幫助SDAE學習更強大的特征表示.若假設干凈輸入XC和損壞輸入X0, 可定義以下生成過程:

(1)對于SDAE網(wǎng)絡中的每一層l

1)對于權重矩陣NWl的每一列n

2)繪制偏向量

3)對于Xl的每一行j

(2)對于每個j, 繪制一個干凈的輸入

如果λS有效, 則方程(4)中的高斯分布將變?yōu)橐驭?Xl-1, j*,Wi+bl)為中心的狄拉克三角形分布[10], 其中δ(*)是 S 形函數(shù) (Sigmoid Function, SF). 該模型將退化為SDAE的貝葉斯公式, 因此稱之為廣義SDAE. 網(wǎng)絡中的第一個L/2層充當編碼器, 最后的L/2層充當解碼器. 后驗概率的最大化等同于考慮權重衰減時重建誤差的最小化.

2.5 協(xié)同深度學習

使用貝葉斯SDAE作為組件, CIDL的原理圖如圖3所示.

圖3 CIDL原理圖

CIDL的生成過程如下:

(1) 對于SDAE網(wǎng)絡的每一層l, 操作與前一部分SDAE中步驟相同.

(2) 對于每個j, 繪制一個干凈的輸入, 操作與SDAE中步驟相同.

1)設置一個潛在的項目設置向量:

2)并將潛在項目矢量設置為:

3)為每個用戶設置一個潛在用戶向量:

4)為每個用戶項目對 (i,j)繪制評分Ri,j:

其中,λW,λn,λu,λS以及λv為超參數(shù),Cij是一個與CTR相似的置信參數(shù), 中間層作為評級和內(nèi)容信息之間的橋梁. 這個中間層, 以及潛在偏移量εj是使CIDL能夠同時學習有效特征表示并捕獲項目與用戶之間相似性和隱含關系的關鍵.

2.6 最大后驗估計

基于上述CIDL模型, 所有參數(shù)都可以作為隨機變量處理, 以便可以應用完全貝葉斯方法, 如馬爾科夫鏈或變分近似方法[16]. 但是, 這種處理通常會導致高計算成本. 本文設計了一個期望最大算法來進行最大后驗估計.

與協(xié)同主題回歸模型類似, 最大化后驗概率相當于最大化U,V, {Xl}, {XC}, {Wl}, {bl}的聯(lián)合對數(shù)似然估計:

若λS趨近于無限, 此似然將會變?yōu)?

編碼器函數(shù)fe(*,W+)取未降噪的的內(nèi)容向量X0,j*作為輸入并計算該項的編碼, 函數(shù)fr(*,W+)同樣取X0,j*作為輸入并計算編碼, 然后計算項目j的重構(gòu)內(nèi)容向量.

從優(yōu)化的角度來看, 上述目標函數(shù)(11)中的第三項相當于一個多層感知器, 它使用潛在項向量vj作為目標, 而第四項等價于一個使重建誤差最小化的SDAE.從神經(jīng)網(wǎng)絡的角度來看, 當λS接近正無窮時, CIDL的概率圖模型的訓練將退化為同時訓練兩個疊加在一起的共同輸入層的神經(jīng)網(wǎng)絡. 由于參與評級矩陣, CIDL網(wǎng)絡比典型的神經(jīng)網(wǎng)絡復雜得多.

當λn/λv的比率接近正無窮時, CIDL將退化為兩步模型, 其中使用SDAE學習的潛在表示被直接放入?yún)f(xié)同主題回歸模型中. 另一個臨界點發(fā)生在λn/λv趨近于零時SDAE的解碼器基本失去功能. 通過實驗證實可得, 在這兩種情況下, 模型預測性能都會大大提高.

對于ui和vj, 給定當前W+, 計算相對于ui和vj的梯度并將它們設置為零, 得出以下結(jié)果:

對于給定U和V, 可以使用反向傳播學習算法來學習權重Wl以及每個層的偏差矢量bl. 關于Wl和bl的可能性的梯度如下:

通過交替更新U,V,Wl和bl, 可得到的局部最優(yōu)值. 本文使用 SGD ( Stochastic Gradient Descent, 隨機梯度下降)[17]算法也叫增量梯度下降法, 是在傳統(tǒng)梯度下降法的基礎上改進而來,收斂速度快很多, 是常用的參數(shù)訓練算法. SGD 通過最小化損失函數(shù)來訓練模型參數(shù), 根據(jù)每個樣本來迭代更新一次, 可以控制下降速率和迭代次數(shù), 使得參數(shù)的訓練更可控,以解決局部最優(yōu)問題. 該算法過程如算法1.

算法1. 增量梯度下降法Input: 評分矩陣 R, 特征向量維度 K, 學習率 η, 比例參數(shù) α, 正則參數(shù) λU, λV, λQ Output: U, V(1) 初始化: 用一個較小的值隨機構(gòu)造U, V 和;(2) while (error on validation set decrease);()()(3) (4)(5)(6)(7)(8)(9)(10)

本文對SDAE模型進行了改進, 并與協(xié)同過濾模型進行結(jié)合, 最后使用增量梯度下降算法解決了局部最優(yōu)化問題, 在數(shù)據(jù)處理與推薦準確性方面有了較大提升。

3 實驗和分析

3.1 評估計劃

在數(shù)據(jù)集中隨機選擇與每個用戶相關的P項以形成訓練集[18], 并將所有剩余的數(shù)據(jù)集用作測試集. 為了在稀疏和密集設置下評估和比較模型, 本文在實驗中分別將P設置為1和10. 對于P的每個值, 用不同的隨機選擇訓練集重復評估五次, 并記錄平均性能. 本文使用查全率作為性能度量, 由于評級信息采用隱式反饋的形式, 零條目可能是用戶對該項目不感興趣, 或者用戶不知道其存在. 因此, 精度不是一個合適的性能指標. 像大多數(shù)推薦系統(tǒng)一樣, 本文對候選項目的預測評級進行了排序[19], 并向目標用戶推薦前M項目. 每個用戶的查全率@M被定義為:

最終結(jié)果是所有用戶的平均查全率.

3.2 基線和實驗設置

本文中將協(xié)同深度學習算法(CIDL)同時與CMF算法[20]、SVDFeature 算法[21]、CTR 算法[8]以及DeepMusic[22]算法應用中的各項指標進行比較. 在實驗中, 本文首先使用一個驗證集來尋找 C M F、SVDFeature, CTR以及DeepMusic的最佳超參數(shù).CMF算法中將不同上下文的潛在因子的正則化超參數(shù)設置為10. 在網(wǎng)格搜索之后, CMF在等級矩陣和內(nèi)容矩陣的權重均為稀疏度為5. 密度設置中的權重分別為8和2. SVDFeature算法中, 用戶和項目的正則化超參數(shù)為0.004且學習率等于0.005. DeepMusic算法中,使用具有兩個卷積層的CNN. CTR算法中, 使用的參數(shù)為λu= 0.1,λv= 10,a= 1,b= 0.01,K= 50.

3.3 平均查全率分析

圖4和圖5顯示了在稀疏(P= 1)和密集(P= 10)設置下使用電影數(shù)據(jù)集比較CIDL算法, CTR算法,DeepMusic算法, CMF算法以及SVDFeature算法的結(jié)果. 由圖像可得, 無論在數(shù)據(jù)集密度稀疏還是密集,CIDL算法都優(yōu)于其他四種算法. 在數(shù)據(jù)密集的情況下雖然DeepMusic算法具有優(yōu)秀的體系結(jié)構(gòu), 但CTR算法在數(shù)據(jù)處理中更為優(yōu)秀. 在稀疏設置中, CMF算法大部分時間都比SVDFeature算法優(yōu)秀, 有時可以達到與CTR算法相當?shù)男阅? DeepMusic算法由于缺乏評分而表現(xiàn)不佳. 在密集的環(huán)境中, SVDFeature算法對于Netflix數(shù)據(jù)來說來說, 效果不如CMF. 在稀疏設置中2層CIDL的性能比CTR高出1.9%, 在密集設置下高出1.5%-2.0%. 由實驗可以得出, 深度學習和推薦系統(tǒng)的整合算法是成功的, 對于查全率有顯著的提升.

圖4 各算法在P=1時的對比圖

圖5 各算法在P=10時的對比圖

在稠密環(huán)境下使用不同Δn也有不同結(jié)果, 如圖6所示.

當λn趨近于無限大時,λn/λv將會趨近正無窮, 此時CIDL將退化為兩個單獨的模型. 在這種情況下,SDAE將以無監(jiān)督方式學習潛在項目表示, 然后將其直接放入CTR的簡化版本中. 這種情況下, 貝葉斯SDAE和基于矩陣分解的協(xié)同過濾組件之間沒有交互作用,預測性能將大大提高. 對于另一個極端, 當λn無限小時,λn/λv將趨近于近零, 此時 CIDL 退化為貝葉斯SDAE分量解碼器基本消失的情況. 此時貝葉斯SDAE組件基本消失, 編碼器將通過簡單矩陣分解學習潛在項目向量. 如圖6所示, 預測性能隨著λn變化而變化.當λn<0.1時, 查全率@M已經(jīng)非常接近PMF的結(jié)果(或甚至比PMF結(jié)果還要差).

圖6 在不同Δn的情況下各算法的比較

綜合以上實驗結(jié)果, 在大量數(shù)據(jù)的實驗證明下可知, 不論在數(shù)據(jù)密集或是數(shù)據(jù)稀疏的情況下CIDL算法都優(yōu)于CMF算法、SVDFeature算法、DeepMusic算法、CTR算法以及DeepMusic算法. 而在CIDL算法中算法的預測性能會隨著λn的變化而變化, 因此在CIDL算法中只有通過實驗找到最合適的λn值, 才能更好的提高算法效率.

4 結(jié)束語

本文中展示了通過聯(lián)合對內(nèi)容信息的深度學習和對評級(反饋)矩陣進行協(xié)作性過濾從而實現(xiàn)出色的性能的算法. CIDL算法是一個用于彌合最先進的深度學習模型和推薦系統(tǒng)之間差距的等級貝葉斯模型. 在深度學習方面, 除了獲得MAP估計的算法外, 本文還推導了一種基于采樣的CIDL貝葉斯處理算法, 作為反向傳播的貝葉斯廣義版本.

猜你喜歡
深度用戶模型
一半模型
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
深度觀察
深度觀察
深度觀察
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 98超碰在线观看| 在线看片免费人成视久网下载| 米奇精品一区二区三区| 成人精品视频一区二区在线 | 欧洲精品视频在线观看| 国产精品美乳| 2021国产精品自拍| 精品無碼一區在線觀看 | 欧美日本在线播放| 成人小视频网| 又粗又硬又大又爽免费视频播放| 久久亚洲日本不卡一区二区| 免费a在线观看播放| 激情视频综合网| 日韩乱码免费一区二区三区| 欧美性猛交xxxx乱大交极品| 国产亚洲精品资源在线26u| 国产亚洲精品91| 国产精品一区在线麻豆| 91福利片| 午夜天堂视频| 高清色本在线www| 国产1区2区在线观看| 九九免费观看全部免费视频| 国产91av在线| 欧美人在线一区二区三区| 免费一级毛片在线播放傲雪网| 色综合久久久久8天国| 午夜视频日本| 国产精品冒白浆免费视频| 亚洲美女一级毛片| 久久精品丝袜| 国产本道久久一区二区三区| 国产成人三级| 最新国产精品鲁鲁免费视频| 天天躁狠狠躁| 无码日韩人妻精品久久蜜桃| 一级福利视频| 欧美成人午夜视频免看| 午夜久久影院| 国产高清在线丝袜精品一区| 国产精品中文免费福利| 亚洲欧美自拍中文| 91欧美亚洲国产五月天| 无码专区国产精品一区| 国产69精品久久久久孕妇大杂乱| 亚洲国模精品一区| 日韩中文欧美| 亚洲无码在线午夜电影| 国产视频欧美| 好久久免费视频高清| 久久综合色视频| 99精品免费欧美成人小视频 | 成年A级毛片| 精品一区国产精品| www欧美在线观看| 亚洲免费福利视频| 日韩高清中文字幕| 国产午夜一级毛片| 尤物午夜福利视频| 国产尤物在线播放| 亚洲精品日产AⅤ| 国产真实乱了在线播放| 小说 亚洲 无码 精品| 精品国产污污免费网站| 亚洲第一香蕉视频| 玖玖精品视频在线观看| 久久精品这里只有精99品| 手机在线看片不卡中文字幕| 色成人综合| 国产精品999在线| 免费国产无遮挡又黄又爽| 日本不卡免费高清视频| 亚洲综合香蕉| 成人欧美在线观看| 婷婷久久综合九色综合88| 欧美精品xx| 国产SUV精品一区二区6| 欧美精品黑人粗大| 午夜福利视频一区| 原味小视频在线www国产| 老司国产精品视频|