色屁屁www影院免费观看入口,欧美性猛交ⅹxxx乱大交妖精,欧美激情第5页,欧美性猛交xxxx三人,欧美一a级做爰片大开眼界

達觀動態(tài)

達觀愿與業(yè)內(nèi)同行分享 助力各企業(yè)在大數(shù)據(jù)浪潮來臨之際一起破浪前行

達觀數(shù)據(jù):深度學習來一波,受限玻爾茲曼機原理及在推薦系統(tǒng)中的應用

深度學習相關(guān)技術(shù)近年來在工程界可謂是風生水起,在自然語言處理、圖像和視頻識別等領(lǐng)域得到極其廣泛的應用,并且在效果上更是碾壓傳統(tǒng)的機器學習。一方面相對傳統(tǒng)的機器學習,深度學習使用更多的數(shù)據(jù)可以進行更好的擴展,并且具有非常優(yōu)異的自動提取抽象特征的能力。

另外得益于GPU、SSD存儲、大容量RAM以及大數(shù)據(jù)分布式計算平臺等的快速發(fā)展,海量數(shù)據(jù)的處理能力大幅度提升。同時,“千人千面”的個性化推薦系統(tǒng)已經(jīng)融入到我們的日常生活的方方面面,并且給企業(yè)帶來了巨大的收益。智能推薦系統(tǒng)本質(zhì)上是對原始的用戶行為數(shù)據(jù)進行深入地分析和挖掘,得到用戶的興趣偏好,進行精準推薦。所以,將深度學習和推薦系統(tǒng)相結(jié)合也成為了工業(yè)界的研究熱點,Google、Facebook、Netflix等公司很早就開始研究基于深度學習的推薦系統(tǒng),并且取得了顯著的效果提升。(達觀數(shù)據(jù) 于敬)

達觀數(shù)據(jù)目前服務的公司有幾百家,所提供的個性化推薦服務,不僅給企業(yè)帶來了巨大的經(jīng)濟收益,同時大大提升了用戶的粘性和活躍度,為企業(yè)的長遠發(fā)展提供持續(xù)且高質(zhì)量的技術(shù)支撐。當然這背后離不開達觀數(shù)據(jù)多年來在個性化推薦算法上的持續(xù)打磨和對技術(shù)的精益求精,離不開在推薦效果優(yōu)化上積累的豐富寶貴經(jīng)驗。本文選取了達觀推薦系統(tǒng)眾多推薦算法的其中之一:受限玻爾茲曼機(Restricted Boltzmann Machine,RBM),進行詳細介紹。主要包括三部分:RBM介紹、RBM的數(shù)學原理、RBM在推薦系統(tǒng)中的應用。

一、RBM介紹
1

RBM和Netflix

提到基于RBM的推薦系統(tǒng),不得不提Netflix競賽。2006年,Netflix公司為了提升推薦效果,懸賞百萬美元組織了一場競賽,讓大家窮盡所能以使其推薦算法的效果能夠提升10%以上。在競賽的后半程,RBM異軍突起。當時以SVD++為核心的各種模型幾乎已經(jīng)陷入了僵局,很多人在此基礎(chǔ)上加了pLSA、LDA、神經(jīng)元網(wǎng)絡算法、馬爾可夫鏈、決策樹等等,但效果提升并不明顯,各個參賽隊伍基本上進入到了比拼trick與融合模型數(shù)據(jù)的體力活階段了。

但是,RBM的出現(xiàn),把整個競賽推進到了一個新的臺階。最終在2009年,“雞尾酒”團隊將上百個模型進行融合以10.05%的結(jié)果獲得了此次競賽的終極大獎。但是Netflix后來的線上系統(tǒng)并沒有采用如此復雜的全套算法,而是僅僅應用了最核心的兩個算法,其中就有受限玻爾茲曼機,另外一個就是耳熟能詳?shù)钠娈愔捣纸狻?/span>

