日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

十、最大熵模型与EM算法

發布時間:2023/12/15 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十、最大熵模型与EM算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    • 一、最大熵模型
      • 1、熵
        • 聯合熵和條件熵
        • 相對熵
        • 交叉熵
        • 互信息
        • 總結
      • 2、最大熵模型
    • 二、EM算法(期望最大化算法)
    • 三、GMM

一、最大熵模型

lnx<=x?1lnx<=x?1

證明:f(x)=x?1?lnx,x>0f(x)=x?1?lnx,x>0,求導是凸函數,在x=1處取得極值




1、熵

熵是信息的度量,與信息量成反比。

信息量:h(xi)=log21p(xi)h(xi)=log21p(xi)

事件發生的概率越高,對應的信息量越低,事件發生的概率越小,對應的信息量越大。

熵是信息量的期望:H(x)=?ni=1p(xi)log21p(xi)H(x)=?∑i=1np(xi)log21p(xi)


兩點分布的最大熵:

三點分布:

p1=p2=p3的時候,曲面的值最高(圖1)

當X滿足均勻分布時,熵最大:

聯合熵和條件熵

聯合熵:H(X,Y),表示X,Y同時發生的不確定性

H(X,Y)=?p(xi,yi)log2p(xi,yi)=H(X)+H(Y|X)H(X,Y)=?∑∑p(xi,yi)log2p(xi,yi)=H(X)+H(Y|X)

解釋:聯合熵=X發生的熵+X發生的條件下Y發生的熵

聯合熵的性質:

  • 聯合熵>=變量熵中最大的
  • 聯合熵<=變量熵之和

條件熵:Y發生的條件下,X發生的不確定性

相對熵

度量兩個分布之間的差異

如果用距離度量的話,兩個分布的點的個數要相等,如果不等的話,無法進行單個點距離的度量。

E_px 表示期望

證明D(p||q)0D(p||q)≥0:利用Jenson不等式,

Jensen不等式表述如下:

  • 如果f是凸函數,X是隨機變量,那么E(f(X))f(E(x))E(f(X))≥f(E(x))

  • 如果f是凹函數,X是隨機變量,那么E(f(X))f(E(x))E(f(X))≤f(E(x))

交叉熵

CH(p,q)CH(p,q)

=?ip(xi)logq(xi)=?∑ip(xi)logq(xi)
=?ip(xi)logp(xi)+ip(xi)logp(xi)?ip(xi)logq(xi)=?∑ip(xi)logp(xi)+∑ip(xi)logp(xi)?∑ip(xi)logq(xi)
=H(pi)+ipilogpiqi=H(pi)+∑ipilogpiqi

CH(p||q)=H(p)+D(p||q)∴CH(p||q)=H(p)+D(p||q)

互信息


(五六行添加負號)

總結

2、最大熵模型

  • 承認已知事物

  • 對未知事物不做任何假設,沒有任何偏見

示例:

假設1:

假設2:

利用最大熵模型:

承認已知的X,讓未知的Y的概率最大。

寫成一般的形式:

最大熵原則:

對于一個隨機事件的概率分布進行預測時,預測應當滿足全部已知的約束,而對未知的情況下不做任何主觀的假設,在這種情況下,概率分布是最均勻的,預測的風險性最小,因此得到的概率分布的熵最大。

最大熵原則就是使得未知部分的概率分布都相等,因為相等情況下不確定性最大,也就是熵最大。
正態分布是給定均值和方差情況下的最好的分布,熵最大的分布。

示例2:



pˉˉˉpˉ是樣本中的概率,不加橫線的是未知的分布中的,相等的意思就是認為樣本可以代表整體的分布。

寫成拉格朗日函數的樣子求解:

求解:


只剩lambda為未知的,求解,指數函數的解析解很難求:



前面是條件熵,后面是常數,所以極大似然估計和最大熵模型具有相同的形式。

但是最大熵函數的目標函數好建立




最大熵模型在分類方法里算是比較優的模型,但是由于它的約束函數的數目一般來說會隨著樣本量的增大而增大,導致樣本量很大的時候,對偶函數優化求解的迭代過程非常慢,scikit-learn甚至都沒有最大熵模型對應的類庫。但是理解它仍然很有意義,尤其是它和很多分類方法都有千絲萬縷的聯系。 

最大熵模型的優點有:

    a) 最大熵統計模型獲得的是所有滿足約束條件的模型中信息熵極大的模型,作為經典的分類模型時準確率較高。

    b) 可以靈活地設置約束條件,通過約束條件的多少可以調節模型對未知數據的適應度和對已知數據的擬合程度

最大熵模型的缺點有:

    a) 由于約束函數數量和樣本數目有關系,導致迭代過程計算量巨大,實際應用比較難

二、EM算法(期望最大化算法)

我們經常會從樣本數據中,找出最可能得到該樣本的模型參數,最常用的就是對數似然函數。

但是在一些情況下,得到的觀察數據含有未觀察到的隱含數據,此時的隱含數據和模型參數都變成了未知的,所以無法用極大化對數似然函數的模型來得到模型的參數。

EM算法解決含有未知觀測數據的思路是利用啟發式的迭代方法,既然我們沒法直接求得模型分布參數,那么可以先猜想隱含數據(E步),接著基于觀察數據和猜想數據來極大化對數似然函數(M步),求解模型參數。

由于之前的數據是猜測的,所以得到的模型參數一般還不是我們想要的結果,不過基于當前得到的模型參數,繼續猜測隱含數據,然后繼續極大化對數似然,求解我們的模型參數,以此類推,不斷迭代,直到模型分布參數基本無變化,算法收斂,得到最優參數。

kmeans無法給出屬于某類的可信度

