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

達(dá)觀動態(tài)

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

簡談馬爾可夫模型在個性化推薦中的應(yīng)用

 

隨著互聯(lián)網(wǎng)的飛速發(fā)展,個性化推薦已經(jīng)成為各大網(wǎng)站、手機(jī)客戶端的必備服務(wù)。如何持續(xù)優(yōu)化、進(jìn)一步提高推薦的精準(zhǔn)度是一項復(fù)雜又令人興奮的工程。

主流的推薦系統(tǒng)有協(xié)同過濾、基于內(nèi)容的推薦、基于社交網(wǎng)絡(luò)的推薦等。

很多推薦算法沒有考慮到用戶的短期興趣,而用戶的興趣又是隨著時間動態(tài)變化的,所以有效地捕獲用戶的興趣偏好轉(zhuǎn)換對提高推薦的準(zhǔn)確性有著很大的輔助作用。

馬爾可夫模型通過觀察用戶短期的行為數(shù)據(jù),生成一個狀態(tài)轉(zhuǎn)移矩陣,根據(jù)該矩陣預(yù)測接下來一個時間點(diǎn)的用戶行為,有效地利用了用戶的短期興趣偏好信息。

 

概念

安德雷·安德耶維齊·馬爾可夫Андрей Андреевич Марков(1856.6.14-1922.7.20),俄國數(shù)學(xué)家。

1874年馬爾可夫入圣彼得堡大學(xué),師從切比雪夫,畢業(yè)后留校任教。

1886年當(dāng)選為圣彼得堡科學(xué)院院士。馬爾可夫的主要研究領(lǐng)域在概率和統(tǒng)計方面,他因提出馬爾可夫鏈的概念而享有盛名。

馬爾可夫鏈已經(jīng)成功應(yīng)用到物理、化學(xué)、語音識別、信息科學(xué)、金融等領(lǐng)域,谷歌所使用的網(wǎng)頁排序算法就是由馬爾可夫鏈定義的。

1安德雷·安德耶維齊·馬爾可夫

馬爾可夫過程

對于一個隨機(jī)過程,如果其未來所處的狀態(tài)僅與其當(dāng)前狀態(tài)有關(guān),而與過去的狀態(tài)無關(guān),則該隨機(jī)過程被稱為馬爾可夫過程。

 

馬爾可夫鏈

假設(shè)馬爾可夫過程?\left\{ Xn,n\in T\right\}T ?的參數(shù)集T是離散的時間集合,?T=\left\{ 0,1,2,3… \right\}

則相應(yīng)?Xn?取值集合空間是離散的狀態(tài)集?I=\left\{ i_{0}, i_{1}, i_{2}, i_{3},...\right\}

設(shè)有隨機(jī)過程?\left\{ Xn,n\in T\right\}?,

若對于任意的整數(shù)?n\in T?和任意?i_{0},i_{1},...,i_{n+1}\in I?,

條件概率滿足

P\left\{ X_{n+1} =i_{n+1} |X_{0} =i_{0},X_{1} =i_{1},...,X_{1=n} =i_{n}\right\}=P\left\{ X_{n+1} =i_{n+1}|X_{n} =i_{n}\right\}

則稱?\left\{ Xn,n\in T \right\}?為馬爾可夫鏈。?I=\left\{ 1,2,… \right\}

簡單點(diǎn)就是說,時間和狀態(tài)都是離散的馬爾可夫過程即為馬爾可夫鏈。

 

轉(zhuǎn)移概率

p_{ij}\left( n\right)=P\left\{ X_{n+1} =j|X_{n}=i\right\}

為馬爾可夫鏈?\left\{ X_{n},n\in T \right\}?在時刻n的一步轉(zhuǎn)移概率,其中?i,j\in I?,簡稱為轉(zhuǎn)移概率。

轉(zhuǎn)移概率矩陣

設(shè)P表示一步轉(zhuǎn)移概率?P_{ij}?所組成的矩陣,且狀態(tài)空間?I=\left\{ 1,2,… \right\}?,則

333333

稱為系統(tǒng)狀態(tài)的一步轉(zhuǎn)移概率矩陣,它具有的性質(zhì):

(1)?p_{ij}\geq0,i,j\in I?;

(2)?\Sigma_{j\in I}p_{ij}=1,i\in1?.

 

n步轉(zhuǎn)移概率、轉(zhuǎn)移矩陣

p_{ij^{n}}=P\left\{ X_{m+n} =j|X_{m}=i\right\}

