每日一句
Through pride we are ever deceiving ourselves. But deep down below the surface of the average conscience a still, small voice says to us, something is out of tune. —Carl Jung
本文大綱如下:
前文概率圖模型(二):概率圖模型推斷,介紹了圖模型的兩種主要任務(wù),推理
和學(xué)習(xí)
,當(dāng)時(shí)主要討論了推理。在本文中,將介紹學(xué)習(xí)任務(wù),并探討一些用于完全觀測(cè)貝葉斯網(wǎng)絡(luò)
的學(xué)習(xí)技術(shù)。
在開(kāi)始之前,首先對(duì)什么是學(xué)習(xí)以及學(xué)習(xí)要達(dá)到的目標(biāo)進(jìn)行簡(jiǎn)單定義。
目標(biāo):給定一組獨(dú)立樣本(隨機(jī)變量的分配),找到最佳(或最可能)的貝葉斯網(wǎng)絡(luò)(包括DAG和CPD)。
如下圖所示,我們得到了一組獨(dú)立樣本(二元隨機(jī)變量的分配)。假設(shè)它是一個(gè)DAG,我們要學(xué)習(xí)節(jié)點(diǎn)之間的有向鏈接(因果關(guān)系),這個(gè)過(guò)程叫做結(jié)構(gòu)學(xué)習(xí)
。學(xué)習(xí)條件可能性是另一項(xiàng)任務(wù),叫做參數(shù)學(xué)習(xí)
。
學(xué)習(xí)
作為從數(shù)據(jù)中估計(jì)參數(shù)
,以及在某些情況下估計(jì)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)
的過(guò)程。
在本節(jié)中,我們將介紹參數(shù)學(xué)習(xí)
,以及一些有用的相關(guān)模型。
在進(jìn)行參數(shù)學(xué)習(xí)時(shí),我們假設(shè)圖形模型G
本身是已知的和固定的,G
可以來(lái)自專家設(shè)計(jì)或迭代結(jié)構(gòu)學(xué)習(xí)的中間結(jié)果。
參數(shù)學(xué)習(xí)的目標(biāo)是從個(gè)獨(dú)立、相同分布(i.i.d.)的訓(xùn)練樣本數(shù)據(jù)集中估計(jì)參數(shù)。一般來(lái)說(shuō),每個(gè)訓(xùn)練樣本是一個(gè)包含個(gè)值的向量,每個(gè)節(jié)點(diǎn)一個(gè)。根據(jù)模型的不同,如果模型是完全可觀察的,中的元素可以是全部已知的(無(wú)缺失值,無(wú)隱藏變量),如果模型是部分可觀察的(不被觀察)。
在這一類中,我們主要考慮對(duì)具有給定結(jié)構(gòu)完全可觀測(cè)BN
的參數(shù)學(xué)習(xí)。
各種密度估計(jì)任務(wù)可以被看作是單節(jié)點(diǎn)GM。指數(shù)族分布是一般GM的組件,并且具有很好的特性,可以很容易地進(jìn)行MLE和貝葉斯估計(jì)。
對(duì)于一個(gè)隨機(jī)變量。
函數(shù)是一個(gè)充分統(tǒng)計(jì)量。函數(shù)是對(duì)數(shù)歸一化。
很多概率分布實(shí)際上都屬于這個(gè)家族(包括伯努利(Bernoulli)、多項(xiàng)式(Multinomial)、高斯(Gaussian)、泊松(Poisson)、Gamma)。
例子1:多變量高斯分布
對(duì)于一個(gè)連續(xù)隨機(jī)變量:
指數(shù)族表示:
經(jīng)過(guò)這樣的轉(zhuǎn)換,我們看到多變量高斯分布其實(shí)屬于指數(shù)族。
注意,一個(gè)維的多變量高斯分布有一個(gè)維的自然參數(shù)(和充分統(tǒng)計(jì)量)。然而,由于必須是對(duì)稱的,參數(shù)實(shí)際上有一個(gè)較低的自由度。
例子2:多項(xiàng)式分布
對(duì)于一個(gè)二元隨機(jī)變量,
指數(shù)族表示:
指數(shù)族的階導(dǎo)給出階中心矩。
因此,我們可以利用這一優(yōu)勢(shì),通過(guò)取對(duì)數(shù)歸一化的導(dǎo)數(shù)來(lái)計(jì)算任何指數(shù)族分布的矩。
注意:當(dāng)充分統(tǒng)計(jì)量是一個(gè)堆積的向量時(shí),需要考慮偏導(dǎo)數(shù)。
應(yīng)用矩生成特性,矩參數(shù)可以從自然(canonical)參數(shù)中得到。
是凸函數(shù)因?yàn)椋?/p>
因此,我們可以顛倒關(guān)系,從動(dòng)量推斷出canonical參數(shù):
因此,指數(shù)族的分布不僅可以用--canonical參數(shù)化,還可以用--矩參數(shù)化來(lái)設(shè)置參數(shù)。
對(duì)于i.i.d.數(shù)據(jù),我們有對(duì)數(shù)似然:
取其導(dǎo)數(shù)并設(shè)為零:
有:
這相當(dāng)于動(dòng)量匹配。另外,我們可以用推斷出canonical參數(shù) .
我們可以看出,對(duì)于來(lái)說(shuō),如果中沒(méi)有關(guān)于的信息,那么對(duì)是充分的。為了推理,我們可以忽略。
貝葉斯學(xué)派觀點(diǎn):
頻率學(xué)派觀點(diǎn):
Neyman因式分解定理:
對(duì)來(lái)說(shuō)是充分的,如果
高斯分布:
多項(xiàng)式分布:
泊松分布:
各種條件密度估計(jì)任務(wù)可以被看作是雙節(jié)點(diǎn)GM。許多任務(wù)是廣義線性模型的實(shí)例。
廣義線性模型(GLM)是對(duì)普通線性回歸的靈活概括,允許線性模型通過(guò)鏈接函數(shù)與響應(yīng)變量相關(guān),這些響應(yīng)變量的誤差分布模型不是正態(tài)分布。例如,線性回歸和邏輯回歸都可以通過(guò)廣義線性模型來(lái)統(tǒng)一。
我們對(duì)的期望進(jìn)行建模::
觀察到的輸入被假定為其線性組合進(jìn)入模型,條件平均值被表示為的函數(shù),其中被稱為的鏈接函數(shù)。觀察到的輸出被假定為具有條件均值的指數(shù)族分布的特征。
例子1: 線性回歸
讓我們快速回顧一下線性回歸。假設(shè)目標(biāo)變量和輸入的關(guān)系是:
其中是隨機(jī)噪聲的誤差項(xiàng)。假設(shè)服從高斯分布,那么:
我們可以使用LMS算法,這是一種梯度上升/xia j下降方法,來(lái)估計(jì)參數(shù)。
例子2: Logistic回歸
條件分布是Bernoulli:
其中是一個(gè)logistic函數(shù)
我們可以像LR中那樣使用梯度下降法。但我們也可以通過(guò)觀察是一個(gè)指數(shù)族函數(shù)進(jìn)行求解。
馬爾科夫隨機(jī)場(chǎng)(Markov random fields)
受限玻爾茲曼機(jī)(Restricted Boltzmann Machines)
條件隨機(jī)場(chǎng)(Conditional Random Fields)
對(duì)數(shù)似然:
導(dǎo)數(shù)為:
這是一個(gè)定點(diǎn)函數(shù),因?yàn)?span>是的一個(gè)函數(shù)。
回顧Hessian矩陣,在最小均值優(yōu)化中,我們使用Newton-Raphson方法,成本函數(shù):
其中響應(yīng)是:
因此,這可以理解為解決迭代加權(quán)的最小二乘法問(wèn)題。
簡(jiǎn)單的圖模型可以被看作是復(fù)雜圖形模型的構(gòu)建模塊。在相同的概念下,如果我們假設(shè)每個(gè)局部條件概率分布的參數(shù)是全局獨(dú)立的,并且所有節(jié)點(diǎn)都是完全觀察到的,那么對(duì)數(shù)似然函數(shù)可以分解為局部項(xiàng)的總和,每個(gè)節(jié)點(diǎn)一個(gè):
plate 是一個(gè)允許子圖被重復(fù)的宏。傳統(tǒng)上,不是單獨(dú)畫出每個(gè)重復(fù)的變量,而是用plate 將這些變量組合成一個(gè)一起重復(fù)的子圖,并在板塊上畫出一個(gè)數(shù)字,代表plate中子圖的重復(fù)次數(shù)。
plate規(guī)則:在方框中重復(fù)每一個(gè)結(jié)構(gòu),其次數(shù)由方框一角的整數(shù)給定(如),更新plate索引變量(如n);復(fù)制進(jìn)入plate的每個(gè)箭頭和離開(kāi)板塊的每個(gè)箭頭,將箭頭連接到結(jié)構(gòu)的每個(gè)副本。
例如,在有向無(wú)環(huán)網(wǎng)絡(luò)中,它可以分解為 .這完全是在學(xué)習(xí)四個(gè)獨(dú)立BN,每個(gè)BN由一個(gè)節(jié)點(diǎn)和它的父母組成,如下圖所示:
對(duì)于每個(gè)DAG模型, 全局參數(shù)獨(dú)立:
對(duì)于每一個(gè)節(jié)點(diǎn), 局部參數(shù)獨(dú)立:
考慮一組變量的網(wǎng)絡(luò)結(jié)構(gòu),由一組參數(shù)參數(shù)化。每個(gè)變量都與一個(gè)CPD 相關(guān)。我們不假設(shè)每個(gè)CPD都有自己的參數(shù),而是假設(shè)我們有某一組共享參數(shù),這些參數(shù)被網(wǎng)絡(luò)中的多個(gè)變量使用。這就是全局參數(shù)共享。假設(shè)被劃分為不相交的子集,對(duì)于每個(gè)子集,我們都分配了一個(gè)不相交的變量集。對(duì)于,,和:
給定一個(gè)HMM,隱藏狀態(tài)為,觀測(cè)為,這些是我們已知的。
在訓(xùn)練時(shí),我們記錄從一個(gè)隱藏狀態(tài)到另一個(gè)隱藏狀態(tài),或者從一個(gè)隱藏狀態(tài)到一個(gè)觀察狀態(tài)的每個(gè)轉(zhuǎn)換的頻率。
設(shè)為從一個(gè)隱藏狀態(tài)到一個(gè)隱藏狀態(tài)的轉(zhuǎn)換,設(shè)為從一個(gè)隱藏狀態(tài)到一個(gè)觀察狀態(tài)的轉(zhuǎn)換。我們用最大似然估計(jì)法計(jì)算參數(shù),方法如下:
如果我們觀察到的是連續(xù)的,我們可以把它們當(dāng)作高斯的,并用相應(yīng)的高斯的學(xué)習(xí)規(guī)則。
這種方法提供了 '最適合 '的參數(shù),或者說(shuō)使得到訓(xùn)練數(shù)據(jù)的可能性最大化。因此,對(duì)于測(cè)試數(shù)據(jù)來(lái)說(shuō),直覺(jué)上它至少應(yīng)該接近事實(shí)。MLE傾向于在現(xiàn)實(shí)中提供良好的性能。
用于計(jì)算測(cè)試數(shù)據(jù)時(shí)概率參數(shù)取決于在訓(xùn)練時(shí)間內(nèi)看到相同模式的頻率。這就導(dǎo)致了一個(gè)問(wèn)題。如果有一個(gè)測(cè)試數(shù)據(jù)案例在訓(xùn)練數(shù)據(jù)中從未出現(xiàn)過(guò),那么我們將自動(dòng)為該測(cè)試數(shù)據(jù)分配一個(gè)零概率,這是錯(cuò)誤的,因?yàn)樗鼘?dǎo)致從現(xiàn)實(shí)世界到我們的模型的交叉熵為無(wú)限大。這也顯示了過(guò)度擬合的問(wèn)題,即我們對(duì)訓(xùn)練數(shù)據(jù)的擬合太好,以至于我們無(wú)法將我們的模型很好地推廣到真實(shí)世界。
為了解決這個(gè)問(wèn)題,我們可以對(duì)所有的案例增加'幻覺(jué)計(jì)數(shù)(hallucinated counts)',這樣,即使是在訓(xùn)練時(shí)從未見(jiàn)過(guò)的案例也會(huì)得到一些計(jì)數(shù)。因此,在測(cè)試時(shí),不會(huì)有任何案例的概率為零。
想象一下,如果訓(xùn)練中案例的總頻率是100,而我們對(duì)一個(gè)案例進(jìn)行了10000次計(jì)數(shù),那么這個(gè)案例在測(cè)試時(shí)將被分配一個(gè)非常高的概率。我們剛才所做的等于說(shuō) '我堅(jiān)信這將發(fā)生'。換句話說(shuō),我們對(duì)這個(gè)案例投入了大量的信心。
然而,如果我們只是給每個(gè)案例增加一個(gè)偽數(shù),那么頻繁出現(xiàn)的案例的概率就會(huì)減少,但不會(huì)太多。它們的概率排名不會(huì)改變,因?yàn)橹皇撬鼈冊(cè)贛LE計(jì)算中的分母發(fā)生了變化,變化的程度相同。這就是我們所說(shuō)的平滑化(smoothing)。
我們也可以把它看作是在具有 '參數(shù)強(qiáng)度 '的均勻先驗(yàn)下的貝葉斯估計(jì),同時(shí)我們對(duì)案例增加偽計(jì)數(shù)。
密度估計(jì)可以被看作是單節(jié)點(diǎn)的圖模型。它是一般GM的zu c組成模塊。對(duì)于密度估計(jì),我們有:
它與二項(xiàng)分布相似。參數(shù)中的 '1 '表示只有一次試驗(yàn)。因此,它類似于伯努利,只是現(xiàn)在我們有個(gè)可能發(fā)生的實(shí)例,每個(gè)實(shí)例的概率為,其中。
假設(shè)是觀察到的向量,有:
目標(biāo)函數(shù):
約束:
具有拉格朗日乘數(shù)的約束成本函數(shù):
Dirichlet先驗(yàn):
的后驗(yàn)分布 :
后驗(yàn)均值估計(jì):
Dirichlet先驗(yàn):
觀察個(gè)具有充分統(tǒng)計(jì)量的樣本。后驗(yàn)成為:
是似然的參數(shù)。
是先驗(yàn)的參數(shù)。
我們可以有超參數(shù),等等。當(dāng)超參數(shù)的選擇對(duì)邊際似然無(wú)影響時(shí),我們就停止;一般來(lái)說(shuō),超參數(shù)是常數(shù)。
Dirichlet先驗(yàn)只能強(qiáng)調(diào)/偏重于所有坐標(biāo)或一個(gè)單一坐標(biāo);例如,它不能同時(shí)強(qiáng)調(diào)兩個(gè)坐標(biāo)。與不同的超參數(shù)相對(duì)應(yīng)的先驗(yàn)在下圖中顯示。
Logistic Normal 先驗(yàn)具有協(xié)方差結(jié)構(gòu),同時(shí)是非共軛的。并且可以解決Dirichlet先驗(yàn)的局限性:
可以證明,和的MLE是:
其中:
注意 可能不是滿秩的 (如$N<d$), 也就是說(shuō)='' $\sum_{ml}$='' 是不可逆的。<='' p=''>
采用貝葉斯方法的原因:
現(xiàn)在我們只考慮共軛先驗(yàn),并考慮各種復(fù)雜情況:
后驗(yàn)均值是樣本均值和先驗(yàn)均值的凸組合,后驗(yàn)精度是先驗(yàn)精度加上每個(gè)觀測(cè)數(shù)據(jù)點(diǎn)的的貢獻(xiàn)。
的共軛先驗(yàn):
Joint Probability:
后驗(yàn): 其中 ,
單變量
多變量
目標(biāo):希望學(xué)習(xí)
數(shù)據(jù):
是獨(dú)熱編碼one-hot encoding:
是一個(gè)條件高斯變量,具有特定類別的均值:
數(shù)據(jù)對(duì)數(shù)似然:
極大似然估計(jì):
, 類樣本的比例
, 類樣本的均值
先驗(yàn):
后驗(yàn)均值:
數(shù)據(jù)和標(biāo)簽的聯(lián)合概率是:
測(cè)給定數(shù)據(jù)的標(biāo)簽的條件概率:
頻率學(xué)派方法: 首先從數(shù)據(jù)擬合 , 和
貝葉斯學(xué)派方法: 首先計(jì)算參數(shù)的后驗(yàn)距離
數(shù)據(jù): , 其中 是輸入變量,是響應(yīng)變量(連續(xù)或離散)?;貧w可以用來(lái)直接建立的模型,而不是。
假定 , qi z其中 是誤差項(xiàng). 假定 , 有 .
每一條數(shù)據(jù) 是獨(dú)立同分布的( i.i.d), 所以:
因此:
最大化相當(dāng)于最小化MSE(均方誤差):
'最優(yōu) '意味著所采用的算法能夠保證返回一個(gè)使目標(biāo)最大化的結(jié)構(gòu)。然而,一些流行的啟發(fā)式算法并不能保證達(dá)到最優(yōu)、可解釋性,甚至沒(méi)有明確的目標(biāo)。例如,結(jié)構(gòu)化EM、貪婪的結(jié)構(gòu)搜索、自動(dòng)編碼器的深度學(xué)習(xí)等等。
兩類保證結(jié)構(gòu)學(xué)習(xí)的算法,盡管只適用于某些特定的圖:
可以找到MLE下最優(yōu)樹(shù)的精確解:
引出了Chow-Liu算法
對(duì)于任意(固定的),學(xué)習(xí)具有最多父母的BN結(jié)構(gòu)問(wèn)題是NP-hard。
大多數(shù)結(jié)構(gòu)學(xué)習(xí)方法使用啟發(fā)式方法
在前面,我們介紹了從數(shù)據(jù)中學(xué)習(xí)圖形模型的概念,其中學(xué)習(xí)是估計(jì)參數(shù)的過(guò)程,在某些情況下,是從數(shù)據(jù)中估計(jì)網(wǎng)絡(luò)結(jié)構(gòu)。在完全觀察的節(jié)點(diǎn)和每個(gè)條件概率分布的全局獨(dú)立參數(shù)的設(shè)置中,最大似然估計(jì)(MLE)是直接的,因?yàn)樗迫缓瘮?shù)可以完全分解為獨(dú)立項(xiàng)的乘積,網(wǎng)絡(luò)中的每個(gè)條件概率分布都有一個(gè)。這意味著我們可以獨(dú)立于網(wǎng)絡(luò)的其他部分使每個(gè)局部似然函數(shù)最大化,然后結(jié)合這些解得到一個(gè)MLE解。
在本節(jié)中,我們將注意力轉(zhuǎn)向 '部分觀測(cè)圖模型',包括隱馬爾可夫模型和高斯混合模型。在部分觀察數(shù)據(jù)的存在下,我們失去了似然函數(shù)的重要屬性:它的單模性、封閉式表示和分解為不同參數(shù)的似然乘積。因此,學(xué)習(xí)問(wèn)題變得更加復(fù)雜,我們轉(zhuǎn)而采用期望-最大化(Expectation-Maximization)算法來(lái)估計(jì)我們的模型參數(shù)。
首先考慮一個(gè)完全觀察到的、有方向的圖模型:
與有向部分觀察到的GM相比。假設(shè)我們現(xiàn)在沒(méi)有觀察到其中一個(gè)變量,但我們?nèi)匀幌雽懴聰?shù)據(jù)的似然性。為了做到這一點(diǎn),我們對(duì)未觀察到的概率進(jìn)行邊際化(即整合或求和)。
我們的手機(jī)能夠識(shí)別語(yǔ)音模式并將其轉(zhuǎn)換為文本。解決這個(gè)問(wèn)題的最初方法是基于隱馬爾可夫模型(HMM)。我們假設(shè)有一個(gè)隱狀態(tài),它產(chǎn)生了可以被 '分塊 '成不同成分或音素的語(yǔ)音噪音信號(hào)。我們?yōu)椴煌恼Z(yǔ)言創(chuàng)建不同的音素字典,然后我們?cè)噲D推斷出產(chǎn)生語(yǔ)音的音素序列.
一個(gè)GM 描述了一個(gè)特定的概率分布。為了學(xué)習(xí)部分可觀察的GM,我們必須在推斷描述的關(guān)系和從數(shù)據(jù)估計(jì)可信的模型之間進(jìn)行迭代。這樣一來(lái),推斷可以被視為學(xué)習(xí)問(wèn)題的一個(gè)子程序。
任務(wù)1
:回答關(guān)于的詢問(wèn),例如?
任務(wù)2
:如何從數(shù)據(jù)中估計(jì)一個(gè)可信的模型?
一個(gè)密度模型可能是多模態(tài)的,但是我們可以將其建模為單模態(tài)分布(例如高斯)的混合。假設(shè)我們有一個(gè)數(shù)據(jù)集,其中,我們認(rèn)為該數(shù)據(jù)是由個(gè)高斯成分的混合生成的。讓表示一個(gè)未觀察到的隨機(jī)變量,這樣,其中。要使成為一個(gè)有效的概率分布,需要滿足和。我們稱為混合比例。我們對(duì)給定混合標(biāo)簽的高斯成分的假設(shè)表示為,其中和是每個(gè)高斯成分的參數(shù)。因此:
我們通常不知道類別標(biāo)簽。如果我們沒(méi)有的知識(shí),我們就不能對(duì)數(shù)據(jù)的對(duì)數(shù)似然進(jìn)行因子化,也不能獨(dú)立地找到參數(shù)(還要注意,這里的參數(shù)都依賴于)。
部分觀測(cè)
GMM的參數(shù)如果不知道怎么辦?我們可以使用 EM算法
來(lái)最大化隱變量模型的似然函數(shù)。當(dāng)原始(困難)問(wèn)題可以分解為兩個(gè)(簡(jiǎn)單)部分時(shí),我們可以使用這種方法來(lái)尋找模型參數(shù)的最大似然估計(jì)。
因此,我們交替使用后驗(yàn)來(lái)填充隱變量,并根據(jù)這個(gè)猜測(cè)來(lái)更新參數(shù)。那么,對(duì)于GMM來(lái)說(shuō),EM算法是什么樣子的呢?回顧一下,估計(jì)、和。
我們的目標(biāo)是通過(guò)以下程序迭代實(shí)現(xiàn)的最大化。
期望步驟E-step
。給定參數(shù)(即和)的估計(jì),計(jì)算潛在變量(如)的充分統(tǒng)計(jì)量的期望:最大化步驟M-step
':計(jì)算給定隱變量的期望下的參數(shù):這與MLE是同構(gòu)的,只是隱變量被其期望值所取代。在EM算法的一般表述中,它們被其相應(yīng)的 '充分統(tǒng)計(jì)量 '所取代。
高斯混合模型的EM算法就像是K-means算法的一個(gè) 'soft版本'。假設(shè)我們有一個(gè)數(shù)據(jù)集,其中,我們想把數(shù)據(jù)集分成一些類。直觀地說(shuō),我們認(rèn)為一個(gè)簇是一組數(shù)據(jù)點(diǎn),其點(diǎn)間距離與簇外的點(diǎn)的距離相比很小。是給定的,但我們不知道哪些點(diǎn)被分配到n哪個(gè)簇中。讓其中是與第個(gè)簇相關(guān)的中心點(diǎn)。我們定義一個(gè)標(biāo)簽,如果屬于第個(gè)集群,則該標(biāo)簽為1,否則為0??紤]目標(biāo)函數(shù):
我們需要通過(guò)迭代來(lái)上最小化非凸的目標(biāo)函數(shù):
E-步驟
: 保持固定, 使相對(duì)于最小。M-步驟
: 保持固, 使相對(duì)于最小化.在迭代之前,我們隨機(jī)初始化集群的中心點(diǎn)和協(xié)方差。然后,我們交替進(jìn)行E-步驟和M-步驟,直到簇分配不再有變化,或者超過(guò)某個(gè)最大迭代次數(shù)。
E-步驟
:我們用硬性分配法將每個(gè)數(shù)據(jù)點(diǎn)分配到最接近的聚類中心:M-步驟
: 我們將設(shè)定為所有分配到簇的數(shù)據(jù)點(diǎn)的均值。不是0就是1.每次迭代都會(huì)減少目標(biāo)函數(shù),所以算法保證會(huì)收斂,盡管不一定是局部最優(yōu)(記得是非凸的)。
如果和都被觀察到,完全對(duì)數(shù)似然就是似然。和的優(yōu)化是MLE,可以分解為獨(dú)立最大化的項(xiàng)。
如果是未觀察到的,對(duì)進(jìn)行邊際化,則不能再將其解耦為獨(dú)立項(xiàng)。
定義任意分布完全對(duì)數(shù)似然的期望。這個(gè)函數(shù)是的線性組合。
完全對(duì)數(shù)似然的期望可以用來(lái)建立一個(gè)不完全對(duì)數(shù)似然的下屆。該證明使用了Jensen 不等式()。還使用了重要性抽樣的技巧()。
第二項(xiàng)是的熵。因?yàn)楦怕适?span>, 分布的對(duì)數(shù)是,這就是為什么常數(shù)是正的。因?yàn)?span>是正的,并且不依賴于,我們可以嘗試最大化來(lái)最大化的下界。
對(duì)于固定數(shù)據(jù),定義一個(gè)叫做自由能(free energy)的函數(shù)。這就是上述證明中的術(shù)語(yǔ)。
我們可以對(duì)進(jìn)行EM算法。
E-step
:M-step
:E-step是最大化給定數(shù)據(jù)和參數(shù)潛在變量的后驗(yàn)。
如果是最優(yōu)后驗(yàn),這個(gè)最大化就能達(dá)到邊界。證明使用了Bayes規(guī)則。
M-step是給定數(shù)據(jù)和潛在變量下最大化參數(shù)。如前所述,自由能分為兩個(gè)項(xiàng),其中一項(xiàng)()不依賴于。因此,在M-step中我們只需要考慮第一個(gè)項(xiàng)。
如果,相當(dāng)于完全可觀察的MLE,其中統(tǒng)計(jì)量被期望所取代。此時(shí)是在最小化分布的期望損失。
隱性馬爾科夫模型
(HMM)是對(duì)時(shí)序數(shù)據(jù)進(jìn)行建模的常見(jiàn)方式之一。它被用于傳統(tǒng)的語(yǔ)音識(shí)別系統(tǒng)、自然語(yǔ)言處理、計(jì)算生物學(xué)等。HMM允許我們同時(shí)處理觀察到的和 '隱藏 '的事件。大多數(shù)常見(jiàn)的HMMs遵循一階 '馬爾科夫假設(shè)',即在預(yù)測(cè)未來(lái)時(shí),過(guò)去并不重要,只有現(xiàn)在。如果有一連串的狀態(tài),那么一階馬爾科夫假設(shè)說(shuō)
一個(gè)HMM包含以下組成部分:
對(duì)于一個(gè)具有個(gè)隱藏狀態(tài)和個(gè)觀測(cè)值的HMM來(lái)說(shuō),計(jì)算總的觀測(cè)似然將是非常困難的,因?yàn)橛?span>個(gè)序列。這可以用Baum-Welch算法(也稱為前向-后向算法)來(lái)有效計(jì)算。
E-Step
: 固定并計(jì)算邊際后驗(yàn)M-step
: 通過(guò)MLE更新對(duì)于一般的貝葉斯網(wǎng)絡(luò) 其中是節(jié)點(diǎn)的父母,期望最大化算法可寫為
學(xué)習(xí)部分觀測(cè)圖模型或隱變量模型的參數(shù)比完全guan c觀測(cè)GM要困難得多。這是因?yàn)槲从^察到的或潛在變量通過(guò)邊際化將觀察到的變量聯(lián)系在一起,我們不能再將最大似然函數(shù)分解為獨(dú)立的條件概率。
EM算法提供了一種使隱變量模型的似然函數(shù)最大化的方法。當(dāng)原始問(wèn)題分成2個(gè)步驟:(1) 使用觀察數(shù)據(jù)和當(dāng)前參數(shù)提供的最佳猜測(cè)(后驗(yàn))來(lái)估計(jì)未觀察到的潛變量,以及(2) 基于這一猜測(cè)更新參數(shù)。
E-Step
M-Step
EM 優(yōu)點(diǎn)
:EM 缺點(diǎn)
有一個(gè)無(wú)向圖模型(UGM),并使用 'Hammersley-Clifford定理',它可以由吉布斯分布表示?,F(xiàn)在問(wèn)題來(lái)了,我們是否可以按照有向圖模型的正常程序來(lái)尋找UGM的MLE?答案是否定的。這是因?yàn)閷?duì)于有向圖形模型來(lái)說(shuō),對(duì)數(shù)似然分解為一個(gè)項(xiàng)的總和,每個(gè)家族一個(gè),即(節(jié)點(diǎn)+它的父母)。然而,這一點(diǎn)不適用于無(wú)向圖模型,因?yàn)橛幸粋€(gè)歸一化常數(shù),它是所有參數(shù)的函數(shù),因此概率分布不會(huì)分解為各項(xiàng)之和。
我們介紹了兩個(gè)新的量總數(shù)(Total Count) 和 *團(tuán)數(shù)(Clique Count)*。對(duì)于無(wú)向圖模型來(lái)說(shuō),總數(shù)是指在數(shù)據(jù)集中觀察到一個(gè)配置x(即)的次數(shù)
團(tuán)數(shù)以總數(shù)的邊際表示.
用計(jì)數(shù)來(lái)表示對(duì)數(shù)似然,有:
求導(dǎo), 第一項(xiàng)很容易計(jì)算:
第二項(xiàng),
結(jié)合上述兩項(xiàng):
令等式為0,得,
注意,項(xiàng)被消了,我們只剩下一個(gè)條件。換句話說(shuō),在參數(shù)的最大似然設(shè)置下,對(duì)于每個(gè)小團(tuán),模型的邊際必須等于觀察到的邊際(經(jīng)驗(yàn)計(jì)數(shù))。
因此,我們轉(zhuǎn)向兩個(gè)重要的算法,我們稱之為 'workhorse algorithms'。
我們從似然的導(dǎo)數(shù)中可以得出這樣的關(guān)系:
出現(xiàn)在方程的兩邊,所以用閉合形式解決它是不可能的。然而,我們可以把它當(dāng)作一個(gè)定點(diǎn)迭代,把左手邊的那個(gè)看作是超前的(未知的),把右手邊的那個(gè)看作是已知的,然后我們可以用方程右邊的估計(jì)左邊的。我們?cè)谒械膱F(tuán)上循環(huán)迭代,
IPF,也是一個(gè)坐標(biāo)上升算法,其中坐標(biāo)是 clique potentials 的參數(shù)。在算法的每一步中,對(duì)數(shù)似然增加,因此它將收斂到全局最大值。
最大化對(duì)數(shù)似然等同于最小化觀測(cè)分布和模型分布的KL散度。
到目前為止,當(dāng)我們提到勢(shì)函數(shù)時(shí),要么學(xué)習(xí)它,要么簡(jiǎn)單地隨意指定數(shù)字。但也有一些問(wèn)題。為了說(shuō)明這一點(diǎn),讓我們看一下拼寫檢查任務(wù)。拼寫檢查中最有用、最強(qiáng)大的手段之一是建立字符串的affinity模型。
例如,對(duì)于3個(gè)連續(xù)出現(xiàn)的字符,我們用勢(shì)函數(shù)表示。我們可以用它來(lái)對(duì)拼寫錯(cuò)誤的可能性進(jìn)行評(píng)分。例如,如果我們看到序列 'zyz',我們就知道這樣的序列在英語(yǔ)詞匯中是不存在的,因此有很大的可能是拼寫錯(cuò)誤。另一方面,如果我們看到序列'ink',我們就知道有一些詞包含這個(gè)序列,因此拼寫錯(cuò)誤的可能性較低。然而,如果我們要遍歷字母表中所有不同的trigram組合,這就意味著我們有的特征,而且如果我們?cè)黾有蛄械拇笮?,情況會(huì)變得更糟。這樣一個(gè)一般的 勢(shì)能函數(shù)對(duì)于推理來(lái)說(shuō)將是指數(shù)級(jí)的成本,并且有指數(shù)級(jí)的參數(shù),我們必須從有限的數(shù)據(jù)中學(xué)習(xí),這將耗盡計(jì)算機(jī)的內(nèi)存。
一個(gè)解決方案是改變圖模型,使團(tuán)更小。但這改變了依賴關(guān)系,并可能迫使我們做出更多的獨(dú)立性假設(shè),不是我們所希望的。另一個(gè)解決方案是保持相同的圖模型,但使用一個(gè)不太通用的團(tuán)勢(shì)能參數(shù)化。這就是基于特征的模型背后的想法。
特征
:在我們前面的拼寫檢查的例子中,由于我們知道基于現(xiàn)有知識(shí)(如字典或我們自己的詞匯)的某些trigram的頻率,我們可以挑出那些我們最有信心的trigram并賦予它們特征。在這里,特征被定義為一個(gè)函數(shù),該函數(shù)對(duì)于大多數(shù)情況來(lái)說(shuō)都是空的,除了幾個(gè)特定的設(shè)置,在這些設(shè)置中,它返回的值要么高要么低。例如,我們可以定義一個(gè)特征和,以此類推。到了第50或100個(gè)特征時(shí),我們假定這些組合的可能性較小,并給它們分配一些任意的小可能性。
這是一種與深度學(xué)習(xí)不同的方法,在深度學(xué)習(xí)中,我們希望大數(shù)據(jù)學(xué)習(xí),但沒(méi)有保證,因?yàn)槲覀儾恢烙卸嗌贁?shù)據(jù)是必要的,也就是說(shuō),我們不知道樣本的復(fù)雜性。
特征微勢(shì)能
:通過(guò)對(duì)它們進(jìn)行指數(shù)化,每個(gè)特征函數(shù)都可以成為一個(gè)微勢(shì)能(Micropotentials)。我們可以將這些微勢(shì)能相乘,得到一個(gè)Clique勢(shì)。如,的團(tuán)勢(shì)能可以表示為:
組合特征
:特征可以是人工設(shè)計(jì)。每個(gè)特征都有一個(gè)權(quán)重表示該特征強(qiáng)度,以及它是增加還是減少了團(tuán)的概率。團(tuán)的邊際是一個(gè)廣義的指數(shù)族分布,實(shí)際上是一個(gè)GLIM。
一般來(lái)說(shuō),特征可以是重疊的、不受約束的指標(biāo),或者是團(tuán)變量的任何子集的任何函 數(shù):
基于特征的模型
: 我們可以像往常一樣乘以這些 clique potentials:
然而,在一般情況下,我們可以忘記聯(lián)系特征與clique,而只是使用一個(gè)簡(jiǎn)化的形式。
通過(guò)這種重新設(shè)計(jì),我們有了指數(shù)族模型,特征作為充分統(tǒng)計(jì)?;仡櫼幌?,在IPF中,我們有
我們所知道的是,整個(gè)事情可以被重新加權(quán),迭代,但在這里,我們有一個(gè)和的組合,我們?nèi)绾蝸?lái)更新權(quán)重和特征?
基于特征UGM的MLE
:引入以便于引入一個(gè)經(jīng)驗(yàn)分布。因?yàn)?span>是一個(gè)常數(shù),不會(huì)改變我們估計(jì)中的相對(duì)數(shù)字。損失函數(shù)分解成兩個(gè)項(xiàng),其中一個(gè)是的和,另一個(gè)是更復(fù)雜的。
所以我們不直接優(yōu)化這個(gè)目標(biāo),而是優(yōu)化其下限。理由是,在機(jī)器學(xué)習(xí)中,我們經(jīng)常把非線性的東西線性化,以降低復(fù)雜性。在這里,我們利用了以下的特性
這個(gè)約束對(duì)所有的都成立,特別是對(duì)也成立。因此,我們有
其中我們假設(shè)存在一個(gè)先前版本.我們建立一種明確的關(guān)系;期望的與當(dāng)前的,稱為,這樣, 有:
不幸的是,這仍然是一個(gè)很難處理的表達(dá)。這里被所有的總和所復(fù)合,然后被指數(shù)化。它變成了非線性的,而且由于這個(gè)操作,每個(gè)都與其他耦合。但是這個(gè)函數(shù)有一個(gè)特殊的形式。它是一個(gè)和或加權(quán)和的指數(shù)。讓我們轉(zhuǎn)換視角,把當(dāng)作權(quán)重,把當(dāng)作參數(shù)。根據(jù)指數(shù)凸性:假定,指數(shù)函數(shù). 再次放縮:
這就是所謂的GIS。因此,我們不使用原始的縮放對(duì)數(shù)似然,而是使用它的下限,我們稱之為。隨后,我們可以采取以下標(biāo)準(zhǔn)步驟。求導(dǎo):
其中 是未歸一化的,令其為0:
現(xiàn)在有了更新公式:
請(qǐng)看一下最后一個(gè)方程的形式。它的形式是在兩種方法上計(jì)算的比率。一個(gè)是由其經(jīng)驗(yàn)概率加權(quán)的特征,另一個(gè)是由推斷概率加權(quán)的特征。換句話說(shuō),這是你所觀察到的和你根據(jù)你現(xiàn)在所擁有的估計(jì)的比率,我們基本上是這樣迭代地重新調(diào)整表達(dá)式。
總之,IPF是一種尋找UGM的MLE的一般算法。它對(duì) 單個(gè)團(tuán)有一個(gè)定點(diǎn)方程,不一定是最大團(tuán),在團(tuán)邊際空間的I投影,要求勢(shì)是完全參數(shù)化的,在完全可分解模型的情況下,可以減少到單步迭代。
另一方面,GIS是對(duì)一般UGM基于特征勢(shì)能的迭代縮放。事實(shí)上,IPF是GIS的一個(gè)特例,在這個(gè)特例中,clique potential是建立在定義為clique configurations的指標(biāo)函數(shù)的特征上。
假設(shè)我們?cè)噲D通過(guò)觀察一個(gè)樣本分布和一個(gè)數(shù)據(jù)集來(lái)推導(dǎo)出一個(gè)基本分布。假設(shè)我們對(duì)每一組的特征都有一些固定的期望值:
假設(shè)這些期望是一致的(即我們不說(shuō)平均值既是1又是2),可能存在許多滿足這一約束的分布。我們應(yīng)該選擇最不確定的一個(gè)。熵最大的那個(gè)。有了這個(gè)約束條件,我們可以推導(dǎo)出一個(gè)簡(jiǎn)單的優(yōu)化問(wèn)題。
使用拉格朗日乘子來(lái)求解最大熵問(wèn)題:
因此特征約束結(jié)合最大熵就是我們的指數(shù)族分布。更一般的形式,我們最小化KL散度而不是熵:
聯(lián)系客服