转基于概率的矩阵分解原理详解(PMF)
上一篇博客講到了推薦系統(tǒng)中常用的矩陣分解方法,RegularizedMF是對(duì)BasicMF的優(yōu)化,而PMF是在RegularizedMF的基礎(chǔ)上,引入概率模型進(jìn)一步優(yōu)化。假設(shè)用戶U和項(xiàng)目V的特征矩陣均服從高斯分布,通過(guò)評(píng)分矩陣已知值得到U和V的特征矩陣,然后用特征矩陣去預(yù)測(cè)評(píng)分矩陣中的未知值。
若用戶U的特征矩陣滿足均值為0,方差為σ的高斯分布,則有如下等式。之所以連乘,是因?yàn)閁的每個(gè)觀察值Ui都是獨(dú)立同分布的。
p(U|σ2U)=∏Ni=1N(Ui|0,σ2UI)
同理:項(xiàng)目V的特征矩陣滿足如下等式:
p(V|σ2V)=∏Ni=1N(Vi|0,σ2VI)
其中N(x|u,σ2)表示變量x滿足均值為u,方差為σ2的高斯分布。
假設(shè)真實(shí)值R和預(yù)測(cè)值R∗之差也符合高斯分布,那么有如下概率分布表示,P(Rij−UTiVj|0,δ2)通過(guò)平移有P(Rij|UTiVj,δ2),那么:
那么評(píng)分矩陣R的條件概率如下:
P(R|U,V,σ2)=∏Ni=1∏Mj=1[N(Rij|UTiVj,σ2)]Iij
這里U和V是參數(shù),其余看作超參數(shù)(即作為U和V的參數(shù)-參數(shù)的參數(shù),PMF中通過(guò)人工調(diào)整超參數(shù),后面要寫(xiě)的BPMF是通過(guò)MCMC方法自動(dòng)選出最優(yōu)超參數(shù)的)。假設(shè)U和V互相獨(dú)立,可以通過(guò)貝葉斯公式得到R,U,V的聯(lián)合分布:
P(U,V|R,σ2,σ2U,σ2V)=P(R|U,V,σ2)P(U|σ2U)P(V|σ2V)=∏Ni=1∏Mj=1[N(Rij|UTiVj,σ2)]Iij∏Ni=1N(Ui|0,σ2UI)∏Mj=1N(Vj|0,σ2iI)
為什么要轉(zhuǎn)換為這種形式呢?這還要從極大似然估計(jì)(MLE)和最大后驗(yàn)概率(MAP)說(shuō)起。
最大似然估計(jì):假設(shè)觀察數(shù)據(jù)滿足F分布,但是不知道分布參數(shù),那么MLE就是根據(jù)采樣數(shù)據(jù)來(lái)評(píng)估出參數(shù),而且假設(shè)所有采樣(觀察的樣本數(shù)據(jù))都是獨(dú)立同分布。
服從參數(shù)為θ的F分布的函數(shù)我們用fD來(lái)表示,然后我們從這個(gè)分布中抽出一個(gè)具有n個(gè)值的采樣X(jué)1,X2……Xn,那么樣本的概率表示為:
P(x1,x2,…,xn)=fD(x1,x2,…,xn|θ)
仔細(xì)想想,當(dāng)前樣本數(shù)據(jù)已知,未知參數(shù)只有θ,我們就要想θ為多少才會(huì)產(chǎn)生這樣的樣本呢?我們就要找一個(gè)合適的θ使得當(dāng)前的樣本數(shù)據(jù)滿足該分布。極大似然估計(jì)的目標(biāo)是在所有可能的θ取值中,尋找一個(gè)值使這個(gè)采樣的“可能性”最大化。通常采用通過(guò)求極值的方式求得關(guān)于θ一元函數(shù)的最優(yōu)值的方式。
求極大似然估計(jì)(MLE)的一般步驟是:
由總體分布導(dǎo)出樣本的聯(lián)合概率函數(shù) (或聯(lián)合密度);
把樣本聯(lián)合概率函數(shù)(或聯(lián)合密度)中自變量看成已知常數(shù),而把參數(shù) 看作自變量,得到似然函數(shù)L(θ);
求似然函數(shù)L(θ) 的最大值點(diǎn)(常常轉(zhuǎn)化為求ln L(θ)的最大值點(diǎn)) ,即θ的MLE;
在最大值點(diǎn)的表達(dá)式中, 用樣本值代入就得參數(shù)的極大似然估計(jì)值 .
似然函數(shù):
通常取對(duì)數(shù)(對(duì)數(shù)似然),以便將乘化為加:
這樣,待估計(jì)參數(shù)就可以表示為如下形式:
同理若待估計(jì)參數(shù)有兩個(gè),比如樣本服從高斯分布,如下式,可以通過(guò)求偏導(dǎo)數(shù)得到估計(jì)值。
這樣,PMF為何要轉(zhuǎn)換為R,U,V的聯(lián)合分布,且U和V在前面就解釋通了,U和V作為待求參數(shù),要利用R里的已知值計(jì)算出來(lái)(評(píng)估),然后為何會(huì)轉(zhuǎn)為等式右邊,這得需要最大后驗(yàn)概率的知識(shí)。
最大后驗(yàn)概率:
最大后驗(yàn)估計(jì),融入了要估計(jì)量的先驗(yàn)分布在其中,也就是說(shuō)待估計(jì)量θ本身也滿足某概率分布g(θ)(已知), 稱為先驗(yàn)分布。這樣根據(jù)貝葉斯理論,似然函數(shù)有如下表示:(這里f(θ|x)等價(jià)l(θ|x)是似然函數(shù),表示已知樣本數(shù)據(jù)x集合,來(lái)評(píng)估θ的值(條件概率),但后面的等式就只關(guān)乎密度函數(shù)f了)。
貝葉斯公式大家都懂,這里我就說(shuō)說(shuō)分母為啥寫(xiě)成這個(gè)形式。此f是關(guān)于和θ和x的聯(lián)合分布密度,不是我么理解的事件ABC,同時(shí)發(fā)生等。正常來(lái)說(shuō)分母應(yīng)該是f(x),表示只考慮x這一影響因素,要消除θ的影響,那么我么是通過(guò)對(duì)θ積分來(lái)消除θ,分母的結(jié)果最終是等于f(x)的,分子是等于f(θ,x)的。最終,待估參數(shù)表達(dá)為:
分母的積分結(jié)果得到關(guān)于f(x)的密度函數(shù),已知的對(duì)不。這樣,最大后驗(yàn)概率的待估參數(shù)就是在最大似然估計(jì)的結(jié)果后面多乘了個(gè)待估參數(shù)的先驗(yàn)分布。寫(xiě)到這,大家就該懂了為啥等式右邊是那種形式了,在最大似然估計(jì)的基礎(chǔ)上要添加U和V本身的先驗(yàn)分布。
將R,U,V的聯(lián)合密度對(duì)數(shù)化:
最大化后驗(yàn)概率U和V(最大可能性),等價(jià)于求下式的最小值:
其中:
解傳統(tǒng)矩陣分解可以采用各種優(yōu)化方法,對(duì)于概率分解,由于最后求的是參數(shù)U和V的最大似然估計(jì),因此可以用最大期望法(EM)和馬爾可夫鏈蒙特卡羅算法(MCMC)。這里就不多說(shuō)了。
PMF也有改進(jìn)的地方,它沒(méi)有考慮到評(píng)分過(guò)程中用戶的個(gè)人信息,比如有的用戶就是喜歡打低分,有的項(xiàng)目(電影)質(zhì)量就是不高,分肯定高不了等,這樣可以采用加入偏置的概率矩陣分解(貝葉斯概率矩陣分解BPMF),將在后面的博客中寫(xiě)出,會(huì)給出鏈接。
補(bǔ)充:聯(lián)合分布f(x,y),其中x和y無(wú)必然聯(lián)系,x可以理解為老師課講得好,y理解為課開(kāi)在周六,那么f表示這節(jié)課選課的人數(shù)的概率密度,聯(lián)合分布的概率跟f(x)一樣,也是通過(guò)積分來(lái)求,f(x)求面積,而f(x,y)是求體積。
最大似然估計(jì)和最大后驗(yàn)概率是參考了這兩篇篇博客:
http://blog.csdn.net/upon_the_yun/article/details/8915283
http://wiki.mbalib.com/wiki/%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1
總結(jié)
以上是生活随笔為你收集整理的转基于概率的矩阵分解原理详解(PMF)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 键盘手指姿势,以及NIZ键盘说明
- 下一篇: matlab中syms与sym有什么差别