為馬爾可夫鏈?\left\{ X_{n} ,n\in T\right\}?的n步轉(zhuǎn)移概率,并稱?P^{n}=\left( p_{ij^{n}} \right)?為馬爾可夫鏈的n步轉(zhuǎn)移矩陣。

舉個栗子

說到這里,可能還會有人問“隨機(jī)過程是啥玩意兒”,“馬爾可夫鏈到底是什么鬼”。

數(shù)學(xué)定義總是簡單、精準(zhǔn)、嚴(yán)謹(jǐn),幾乎沒有邏輯漏洞,但可能不是特別容易理解,那么這個小節(jié)我們舉幾個栗子,更形象的解釋下這些概念。

隨機(jī)過程,就是一系列隨機(jī)變量的集合。

比如,每丟一次硬幣,便產(chǎn)生一個隨機(jī)變量X,那么一次又一次的丟下去,便產(chǎn)生一系列的隨機(jī)變量X1,X2,…,Xi,…。隨機(jī)變量序列集合起來就是一個隨機(jī)過程

那么馬爾可夫鏈又是什么呢?

它其實是隨機(jī)過程的一種,具體是什么還是舉個例子吧。

無忌是達(dá)觀數(shù)據(jù)的員工,每天下午4點(diǎn)到5點(diǎn)有仨狀態(tài):吃水果(公司免費(fèi)提供的、各種管飽)、寫代碼、技術(shù)交流,這就是傳說中的狀態(tài)分布。那么明天的這個時間段無忌會做什么呢?后天呢?大后天呢?假如他的狀態(tài)轉(zhuǎn)移是有概率的,比如今天吃水果,那么明天還吃水果的概率是0.3,寫代碼的概率是0.6,技術(shù)交流的概率是0.1。

直接看下表:

66無忌的狀態(tài)轉(zhuǎn)移概率

左邊一列是今天的狀態(tài),上面一行是明天的狀態(tài)。

圖中的0.1表示的是無忌今天吃水果,第二天技術(shù)交流的概率。

這就構(gòu)成了一階轉(zhuǎn)移概率矩陣。

這個例子中,無忌明天的狀態(tài)僅僅與今天的狀態(tài)有關(guān),與過去無關(guān),同時三種狀態(tài)是離散的,構(gòu)成了一個馬爾可夫鏈。

 

推薦應(yīng)用

用戶行為分析

為了讓推薦結(jié)果符合用戶口味,我們需要深入了解用戶。如何才能了解一個人呢?

《論語 · 公冶長》中,

“聽其言,觀其行?!?/p>

也就是說,可以通過用戶留下的文字和行為了解用戶的需求。

用戶行為數(shù)據(jù)最簡單的存在方式就是日志,用戶的每次瀏覽、點(diǎn)擊、購買、收藏等都記錄在日志中,這些行為數(shù)據(jù)對于接下來的構(gòu)建轉(zhuǎn)移概率矩陣有著至關(guān)重要的作用。

假如在某購物網(wǎng)站中,對某物品的一次購買,稱作一個狀態(tài)。

某用戶在?t_{1}?時刻購買了物品a,這里我們定義為狀態(tài){a};

在接下來時刻?t_{2}?該用戶又購買了物品b和c,則由狀態(tài){a}轉(zhuǎn)移到了狀態(tài)或{c};

這時在?t_{3}?時刻購買了d,狀態(tài)轉(zhuǎn)移到了{(lán)d},這樣的話用戶不停的購買,狀態(tài)也不停地轉(zhuǎn)移。

形成了一條購買鏈,如圖。

444某用戶的購買鏈

在這個例子中,我們僅僅討論了針對單個用戶如何構(gòu)建購買鏈,對于所有用戶來說,道理一樣,只不過狀態(tài)集擴(kuò)大了而已。

 

轉(zhuǎn)移矩陣的構(gòu)建及使用

我們先討論下非個性化馬爾可夫模型,即假設(shè)每一個用戶的轉(zhuǎn)移矩陣是相同的,這樣的話個性化推薦只能體現(xiàn)在將轉(zhuǎn)移矩陣應(yīng)用在用戶的最后一次行為操作。

繼續(xù)舉個例子,通過對某段時間內(nèi)所有用戶行為進(jìn)行分析,抽取出這些狀態(tài)轉(zhuǎn)移樣本數(shù)據(jù):(a,b,c)->(b,c)、(b,c)->(a,b),然后我們可以得到如下轉(zhuǎn)移矩陣M:

7777777777轉(zhuǎn)移矩陣

