1. 程式人生 > >【機器學習筆記13】聚類(高斯混合聚類)

【機器學習筆記13】聚類(高斯混合聚類)

【參考資料】 【1】《統計學習方法》 【2】《概率論與數理統計》 【3】小象學院 EM演算法

高斯分佈

定義: 如果隨機變數X的概率密度為f(x)=12πσe(xu)22σ2f(x)= \dfrac{1}{\sqrt{2\pi}\sigma}e^{-\dfrac{(x-u)^2}{2\sigma^2}} 則稱X服從正態分佈,記作: XN(u,σ2)X\sim N(u, \sigma^2) ,如下圖所示: 在這裡插入圖片描述

高斯函式是最常用的一種連續型分佈,通常當一個隨機變數收到多個隨機因素的影響,而每一個都不是主導因素的時候,該變數就會服從高斯分佈(正態分佈)。它具備如下一些性質:

  1. 關於直線x=u對稱
  2. 在x=u時取得最大值12πσ\dfrac{1}{\sqrt{2\pi}\sigma}
  3. x=u±σx=u \pm \sigma處存在拐點
  4. 當|x|區域無窮大時,以x軸為漸近線,即無限趨近於0

當u=0,σ=1\sigma=1時為標準正態分佈

高斯混合模型

定義: 高斯混合模型是指具有如下形式的概率分佈: P(yθ)=k=1Kakϕ(yθk)P(y|\theta)=\sum_{k=1}^Ka_k\phi(y|\theta_k),其中aka_k是係數,且k=1Kak=1\sum_{k=1}^Ka_k=1

ϕ(yθk)\phi(y|\theta_k)的是高斯分佈概率密度函式,定義ϕ(yθk)=12πσkexp((xuk)22σk2)\phi(y|\theta_k)=\dfrac{1}{\sqrt{2\pi}\sigma_k}exp(-\dfrac{(x-u_k)^2}{2\sigma_k^2}),表示第k個高斯分佈模型。

小象學院的EM章節中舉了一個非常直觀的例子 在這裡插入圖片描述

上述表示如果把學校同學的身高資料取樣後建模,實際上會發現可聚類成兩個正態分佈模型,即男生和女生的身高正太分佈模型。

高斯混合模型引數估計的EM演算法

EM演算法是以迭代的方式來解決極大似然的方法,針對高斯混合模型其演算法如下:

輸入: 觀測資料y1,y2,....,yNy_1, y_2, ...., y_N 輸出: 高斯混合模型引數

E步驟:依據當前模型引數計算分模型k對觀測資料yjy_j的影響度

γ^jk=akϕ(yjθk)k=1Kakϕ(yjθk)\hat\gamma_{jk}=\dfrac{a_k\phi(y_j|\theta_k)}{\sum_{k=1}^Ka_k\phi(y_j|\theta_k)},其中j=1,2…N,k=1,2…K

M步驟: 計算新一輪的模型迭代引數

u^k=j=1Nγ^jkyjj=1Nγ^jk\hat u_k=\dfrac{\sum_{j=1}^N \hat \gamma_{jk}y_j}{\sum_{j=1}^N \hat \gamma_{jk}},k=1,2…K

σ^k2=j=1Nγ^jk(yjuk)2j=1Nγ^jk\hat \sigma_k^2=\dfrac{\sum_{j=1}^N \hat \gamma_{jk}(y_j-u_k)^2}{\sum_{j=1}^N \hat \gamma_{jk}},k=1,2…K

a^k=j=1Nγ^jkN\hat a_k=\dfrac{\sum_{j=1}^N \hat \gamma_{jk}}{N}

重複E和M步驟,直到收斂:)