2

RBM的層次結(jié)構(gòu)

?

RBM是一種可用隨機神經(jīng)網(wǎng)絡來解釋的概率圖模型,主要用于協(xié)同過濾、降維、分類、回歸、特征學習和主題建模。RBM包括兩層,第一個層稱為可見層,第二個層稱為隱藏層。基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機1129

圖 1 RBM兩層結(jié)構(gòu)

如圖1所示,每個圓圈稱為節(jié)點,代表一個與神經(jīng)元相似的單元,而運算就在這些節(jié)點中進行。每一個神經(jīng)元是一個二值單元,也就是每一個神經(jīng)元的取值只能等于0或1。節(jié)點之間的連接具有如下特點:層內(nèi)無連接,層間全連接。

RBM和BM的不同之處就在于:BM允許層內(nèi)節(jié)點連接,而RBM不允許。這就是受限玻爾茲曼機中受限二字的本意。每一個節(jié)點對輸入數(shù)據(jù)進行處理,同時隨機地決定是否繼續(xù)傳輸輸入數(shù)據(jù),這里的“隨機”是指改變輸入數(shù)據(jù)的系數(shù)是隨機初始化的。每個可見層的節(jié)點表示有待學習數(shù)據(jù)集合中一個物品的一個低層次特征。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機1410

圖 2 輸入數(shù)據(jù)通過節(jié)點的過程

接下來看一下單個輸入x是如何通過這個兩層網(wǎng)絡的,如圖2所示。在隱藏層的節(jié)點中,x和一個權(quán)重w相乘,再和所謂的偏差b相加。這兩步的結(jié)果輸入到一個激活函數(shù)中,進而得到節(jié)點的輸出,也就是對于給定輸入x,最終通過節(jié)點后的信號強度。如果用公式表示的話,即:

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機1572

sigmoid函數(shù)是神經(jīng)網(wǎng)絡中常用的激活函數(shù)之一,其定義為:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機1605

接下來看看多項輸入節(jié)點是如何整合到隱藏節(jié)點中的,如圖4所示。每個輸入x分別與各自的權(quán)重w相乘,再將結(jié)果求和后與偏差b想加,得到結(jié)果后輸入到激活函數(shù)中,最后得到節(jié)點的輸出值a。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機1695

圖 4 多個輸入通過一個隱藏節(jié)點的過程

由于可見層的所有節(jié)點的輸入都會被傳送到隱藏層中的每個節(jié)點,所以RBM可以被定義成一種對稱二分圖。如圖5所示,當多個輸入通過多個隱藏節(jié)點時,在隱藏層的每個節(jié)點中,都會有 x和權(quán)重w相乘,有4個輸入,而每個輸入x會有三個權(quán)重,最終就有12個權(quán)重,從而可以形成一個行數(shù)等于輸入節(jié)點數(shù)、列數(shù)等于輸出節(jié)點數(shù)的權(quán)重矩陣。隱藏層的每個節(jié)點接收4個可見層的輸入與各自權(quán)重相乘后的輸入值,乘積之和與偏差值b相加,再經(jīng)過激活運算后得到隱藏層每個節(jié)點的輸出a。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機1957

圖 5 多個輸入通過多個隱藏節(jié)點的過程

再進一步,如果是想構(gòu)建一個二層的深度神經(jīng)網(wǎng)絡,如6所示,將第一隱藏層的輸出作為第二隱藏層的輸入,然后再通過不定數(shù)量的隱藏層,最終就可以到達分類層。(達觀數(shù)據(jù) 于敬)

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機2082

圖 6 多隱藏層的處理過程

 

3

RBM的重構(gòu)