假如某個用戶當(dāng)前的操作物品是a、c,那么根據(jù)上面得出的轉(zhuǎn)移矩陣,我們就可以計算出接下來該用戶操作各個物品的程度,對這些結(jié)再進(jìn)行標(biāo)準(zhǔn)化后就可以認(rèn)為是接下來對各個物品進(jìn)行操作的概率,

9這個計算邏輯看起來可能不是特別容易理解,直接上公式,簡潔明了!

00最后對1212

進(jìn)行標(biāo)準(zhǔn)化即可得到接下來對a、b、c的操作概率。

3535其中A是用戶當(dāng)前的行為矩陣,M為計算出來的轉(zhuǎn)移矩陣,對結(jié)果F進(jìn)行標(biāo)準(zhǔn)化后即可得到未來用戶行為的概率預(yù)測矩陣。有了當(dāng)前行為以及概率預(yù)測矩陣,我們就可以根據(jù)概率大小進(jìn)行排序,優(yōu)先推出概率大的物品,達(dá)到個性化的目的。

而對于個性化馬爾可夫模型,可以怎么處理呢?

這里我們可以將對物品的偏好轉(zhuǎn)化為對特征的偏好,假如某個物品的特征是「娛樂、影視」,那么對該物品的一次行為操作可以轉(zhuǎn)化為對「娛樂」、「影視」的操作。

這樣,通過對某個用戶的歷史行為日志進(jìn)行挖掘分析,就可以得出用戶在操作「娛樂」特征的情況下,下個時間段操作「影視」的概率,也就構(gòu)成了用戶的特征喜好狀態(tài)轉(zhuǎn)移矩陣。

這樣的話,可以計算出每個用戶的特征喜好狀態(tài)轉(zhuǎn)移矩陣,達(dá)到真正意義上的個性化。

 

多行為加權(quán)融合

上面提到的轉(zhuǎn)移矩陣的計算是基于用戶的某一種行為操作,即通過用戶的單一行為來得到用戶的偏好轉(zhuǎn)換。

為了能更好的表示用戶的喜好狀態(tài)轉(zhuǎn)換,可以通過多行為加權(quán)融合的方式來解決。

假如用戶的行為操作有點(diǎn)擊、購買、收藏、點(diǎn)贊,那么可以對每種行為類型計算出特征喜好狀態(tài)轉(zhuǎn)移矩陣,并得出用戶在下個時刻的操作列表,也就是推薦列表,最后將多個推薦列表進(jìn)行加權(quán)融合得出最終的列表結(jié)果。

 

多階馬爾科夫融合

考慮到用戶操作行為的隨機(jī)性,用戶從狀態(tài)s1到狀態(tài)s5可能受到s2、s3或者其他因素的影響。并且在個性化推薦長尾現(xiàn)狀的部分影響下,單個用戶在極短時間內(nèi)興趣偏好不會發(fā)生太大變化。

這里可以通過采用多階馬爾可夫模型融合的方式進(jìn)行對這種情況進(jìn)行優(yōu)化。比如一段時間內(nèi)用戶從狀態(tài)s1到s2,再到s5,即s1->s2->s5,那么這次的狀態(tài)轉(zhuǎn)移記為s1->s5的二階轉(zhuǎn)移次數(shù)。

通過計算用戶行為的多階狀態(tài)轉(zhuǎn)移矩陣,基于相關(guān)矩陣得出預(yù)測列表,最后加權(quán)融合即可得到我們需要的推薦列表。

這里具體采用幾階模型,可以根據(jù)實際場景進(jìn)行效果測試,階數(shù)越高,預(yù)測的結(jié)果更大的基于用戶長期的興趣偏好,階數(shù)約低,預(yù)測的結(jié)果更大的是基于用戶短時間內(nèi)的興趣偏好。

 

總結(jié)

本文首先簡單介紹了馬爾可夫相關(guān)的數(shù)學(xué)概念,然后通過例子形象地解釋了隨機(jī)過程、馬爾可夫、轉(zhuǎn)移概率等實際含義。

在推薦系統(tǒng)的應(yīng)用上,分析了如何通過用戶操作記錄進(jìn)行構(gòu)建狀態(tài)轉(zhuǎn)移矩陣以及轉(zhuǎn)移矩陣的使用。

考慮到推薦的效果,我們又進(jìn)一步介紹了多行為加權(quán)融合以及多階馬爾可夫融合的兩個方案。

 

作者簡介

張可,達(dá)觀數(shù)據(jù)推薦算法工程師,負(fù)責(zé)達(dá)觀數(shù)據(jù)個性化推薦引擎的研發(fā)、優(yōu)化,以及推薦系統(tǒng)中機(jī)器學(xué)習(xí)算法的具體應(yīng)用。一直在路上。