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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

EM算法--应用到三个模型: 高斯混合模型 ,混合朴素贝叶斯模型,因子分析模型...

發布時間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EM算法--应用到三个模型: 高斯混合模型 ,混合朴素贝叶斯模型,因子分析模型... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主要是對Ng教授的machinelearning視頻學習和參考jerryLead講義整理(特別鳴謝~):

由“判別模型、生成模型與樸素貝葉斯方法 ”一節得知:

判別模型求的是條件概率p(y|x),

生成模型求的是聯合概率p(x,y) ? .即 =?p(x|y) ? p(y)?
常見的判別模型有線性回歸、對數回歸、線性判別分析、支持向量機、boosting、條件 隨機場、神經網絡等。
常見的生產模型有隱馬爾科夫模型、樸素貝葉斯模型、高斯混合模型、LDA、Restricted Boltzmann Machine等。

所以這里說的高斯混合模型,樸素貝葉斯模型都是求p(x,y)聯合概率的。(下面推導會見原因)

套路小結:?凡是生產模型,目的都是求出聯合概率表達式,然后對聯合概率表達式里的各個參數再進行估計,求出其表達式。

下面的EM算法,GMM等三個模型都是做這同一件事:設法求出聯合概率,然后對出現的參數進行估計。




?一、EM算法:

作用是進行參數估計。

應用:(因為是無監督,所以一般應用在聚類上,也用在HMM參數估計上)所以凡是有EM算法的,一定是無監督學習.因為EM是對參數聚集

給定訓練樣本是?樣例獨立,

我們想要知道每個樣例隱含的類別z,使p(x,z)最大,(即?如果將樣本x(i)看作觀察值, 潛在類別z看作是隱藏變量, 則x可能是類別z, 那么聚類問題也就是參數估計問題,)

故p(x,z)最大似然估計是:

所以可見用到EM算法的模型(高斯混合模型,樸素貝葉斯模型)都是求p(x,y)聯合概率,為生成模型。

?

對上面公式,直接求θ一般比較困難,因為有隱藏變量z存在,但是一般確定了z后,求解就容易了。

EM是一種解決存在隱含變量優化問題的有效方法。竟然不能直接最大化?(θ),我們可建立?的下界(E步),再優化下界(M步),見下圖第三步,取的就是下界

? (總式)

解釋上式:

對于每一個樣例 i,讓Qi表示該樣例隱含變量 z 的某種分布,Qi滿足的條件是 (如果 z 是連續性的,那么Qi是概率密度函數(因子分析模型就是如此),需要將求和符號換成積分符號即:因子分析模型是如此,這個會用在EM算法的M步求。

比如要將班上學生聚類,假設隱藏變量z是身高,那么就是連續的高斯分布。 如果按照隱藏變量是男女,那么就是伯努利分布(即兩點分布:)了。

上總式第1到第2步是分子分母同乘一個數,

第2到3步是:用了jasen不等式:?(凸函數圖形上表示反為凹函數,記住。)

如圖:? 。因為第2步log是凹函數 :,所以f(E(x)) >= E[f(x)].這樣就完成了第3步(詳情見對應講義。)

?

至此推導完上面3步公式,下面所有模型都是對上面第3步公式進行參數估計的!!!


?

下面 對第三步的Q(z)進行推導:

(見講義)

所以Q(Z)最終表示:?,其中z只受參數θ影響。

所以EM算法:

(承上啟下:在m步中,最終是對參數θ進行估計,而這一步具體到高斯混合模型,則θ有三個參數:mu,phi,sigma代替,即高斯混合模型要推導三個參數,下面會講)

至此,這就是EM算法所有推導,EM算法推導也只能推導這些步,具體再將這些公式推導下去,就要結合模型了。

?

總結:

如果將樣本看作觀察值, 潛在類別看作是隱藏變量, ? 那么聚類問題也就是參數估計問題,只不過聚類問題中參數分為隱含類別變量和其他參數。

對應到EM上,E步估計隱含變量,M步估計其他參數,交替將極值推向最大。

例子:在Mitchell的Machine Learning書中也舉了一個EM應用的例子,將班上學生的身高都放在一起,要求聚成兩個類。這些身高可以看作是男生身高的高斯分布和女生 身高的高斯分布組成。因此變成了如何估計每個樣例是男生還是女生,然后在確定男女生情 況下,如何估計均值和方差,里面也給出了公式。

?




?

二、混合高斯模型:

將EM算法融到高斯混合模型,將上面EM算法的E步、M步的公式再具體推導下去。

?

整個模型簡單描述為:

對于每個樣例 ,我們先從k個類別中按多項式分布抽取一個

然后根據所對應的 k 個多值高斯分布中的一個,生成樣例,整個過程稱作混合高斯模型。

(即對樣例x, 最終目的是生成樣例x。(??)即對樣例x,從k個類別抽取一個z,從根據z生成x。)

?

特別地,混合高斯模型的

(1)隱含類別標簽?,被認為滿足多項式分布即? (這里只受?參數(即phi)影響)

(2)樣例被認為滿足 高斯分布,即???(所以μ和Σ分別為樣例x的均值和協方差)

?           ?補充:服從的多項式分布概率公式為:,即類似C(n,x)*p6^x*(1-p6)^(n-x) 類型

  所以 上面(1)(2)可知混合高斯模型中,?這里的仍是隱含隨機變量。模型細化多了三個變量?,μ和Σ。(即是phi,mu,sigma).?

其中?j就是樣本類別中 ?= j的比率。μj是類別為 j 的樣本特征均值,Σj是類別為 j 的樣例的特征的協方差矩陣(Σj是一個矩陣!!)。

?

所以由上面(1)(2)合并得,最大似然估計p(x, z),對數化后如下:

??? ? ? ?

?

? (對比一、EM算法里的總式:?,只是參數θ由原化成三個?,μ和Σ)

注意第二步有兩個迭加號。第二個迭加號是z(i)=1 直到k個類別。z只有k個類別。

?

?

參考一、中EM算法推導:

所以混合高斯模型:

從EM算法步驟的? ?變成:?(其中M步三個參數的右邊公式在下面會進行推導。這里直接先給出參數結果。)

?

1. E步: ??每個樣例i的隱含類別z(i)為j的概率 ?可以通過條件概率計算得到。即

    ? (E)

                    (這里貝葉斯公式,分子是z=j一種類別情況,分母是z={1~k}k中類別的累加) 

    1)對上式的分子第一項:(由上面加黃色背景段文字可知)服從高斯分布:,

      故?=?? ?。(其中Σ即是)

    2)對(E)式分子第二項(又上面可知) 服從 多項式分布:

? ? ? ? ? ?所以分子直接代入即可,所以?可以求得。

?

2.M步:

    先給出最終結果為:?,推導如下:

      先看EM算法的M步:

  

? ? ? ? ? ? ? ? ???(M)

?     下面對三個參數phi,mu,sigma(?,μ和Σ)分別進行求導:

     (i)μi 求導得(固定?i,Σi):

       ? ? ?? <--??它是由   (據Ng說求的過程不重要?)等于0時所得 

   ? ? ? ? ??

     (ii)對?i求導(固定μi,Σi)

          

?

?   ? ? ? ? ? ? ?   ? 推導過程用了SVM中的拉格朗日乘子方法:

          因為?i是 隱性隨機變量z的多項式分布概率值,又有約束條件? ?

          又由上面(M)步公式:

          (why?????)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?所以聯合上兩式,直接構成拉格朗日乘子:

            

           , ??

?

     (iii)Σ的推導:

          也類似,不過稍微復雜一些,畢竟是矩陣。結果在之前的混合高斯模型中已經給出。

?

?

3.迭代:對上面E,M步進行迭代,最后一定會收斂(證明見講義)

?    

      如圖,最終收斂成2個類,這里的樣例收斂于橢圓,原因是高斯分布的二維幾何圖形是一個橢圓,(具體幾何圖形見下面因子分析,有詳解)

?

拓展:

混合高斯模型GMM與K-means比較:

相同點:都是可用于聚類的算法;都需要指定K值。

?

不同點:對GMM來說,引入了概率;GMM可以給出一個樣本屬于某類的概率是多少。所以高斯混合模型既可以做聚類,也可做概率密度估計

?




?三、混合樸素貝葉斯模型

? ?混合高斯的例子:文本聚類: 要對一系列的文本聚類成若干主題。(用svm寫文本分類是最好的)

 news.google.com就是文本聚類一個應用

  怎樣在文本新聞問題用到EM算法呢?

  ----->混合樸素貝葉斯模型?;旌蠘闼刎惾~斯模型有2個:多值伯努利事件模型(文本聚類就是用此);多項式事件模型。

?

? ??模型描述為:

  給定m個樣本的訓練集合是?, 每個文本屬于(0,1)^n。即每個文本是n維 0或1的向量。

?

  故= { wordj 是否出現在文本i 里}?

  我們要對(值是0或1) 進行建模,是隱含隨機變量,這里取兩個值:2個聚類。

? ? 所以對混合貝葉斯模型,假設??服從參數?有伯努利分布(兩點分布),即:?圖中x換成?即可)。

? ? ?故每個文本按某概率屬于聚類1或者聚類2

? ? ?

? ?同高斯混合模型,混合貝葉斯模型的聯合概率是:

  又 ? ? 由貝葉斯公式可知:

? ? ?p(|) =?p(|?) ? ? (i)

? ??p(?= 1?|?= 0) ?=?? ? ? ? ?(ii)

? ? ? ? 把上面的z全部換成y,就得到常見的樸素貝葉斯公式:

?一般會前面兩個等式右邊的x=1,或省去=1,即寫成?i|y=1 = p(xi | y =1) ? ? ??i|y=0 ?= p(xi | y =0) ,默認x取了1 ?

  其中p(y=1)表示類別1(例如類別1表示垃圾郵件)的在所有文本的概率。這里xi表示一個單詞,取值只有0或者1,表示出現在文本里或者沒有出現。

?

?

EM算法步驟:

1.E步:

   ?這里三個參數phi,mu,sigma,改成,,與?j|z

? ? ? ? ? ? ? ?將上面(i)(ii)式帶入即可求得

2.M步:

        對比貝葉斯原公式:

?    ? = ?? ?

         ? ??這里Wi表示文本來自于類1,分子Σ表示:類1且包含詞j的文檔個數,分布表示類1的文檔總數。所以全式表示:類1包含詞j的比率。

?   ? ??      EM算法不能做出絕對的假設0或者1,所以只能用Wi表示,最終Wi的值會靠近0或1,在數值上與0或1無分別。

    

    ? =?? (分子的橫斜是多余的,忽略)

              全式表示:類0包含詞j的比率

? ? ?

   ? ? ? ???j|z? ? ? ? ?=??

3.迭代上面12步驟,收斂,求出參數估計,帶回聯合概率,將聯合概率排序,由聯合概率最高值 ,可得知哪個文本是輸入哪個類了。

?

?




?

四、因子分析

? ? ? 轉至下篇博文?

?

?

轉載于:https://www.cnblogs.com/lifegoesonitself/archive/2013/05/19/3087143.html

總結

以上是生活随笔為你收集整理的EM算法--应用到三个模型: 高斯混合模型 ,混合朴素贝叶斯模型,因子分析模型...的全部內容,希望文章能夠幫你解決所遇到的問題。

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