利用極大似然估計推出EM算法:


上式是先取對數,再求導=0,得到0.7。

假設含有隱變量的似然函數為:

L(θ)=j=1NPθ(yi)=j=1nzPθ(yi|z)P(z)L(θ)=∏j=1NPθ(yi)=∏j=1n∑zPθ(yi|z)P(z)

對上式取ln:

lnL(θ)=j=1NlnzPθ(yi|z)P(z)lnL(θ)=∑j=1Nln∑zPθ(yi|z)P(z)

對數函數中有加和項,難以求得解析解,故求近似最優解。

要求迭代至得到maxlnL(θ)maxlnL(θ),即lnL(θn+1)>lnL(θn))lnL(θn+1)>lnL(θn)),迭代若干次,就是漸漸逼近最優解。

lnL(θ)?lnL(θn)Q(θ|θn)lnL(θ)?lnL(θn)≥Q(θ|θn)

Q(θ|θn)Q(θ|θn)被稱為下確界函數,我們要使得lnL(θ)lnL(θ)盡可能的大,就要使得Q(θ|θn)Q(θ|θn)盡可能的大,所以我們每次求得下確界函數的極大值(求偏導=0,得到極大值),將該極大值帶入似然函數,求得新的下確界函數,一直迭代到||θn+1?θn||ξ||θn+1?θn||≤ξ,得到的參數即為最優參數。

紅色那條線就是我們的對數似然函數,藍色那條是我們在當前參數下找到的對數似然的下界函數,可以看到,我們找到它的局部極值那么參數更新成thetanew,此時對數似然函數的值也得到了上升,這樣重復進行下去,是不是就可以收斂到對數似然函數的一個局部極值了嘛。對的,局部極值

EM算法思想:

含有隱含項的最大似然函數難求解–>求得下邊界函數的極值->將其看做此時的函數參數–>得到新的似然函數–>再次得到新的下邊界曲線–>迭代至收斂

1 拿到所有的觀測樣本,根據先驗或者喜好先給一個參數估計。

2 根據這個參數估計和樣本計算類別分布Q,得到最貼近對數似然函數的下界函數。

3 對下界函數求極值,更新參數分布。

4 迭代計算,直至收斂。

EM算法的流程:

輸入:已知數據Y,和未知隱變量Z(隨機賦值)
輸出:θθ

1°:給 θθ 隨機賦初值θ0θ0
2°:E步,令θnθn為第n次已經求得的參數,對lnP(y|z)lnP(y|z)Pθn(z|y)Pθn(z|y)為概率求期望。

Q(θ|θn)=zPθn(z|y)lnP(y|z)Q(θ|θn)=∑zPθn(z|y)lnP(y|z)

3°:M步,對QQ函數求偏導,得到極大值,得到使得其獲得極大值的θθ值。
4°:重復2和3步,直到||θn+1?θn||ξ||θn+1?θn||≤ξ
5°:輸出最優模型參數θθ

EM算法可以保證收斂到一個穩定點,但是不能保證收斂到全局的極大值點,因此是局部的最優算法。當然,如果我們的優化目標是凸的,則EM算法可以保證收斂到全局最大值。

如果我們從算法思想的角度來思考EM算法,我們可以發現我們的算法里已知的是觀察數據,未知的是隱含數據和模型參數,在E步,我們所做的事情是固定模型參數的值,優化隱含數據的分布,而在M步,我們所做的事情是固定隱含數據分布,優化模型參數的值。比較下其他的機器學習算法,其實很多算法都有類似的思想。比如SMO算法(支持向量機原理(四)SMO算法原理),坐標軸下降法(Lasso回歸算法: 坐標軸下降法與最小角回歸法小結), 都使用了類似的思想來求解問題。

三、GMM

高斯混合模型指的是多個高斯分布函數的線性組合,理論上GMM可以擬合出任意類型的分布,通常用于解決同一集合下的數據包含多個不同分布的情況,或者是同一類分布但是參數不同,或者是不同類型的分布。

GMM中,樣本的分類標簽是未知的

下圖中,明顯是兩個類別,如果沒有GMM,那么只能用一個二維高斯分布來描述圖1的數據。
這時候就可以使用GMM了!

如圖2,數據在平面上的空間分布和圖1一樣,這時使用兩個二維高斯分布來描述圖2中的數據,分別記為N(μ1,Σ1)N(μ1,Σ1)N(μ2,Σ2)N(μ2,Σ2). 圖中的兩個橢圓分別是這兩個高斯分布的二倍標準差橢圓。可以看到使用兩個二維高斯分布來描述圖中的數據顯然更合理。實際上圖中的兩個聚類的中的點是通過兩個不同的正態分布隨機生成而來。如果將兩個二維高斯分布N(μ1,Σ1)N(μ1,Σ1)N(μ2,Σ2)N(μ2,Σ2)合成一個二維的分布,那么就可以用合成后的分布來描述圖2中的所有點。最直觀的方法就是對這兩個二維高斯分布做線性組合,用線性組合后的分布來描述整個集合中的數據。這就是高斯混合模型(GMM)。

GMM:
設有隨機變量X ,則混合高斯模型可以用下式表示:

其中N(x|μk,Σk)N(x|μk,Σk)稱為混合模型中的第k 個分量(component)。如前面圖2中的例子,有兩個聚類,可以用兩個二維高斯分布來表示,那么分量數K=2K=2. πkπk 是混合系數(mixture coefficient),且滿足:

k=1Kπk=1,0πk1∑k=1Kπk=1,0≤πk≤1

πkπk相當于每個分量N(x|μk,Σk)N(x|μk,Σk)的權重。


總結

以上是生活随笔為你收集整理的十、最大熵模型与EM算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。