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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

GMM高斯混合模型学习笔记(EM算法求解)

發布時間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GMM高斯混合模型学习笔记(EM算法求解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????提出混合模型主要是為了能更好地近似一些較復雜的樣本分布,通過不斷添加component個數,能夠隨意地逼近不論什么連續的概率分布。所以我們覺得不論什么樣本分布都能夠用混合模型來建模。由于高斯函數具有一些非常有用的性質。所以高斯混合模型被廣泛地使用。


????GMM與kmeans相似,也是屬于clustering,不同的是。kmeans是把每一個樣本點聚到當中一個cluster,而GMM是給出這些樣本點到每一個cluster的概率。每一個component就是一個聚類中心。


????GMM(Gaussian Mixture Model)高斯混合模型,由K個不同的Gaussian線性組合而成,每一個Gaussian是混合模型的一個component,GMM的概率密度函數例如以下:

p(x)=k=1Kp(k)(x|k)=k=1Kπk(x|μk,k)
????依據上式。從GMM中生成一個樣本點x分兩步:
????1,從K個component中隨機的選擇一個
????2。從該component中選擇一個點

????參數說明:N個樣本點。K個component,μk,k 是第k個component的均值和協方差矩陣,是模型參數,是須要預計的。

πk是mixing coefficient,表示第k個component被選中的概率。πk=1NNn=1znk,也是模型參數。須要預計。N是高斯(正態)分布。

????對一個樣本集建立高斯混合模型的過程,就是依據已知樣本集X反推高斯混合模型的參數(μ,,π),這是一個參數預計問題。首先想到用最大似然的方法求解,也就是,要確定參數π,μ,使得它所確定的概率分布生成這些樣本點的概率最大。這個概率也就是似然函數,例如以下:

p(x)=n=1Np(xi)
而一般對于單個樣本點其概率較小。多個相乘后更小,easy造成浮點數下溢,所以通常是對似然函數求log,變成加和形式:
i=1Nlnp(xi)
????這個叫做log似然函數,目標是要最大化它。用log似然函數對參數分別求偏導。令偏導等于0,可求解得參數。
????然而。GMM的log似然函數是例如以下形式:
lnp(X)=i=1Nln[k=1Kπk(xi|μk,k)]
????能夠看到對數中有求和,直接求導求解將導致一系列復雜的運算,故考慮使用EM算法。(詳細思路見上一篇:EM算法學習筆記)

????考慮GMM生成一個樣本點的過程,這里對每一個xi引入隱變量z,z是一個K維向量,如果生成xi時選擇了第k個component,則zk=1,其它元素都為0。Kk=1zk=1.
????如果z是已知的。則樣本集變成了{X,Z},要求解的似然函數變成了:

p(X,Z|μ,,π)=n=1Nk=1Kπznkk(xn|μk,k)znk
log似然函數為:
lnp(X,Z|μ,,π)=n=1Nk=1Kznk[lnπk+ln(xn|μk,k)].(?)
????能夠看到,這次ln直接對Gaussian作用,求和在ln外面,所以能夠直接求最大似然解了。

1,初始化一組模型參數π,μ,
2,E-step


????然而。其實z是不知道的。我們僅僅是如果z已知。

而z的值是通過后驗概率觀測。所以這里考慮用z值的期望在上述似然函數中取代z。
????對于一個樣本點x

p(z)=k=1Kπzkk
p(x|zk=1)=(x|μk,k)
p(x|z)=k=1K(x|μk,k)zk
p(x)=zp(z)p(x|z)=k=1Kπk(x|μk,k)
????后驗概率(固定μ,,π):
p(z|x,μ,,π)=p(x|z)p(z)p(x)n=1Nk=1K[πk(xn|μk,k)]znk
????由于{zn}之間是相互獨立的。
????計算z期望γ(znk)(z向量僅僅有一個值取1,其余為0):
γ(znk)=E[znk]=0?p(znk=0|xn)+1?p(znk=1|xn)=p(znk=1|xn)=p(znk=1)p(xn|znk=1)p(xn)=πk(x|μk,k)Kj=1πj(x|μj,j).

????將z值用期望取代。則待求解的log似然函數(*)式變為:

Ez[lnp(X,Z|μ,,π)]=n=1Nk=1Kγ(znk)[lnπk+ln(xn|μk,k)].

3,M-step


????如今能夠最大化似然函數求解參數了,首先對μ求偏導,令偏導等于0。可得:

n=1Nk=1Kγ(znk)k(xn?μk)=0

μk=1Nkn=1Nγ(znk)xnNk=n=1Nγ(znk).
Nk 是“the effective number of points assigned to cluster k”.
????再對k求偏導,令偏導等于0,可得:
k=1Nkn=1Nγ(znk)(xn?μk)(xn?μk)T

????接下來還需求解π。注意到π需滿足Kk=1πk=1。所以這是一個帶等式約束的最大值問題。使用拉格朗日乘數法。
????構造拉格朗日函數:

L=lnp(X|π,μ,)+λ(k=1Kπk?1).
????對π求導,令導數為0:
n=1N(x|μk,k)Kj=1πj(x|μj,j)+λ=0
????兩邊同乘πk得:
n=1Nγ(znk)+λπk=0
Nk+λπk=0
????兩邊對k求和:
k=1KNk+k=1Kλπk=0
N+λ=0
????可得:λ=?N
????代入可得:πk=NkN.

4,檢查是否收斂
????反復E-step和M-step兩步。直到收斂,就可以求得一個局部最優解。


GMM的建模步驟例如以下圖(k=2,高斯分布是藍色和紅色圈):


主要參考資料:
《Pattern Recognization and Machine Learning》
幫助理解:
http://blog.pluskid.org/?p=39

轉載于:https://www.cnblogs.com/mfrbuaa/p/5111355.html

總結

以上是生活随笔為你收集整理的GMM高斯混合模型学习笔记(EM算法求解)的全部內容,希望文章能夠幫你解決所遇到的問題。

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