這里介紹下RBM在無監(jiān)督情況下如何重構(gòu)數(shù)據(jù)的,其實就是在可見層和第一隱藏層之間多次進行正向和反向傳遞,但并不涉及更深的網(wǎng)絡結(jié)構(gòu)。在重構(gòu)階段,第一隱藏層的激活值作為反向傳遞的輸入。這些輸入值和相應的權(quán)重相乘,然后對這些乘積求和后再與偏差相加,得到的結(jié)果就是重構(gòu)值,也就是原始輸入x的近似值。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機2272

圖 7 RBM重構(gòu)過程

由于RBM的初始權(quán)重是隨機初始化的,所以重構(gòu)值與原始輸入之間的差別往往很大。r值與輸入值之差定義為重構(gòu)誤差,經(jīng)由反向傳遞來不斷修正RBM的權(quán)重,經(jīng)過不斷迭代,可以使得重構(gòu)誤差達到最小。

RBM在正向傳遞過程中根據(jù)輸入值來計算節(jié)點的激活值,也就是對輸入x進行加權(quán)后得到輸出為a的概率p(a|x;w)。 而在反向傳遞時,激活值則變成輸入,輸出值變成了原始數(shù)據(jù)的重構(gòu)值,也就是RBM在估計激活值為a時而輸入值為x的概率p(x|a;w),激活值的權(quán)重w和正向傳遞中的一樣。最終兩個過程相結(jié)合,得到輸入?為x?和激活值為?a?的聯(lián)合概率分布p(x, a)。

重構(gòu)不同于平時所說的回歸、分類。重構(gòu)是在預測原始輸入數(shù)據(jù)的概率分布,同時預測許多不同點的值,這就是生成學習。RBM用KL(Kullback Leibler)散度來衡量預測的概率分布與基準分布之間的距離。基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機2682

KL散度衡量的是兩條曲線下方不重疊區(qū)域的面積,RBM的優(yōu)化算法就是要最小化這個面積,從而使得權(quán)重在與第一隱藏層的激活值相乘后,可以得到與原始輸入盡可能近似的結(jié)果。如圖7所示,左半邊是一組原始輸入的概率分布曲線p,另外一個是重構(gòu)值的概率分布曲線q,右半邊的圖則顯示了兩條曲線之間的差異。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機2827

圖 8 RBM重構(gòu)過程中誤差表示

在整個重構(gòu)過程中,RBM會根據(jù)重構(gòu)誤差反復的迭代計算,以盡可能準確地學習出原始值,最終看上去兩條概率分布曲線會盡可能地逼近,如圖8所示。基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機2935

圖 9 RBM概率密度曲線的逼近

利用RBM的堆疊可以構(gòu)造出深層的神經(jīng)網(wǎng)絡模型——深度置信網(wǎng)絡(Deep Belief Net, DBN),感興趣的話可以查閱相關(guān)資料深入了解。在處理無監(jiān)督學習問題時,使用一定的數(shù)據(jù)集合來訓練網(wǎng)絡,設(shè)置下可見層節(jié)點的值匹配下數(shù)據(jù)集合中的值。然后使用訓練好的網(wǎng)絡,對未知數(shù)據(jù)進行計算就可以進行分類。(達觀數(shù)據(jù) 于敬)

二、RBM的數(shù)學原理

在RBM中,有如下性質(zhì):當給定可見層節(jié)點的狀態(tài)時,隱藏層各節(jié)點之間是否激活是條件獨立的;反之當給定隱藏層節(jié)點的狀態(tài)時,可見層各節(jié)點之間是否激活也是條件成立的。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3222

圖 10 RBM的網(wǎng)絡結(jié)構(gòu)

圖10是一個RBM的網(wǎng)絡結(jié)構(gòu)示意圖,其中:

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3280:分別表示可見層和隱藏層的神經(jīng)元數(shù)量;

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3300:可見層的狀態(tài)向量,基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3311表示可見層中第基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3319個神經(jīng)元的狀態(tài);

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3328:可見層的狀態(tài)向量,基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3339表示隱藏層中第基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3347個神經(jīng)元的狀態(tài);

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3356:可見層的偏置向量,基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3367表示可見層中第基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3375個神經(jīng)元的偏置;

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3384隱藏層的偏置向量,基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3395表示隱藏層中第基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3403個神經(jīng)元的偏置;

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3412:隱藏層和可見層之間的權(quán)重矩陣,基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3429表示隱藏層中第基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3437個神經(jīng)元與可見層中第基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3403個神經(jīng)元之間的連接權(quán)重

