轉基於概率的矩陣分解原理詳解(PMF)


上一篇博客講到了推薦系統中常用的矩陣分解方法,RegularizedMF是對BasicMF的優化,而PMF是在RegularizedMF的基礎上,引入概率模型進一步優化。假設用戶U和項目V的特征矩陣均服從高斯分布,通過評分矩陣已知值得到UV的特征矩陣,然后用特征矩陣去預測評分矩陣中的未知值。


若用戶U的特征矩陣滿足均值為0,方差為σ的高斯分布,則有如下等式。之所以連乘,是因為U的每個觀察值Ui都是獨立同分布的。 
p(U|σ2U)=Ni=1N(Ui|0,σ2UI)

同理:項目V的特征矩陣滿足如下等式: 
p(V|σ2V)=Ni=1N(Vi|0,σ2VI)

其中N(x|u,σ2)表示變量x滿足均值為u,方差為σ2的高斯分布。


假設真實值R和預測值R之差也符合高斯分布,那么有如下概率分布表示,P(RijUTiVj|0,δ2)通過平移有P(Rij|UTiVj,δ2)那么:

那么評分矩陣R的條件概率如下:

P(R|U,V,σ2)=Ni=1Mj=1[N(Rij|UTiVj,σ2)]Iij

這里UV是參數,其余看作超參數(即作為UV的參數-參數的參數,PMF中通過人工調整超參數,后面要寫的BPMF是通過MCMC方法自動選出最優超參數的)。假設UV互相獨立,可以通過貝葉斯公式得到RUV的聯合分布:

P(U,V|R,σ2,σ2U,σ2V)=P(R|U,V,σ2)P(U|σ2U)P(V|σ2V)=Ni=1Mj=1[N(Rij|UTiVj,σ2)]IijNi=1N(Ui|0,σ2UI)Mj=1N(Vj|0,σ2iI)


為什么要轉換為這種形式呢?這還要從極大似然估計MLE)和最大后驗概率MAP)說起。

最大似然估計:假設觀察數據滿足F分布,但是不知道分布參數,那么MLE就是根據采樣數據來評估出參數,而且假設所有采樣(觀察的樣本數據)都是獨立同分布。  
服從參數為θF分布的函數我們用fD來表示,然后我們從這個分布中抽出一個具有n個值的采樣X1,X2Xn,那么樣本的概率表示為:

P(x1,x2,,xn)=fD(x1,x2,xn|θ)

仔細想想,當前樣本數據已知,未知參數只有θ,我們就要想θ為多少才會產生這樣的樣本呢?我們就要找一個合適的θ使得當前的樣本數據滿足該分布。極大似然估計的目標是在所有可能的θ取值中,尋找一個值使這個采樣的“可能性”最大化。通常采用通過求極值的方式求得關於θ一元函數的最優值的方式。

求極大似然估計(MLE)的一般步驟是:

  1. 由總體分布導出樣本的聯合概率函數 (或聯合密度);

  2. 把樣本聯合概率函數(或聯合密度)中自變量看成已知常數,而把參數 看作自變量,得到似然函數L(θ);

  3. 求似然函數L(θ) 的最大值點(常常轉化為求ln L(θ)的最大值點) ,即θ的MLE;
  4. 在最大值點的表達式中, 用樣本值代入就得參數的極大似然估計值 .

似然函數: 
這里寫圖片描述

通常取對數(對數似然),以便將乘化為加:

這里寫圖片描述

這樣,待估計參數就可以表示為如下形式:

這里寫圖片描述

同理若待估計參數有兩個,比如樣本服從高斯分布,如下式,可以通過求偏導數得到估計值。

這里寫圖片描述

這樣,PMF為何要轉換為RUV的聯合分布,且UV在前面就解釋通了,UV作為待求參數,要利用R里的已知值計算出來(評估),然后為何會轉為等式右邊,這得需要最大后驗概率的知識。

最大后驗概率:

最大后驗估計,融入了要估計量的先驗分布在其中,也就是說待估計量θ本身也滿足某概率分布g(θ)(已知), 稱為先驗分布。這樣根據貝葉斯理論,似然函數有如下表示:(這里f(θ|x)等價l(θ|x)是似然函數,表示已知樣本數據x集合,來評估θ的值(條件概率),但后面的等式就只關乎密度函數f了)。

這里寫圖片描述

貝葉斯公式大家都懂,這里我就說說分母為啥寫成這個形式。此f是關於和θ和x的聯合分布密度,不是我么理解的事件ABC,同時發生等。正常來說分母應該是f(x),表示只考慮x這一影響因素,要消除θ的影響,那么我么是通過對θ積分來消除θ,分母的結果最終是等於f(x)的,分子是等於f(θ,x)的。最終,待估參數表達為:

這里寫圖片描述

分母的積分結果得到關於f(x)的密度函數,已知的對不。這樣,最大后驗概率的待估參數就是在最大似然估計的結果后面多乘了個待估參數的先驗分布。寫到這,大家就該懂了為啥等式右邊是那種形式了,在最大似然估計的基礎上要添加UV本身的先驗分布。

RUV的聯合密度對數化:

這里寫圖片描述

最大化后驗概率U和V(最大可能性),等價於求下式的最小值: 
這里寫圖片描述 
其中: 
這里寫圖片描述

解傳統矩陣分解可以采用各種優化方法,對於概率分解,由於最后求的是參數U和V的最大似然估計,因此可以用最大期望法(EM)和馬爾可夫鏈蒙特卡羅算法(MCMC)。這里就不多說了。

PMF也有改進的地方,它沒有考慮到評分過程中用戶的個人信息,比如有的用戶就是喜歡打低分,有的項目(電影)質量就是不高,分肯定高不了等,這樣可以采用加入偏置的概率矩陣分解(貝葉斯概率矩陣分解BPMF),將在后面的博客中寫出,會給出鏈接。

補充:聯合分布f(x,y),其中x和y無必然聯系,x可以理解為老師課講得好,y理解為課開在周六,那么f表示這節課選課的人數的概率密度,聯合分布的概率跟f(x)一樣,也是通過積分來求,f(x)求面積,而f(x,y)是求體積。

最大似然估計和最大后驗概率是參考了這兩篇篇博客:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM