點擊上方“AI大道理”,選擇“置頂”公眾號
重磅干貨,細致入微AI大道理
——————
1 GMM基礎
高斯混合模型(GMM)指的是多個高斯分布函數的線性組合,理論上GMM可以擬合出任意類型的分布,通常用於解決同一集合下的數據包含多個不同的分布的情況。
靈魂的拷問:為什么GMM可以擬合出任意類型的分布?
AI大語音:不僅GMM可以,只要性質不太奇怪的混合模型一般都能近似任意分布。這個思想和泰勒展開、傅里葉變換是類似的,任何波形都可以用正弦波疊加表示,而且頻率還是基頻的整數倍。
利用高斯混合模型進行聚類,本質上可以這么理解:
數據的分布由若干高斯分布組合而成,需要通過傳入的無標記數據,求解出各個高斯模型的參數和各個模型的先驗概率!不同於一般利用最大似然估計參數的情況在於由於傳入的數據無標記,也就是說缺少了觀測數據的類別這個隱藏信息,所以這個隱藏信息的概率分布也成了估計內容之一,從而無法通過求偏導進行梯度下降來求解,於是利用了EM。
設有隨機變量X,則混合高斯模型可以用下式表示:
其中N(x∣μk,Σk)稱為混合模型中的第k個分量。
其中,𝝁 ∈ 𝑹𝑫,為高斯分布的均值向量, 𝚺 ∈ 𝑹𝑫×𝑫,為高斯分布的協方差矩陣。
若有三個聚類,可以用三個二維高斯分布來表示,那么分量數K=3。 πk是混合系數,且滿足:
可以認為πk就是每個分量N(x∣μk,Σk)的權重。
2 GMM的隱變量
隱變量是一個輔助變量,GMM的隱變量表示的是樣本x屬於哪一個高斯分布。
隱變量是一個向量,並且這個向量中只有一個元素取值為1,其它的都是0。因為假設只有一個高斯分量被選中並產生觀測數據。然而我們的GMM的一個觀測數據在直觀上應該是每個高斯分量都有產生,而不是由一個高斯分量單獨生成,只是重要性不同(由系數控制)
假設我們知道數據可以分為兩類,在隨機抽取一個數據點,不知道這個數據來自第一類還是第二類,類比GMM中K1、K2的高斯分模型,不知道數據來自哪個分模型。
隱變量就是為了描述數據歸屬看不見這個現象的。
隱變量是一個離散的隨機變量。
GMM中K1、K2、K3類比箱子1、箱子2、箱子3,類比HMM中狀態1、狀態2、狀態3。
3 GMM訓練問題
極大似然估計、EM
1) 極大似然估計
利用不完全數據(只有觀測數據)的邊緣分布。
給定一些觀測數據X={x},假設{x}符合混合高斯分布:
求解一組混合高斯模型的參數使得:
對目標函數取對數:
對數似然函數分別對參數𝜋, 𝝁, 𝚺求導,使得導數等於0,來更新參數。
目標函數是和的對數,這時候求導比較困難,形式復雜,同時,還有個問題就是求一個參數的時候會依賴其他參數的值,但是其他參數的值其實也是未知的,也是待估計的。
因此需要EM算法。
2)EM算法估計
利用完全數據的聯合概率分布。
完全數據的似然函數:
取對數:
計算𝐙的后驗概率:
完全數據的對數似然關於潛變量的期望值Q函數:
對參數𝜋, 𝝁, 𝚺求導,使得導數等於0,來更新參數。(過程中應用到拉格朗日乘子法)
4 EM算法深入理解
第一層:E期望+M最大化(看山是山)(直觀理解)
所謂直觀理解就是將EM分成E步+M步進行組合。
隱變量的似然度:
E-step:
M-step:
第二層:局部下限構造(看山是沙)(細致入微)
細致入微看看E步M步的本質。
補充三個知識:
a) Jenson不等式
若f(x)為嚴格凹函數,X為實值隨機變量,且期望存在,則下述不等式成立:
f(E(X))<=E(f(X))
當且僅當X≡E(X),即X為常數時,不等式取等號。
Jensen不等式應用於凸函數時,不等號方向反向,也就是:
f(E(X))>=E(f(X))、
(AI大道理:很多資料將左圖稱為凸函數,右圖稱為凹函數,這是翻譯問題,不必理會。見圖判斷最准確。)
b) 條件概率
c) 聯合分布求和等於邊緣分布
深入到基於隱變量的EM算法的收斂性證明, 基於log(x)函數的Jensen不等式構造, 容易證明,EM算法是在反復的構造新的下限,然后進一步求解。
利用補充知識a)的Jenson不等式:
什么是KL散度?KL散度 是衡量兩個概率分布之 間差異的一個度量。
在之前的EM算法中,E步所計算的𝒬 (𝜽,𝜽 𝑜𝑙𝑑 )實際上等價於計算ℒ( 𝑞, 𝜽)
從參數空間理解EM算法:
紅線表示觀測數據的對數似然,藍線表示在原始參數下,下邊界ℒ (q, θ )的變化,在M步,最大化下邊界ℒ (q, θ) 關於參數θ,得到新的參數,此時得到的新的下邊界綠線所示,繼續進行E步和M步,直到達到觀測數據的最大似然。
先固定當前參數, 計算得到當前隱變量分布的一個下屆函數, 然后優化這個函數, 得到新的參數, 然后循環繼續。
第三層:K-均值方法是一種Hard EM算法(看峰是山)(舉一反三)
舉一反三,概率的極端是0和1,那么K-means也是EM算法的一種。
k均值聚類算法是一種迭代求解的聚類分析算法,其步驟是:
k均值聚類是使用最大期望算法。
K-均值在討論隱變量的決定時候,用的是dirac delta 分布, 這個分布是高斯分布的一種極限。
第四層:EM 是 廣義EM的特例(看山是群山峻嶺)
廣義EM包括傳統EM和類似K-means算法的其他EM。
充分理解了k-均值和EM算法本身的演化和差異可以理解到隱變量是存在一種分布的。
跨過隱變量, 進入隱分布的境界。
只要滿足E步驟是固定參數優化隱分布, M步驟是固定隱分布優化參數,都是廣義EM算法。
附錄(魔鬼寫手)
——————
淺談則止,細致入微AI大道理
掃描下方“AI大道理”,選擇“關注”公眾號
歡迎加入!
▼下期預告▼AI大語音(七)——基於GMM的0—9語音識別系統
▼往期精彩回顧▼
AI大語音(一)——語音識別基礎
AI大語音(二)——語音預處理
AI大語音(三)——傅里葉變換家族
AI大語音(四)——MFCC特征提取
AI大語音(五)——隱馬爾科夫模型(HMM)