對于RBM,其參數(shù)主要是可見層和隱藏層之間的權(quán)重、可見層的偏置和隱藏層的偏置,記為基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3506,可將其看作是W、a、b中所有分量拼接起來的到的長向量。

RBM是一個基于能量的模型,對于給定的狀態(tài)(v, h),可以定義能量函數(shù)基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3573

進而可以的到(v, h)的聯(lián)合概率分布基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3595

其中基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3600

為歸一化因子

于是,可以定義邊緣概率分布

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3623 基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3625

結(jié)合聯(lián)合概率分布、邊緣概率分布和sigmoid函數(shù),可以得到:

在給定可見層狀態(tài)時,隱藏層上某個神經(jīng)元被激活的概率基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3685

給定隱藏層狀態(tài)時,可見層上某個神經(jīng)元被激活的概率基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3712

給定訓練樣本后,訓練RBM也就是調(diào)整參數(shù)基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3734,使得RBM表示的概率分布盡可能與訓練數(shù)據(jù)保持一致

給定訓練集:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3769

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3771是訓練樣本的數(shù)量,基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3781,則訓練RBM的目標就是最大化似然函數(shù):基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3803

進一步取log函數(shù):基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3816

使用梯度上升法進行上述最優(yōu)化問題的求解,梯度上升法的形式是:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3849

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3851為學習率,最終可以得到:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3865基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3867基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3869

Hinton給出了高效尋來呢RBM的算法——對比散度(Contrastive Divergence,簡稱CD)算法。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3931,取初始值:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3938,然后執(zhí)行k步Gibbs抽樣,其中第t步先后執(zhí)行:

  • 利用基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3967采樣出基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3971

  • 利用基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3975采樣出基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機3979

最后,關(guān)于RBM的評估方法,由于本身算法的限制,一般采用近似方法進行評估,重構(gòu)誤差就是其中之一。重構(gòu)誤差以訓練樣本作為初始狀態(tài),經(jīng)過RBM的分布進行一次Gibbs轉(zhuǎn)移后與原數(shù)據(jù)的差異量。重構(gòu)誤差在一定程度上反映了RBM對訓練樣本的似然度,雖然不完全可靠,但計算簡單,在實踐中非常有用。(達觀數(shù)據(jù) 于敬)

三、如何將RBM應用到推薦系統(tǒng)中

?

本質(zhì)上來說,RBM是一個編碼解碼器:將原始輸入數(shù)據(jù)從可見層映射到隱藏層,并且得到原始輸入數(shù)據(jù)的隱含因子,對應的是編碼過程;然后利用得到的隱藏層向量在映射回可見層,得到新的可見層數(shù)據(jù),對應的是解碼過程。而優(yōu)化目標是希望讓解碼后的數(shù)據(jù)和原始輸入數(shù)據(jù)盡可能的接近。在推薦場景中,可以獲取到用戶對物品的評分矩陣,進過RBM的編碼-解碼過程處理后,不僅得到了已有評分對應的新評分,同時對未評分的物品進行預測,并將預測分數(shù)從高到低排序就可以生成推薦列表。換句話說,就是將RBM應用到協(xié)同過濾中。

但是這個推薦過程需要解決兩個問題:

1)RBM中的節(jié)點都是二元變量, 如果用這些二元變量來對用戶評分進行建模?

2)實際業(yè)務場景中,用戶只會對很少的物品評分,用戶評分行為矩陣都是非常稀疏的,那么如何處理這些缺失的評分?

Ruslan Salakhutdinov等人首次提出了使用RBM求解Netflix競賽中的協(xié)同過濾問題。對傳統(tǒng)的RBM進行改進:可見層使用Softmax神經(jīng)元;用戶只對部分物品評分,而對于沒有評分的物品使用一種特殊的神經(jīng)元表示,這種神經(jīng)元不與任何隱藏層神經(jīng)元連接。具體結(jié)構(gòu)如圖11所示。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4646

圖 11 RBM處理推薦問題

從圖11中可以看到,Softmax神經(jīng)元是一個長度為K的向量(圖中K為5),并且這個向量每次只有一個分量為1,而且第i個單元為1僅當用戶對該物品打分為i是才會置為1,其余為0。從而可以得到可見層單元和隱藏層單元被激活的概率:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4796基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4798

使用前面提到的CD算法,各個參數(shù)的學習過程如下:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4825

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4827

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4829

RBM經(jīng)過學習以后,可以得到整個網(wǎng)絡的全部參數(shù)。給定一個用戶u和一個物品i,預測評分R(u, i)過程如下:

 

1)? 將用戶u的所有評分作為RBM的softmax單元的輸入

2)? 對于所有的隱藏單元j計算激活概率基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4930

3)對于所有的k=1,2,…,K, 計算基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4952

4)取期望值作為預測結(jié)果,比如基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機4969

以上RBM只用到用戶對物品的評分,忽略了很重要的信息:用戶瀏覽過哪些物品,但是并沒有評的情況。條件RBM (Conditional Restricted Boltzmann Machine)對這種信息可以進行建模。基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機5079

圖 12 條件RBM處理推薦過程

其中r是m維的向量,基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機5128為1的話,表示用戶對瀏覽過第i個電影,加入r之后的條件概率:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機5160基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機5162

權(quán)重D的學習過程:基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機5174

經(jīng)過前面的分析,對RBM的內(nèi)部算法原理、編碼和解碼過程以及在推薦中的應用等有了基本的了解。在推薦業(yè)務場景中,一般有兩種使用方式:

一是進行離線計算,也就是對大量用戶都批量計算推薦結(jié)果,當然計算量往往很乏;

 

二是將訓練號的模型保存下來,然后實時生成推薦結(jié)果,也就是排序的過程。在達觀推薦架構(gòu)中,RBM是以第二種方式進行應用中。這種方式避免了大量復雜的離線計算,可以對多種單一離線結(jié)果進行融合排序,應用上更加靈活。

基于深度學習的推薦系統(tǒng)之受限玻爾茲曼機5390

圖 13 達觀推薦架構(gòu)圖

其實深度學習的很多模型都可以應用于推薦系統(tǒng),方式也非常多。達觀數(shù)據(jù)精于技術(shù),對于推薦系統(tǒng)和深度學習相結(jié)合以持續(xù)優(yōu)化推薦效果的探索也從未停止,后續(xù)也會不斷地分享相關(guān)成果,敬請期待。

A

BOUT

關(guān)于作者

于敬:達觀數(shù)據(jù)聯(lián)合創(chuàng)始人,中國計算機學會(CCF)會員,第23屆ACM CIKM Competition競賽國際冠軍,達觀數(shù)據(jù)個性化推薦組總負責人,負責達觀數(shù)據(jù)智能推薦系統(tǒng)的架構(gòu)設(shè)計和開發(fā)、推薦效果優(yōu)化等。同濟大學計算機應用技術(shù)專業(yè)碩士,曾先后在盛大創(chuàng)新院、盛大文學和騰訊文學數(shù)據(jù)中心從事用戶行為建模、個性化推薦、大數(shù)據(jù)處理、數(shù)據(jù)挖掘和機器學習相關(guān)工作,對智能推薦、機器學習、大數(shù)據(jù)技術(shù)和分布式系統(tǒng)有較深入的理解和多年實踐經(jīng)驗。