05EM演算法-高斯混合模型-GMM
__GMM__(Gaussian Mixture Model, 高斯混合模型)是指該演算法由多個高斯模型線性疊加混合而成。每個高斯模型稱之為component。
__GMM演算法__描述的是資料的本身存在的一種分佈,即樣本特徵屬性的分佈,和預測值Y無關。顯然GMM演算法是無監督的演算法,常用於聚類應用中,component的個數就可以認為是類別的數量。
回到昨天說的例子:隨機選擇1000名使用者,測量使用者的身高;若樣本中存在男性和女性,身高分別服從高斯分佈N(μ1,σ1)和N(μ2,σ2)的分佈,試估計引數:μ1,σ1,μ2,σ2;
1、如果明確的知道樣本的情況(即男性和女性資料是分開的),那麼我們使用極大似然估計來估計這個引數值。
2、如果樣本是混合而成的,不能明確的區分開,那麼就沒法直接使用極大似然估計來進行引數的估計。
我們可以認為當前的1000條資料組成的集X,是由兩個高斯分佈疊加而成的(男性的分佈和女性的分佈)。
如果能找到一種辦法把每一個高斯分佈對應的引數π、 μ、σ求出來,那麼對應的模型就求解出來了。
如果模型求解出來後,如何對資料進行聚類?
這個公式求出來的分別是男性和女性身高分佈的概率密度,如果把π、 μ、σ都求出來,以後我們可以構建出一個__能夠根據樣本特徵__計算出樣本屬於男性或女性的可能性。
實際做樣本分類的時候,我們把樣本X的特徵x1~xn分別代入兩個公式中,求出來的兩個結果分別是:樣本X的性別是男、是女的可能性。如果是男的可能性大於是女的可能性,我們就把樣本X歸入男性的分類。
假定__GMM__由k個Gaussian分佈線性疊加而成,那麼概率密度函式如下:
分析第1個等式:
p(x): 概率密度函式,k個Gaussian分佈線性疊加而成的概率密度函式。
∑p(k)p(x|k): k個某種模型疊加的概率密度函式。
p(k): 每個模型佔的權重,即上面提到的π。
p(x|k): 給定類別k後,對應的x的概率密度函式。
__分析第2個等式:__目標 – 將公式寫成高斯分佈的樣子。
__πk:__即p(k)
__p(x;μk,∑k):__多元高斯(正態)分佈。有了觀測資料x後,在__給定了條件__下的高斯分佈。這個__條件__是__1、第k個分類的均值μk__; __2、第k個分類的方差∑k__;
深入分析p(x;μk,∑k)的引數:
如果樣本有n個特徵,所有的特徵x1~xn一起服從一個多元的高斯分佈(正態分佈),所有特徵的均值應該是一個向量 (μ1~μn);
μk: 第k個分類的情況下(第k個高斯分佈的情況下對應的每一列的均值);μk = (μk1~μkn)
∑k: 協方差矩陣(對稱陣)。現在有n個特徵,協方差矩陣是一個n×n的矩陣。現在我們要算的是:
cov(x1,x1),cov(x1,x2),…,cov(x1,xn)
cov(x2,x1),cov(x2,x2),…,cov(x2,xn)
….
cov(xn,x1),cov(x1,x2),…,cov(xn,xn)
其中,__對角線__ cov(x1,x1)、cov(x2,x2), … ,cov(xn,xn)中,x1和x1的協方差 = x1的方差;即cov(x1,x1) = var(x1);所以__對角線上兩個特徵的協方差 = 對應的特徵的方差。__
__協方差__(Covariance)在概率論和統計學中用於衡量兩個變數的總體誤差。而方差是協方差的一種特殊情況,即當兩個變數是相同的情況。
協方差表示的是兩個變數的總體的誤差,這與只表示一個變數誤差的方差不同。 如果兩個變數的變化趨勢一致,也就是說如果其中一個大於自身的期望值,另外一個也大於自身的期望值,那麼兩個變數之間的協方差就是正值。 如果兩個變數的變化趨勢相反,即其中一個大於自身的期望值,另外一個卻小於自身的期望值,那麼兩個變數之間的協方差就是負值。
理解了公式後,再來看看公式在影像上是如何體現的:
如果樣本X只有一個特徵x1,在二維的座標系上的表示出來。特徵x1是由n個單變數樣本的高斯分佈疊加而成的。向量x1k = ∑k (x1(1),x1(2),~,x1(n)),如k=(男、女),累加男性分類下的特徵高斯分佈和女性分類下的高斯分佈;
圖中__紅色曲線__表示原有資料的分佈情況,我認為這個原有資料是由多個比較的高斯分佈疊加而成的,__藍色曲線__ 表示單個單個高斯分佈的分佈情況。向量x1 = (x1(1),x1(2),~,x1(n));
PS: 藍1+藍2=紅 體現的就是公式 p(x) = ∑πp(x;μ,∑k);
在得知資料的特徵 x=(x1~xn) 後,如果我們想把資料合理得聚類到一個分類中,我們該如何去計算呢?
既然我已經得到了k個高斯分佈對應的概率密度函式(現在設k=3,共3個分類),將當前特徵的x=(x1~xn)代入我們的概率密度函式: p(x) = ∑πp(x;μ,∑k);
我們分別計算p(藍1)、p(藍2)、p(藍3),藍色三條線各對應k分類中的一個,哪個數大,我認為當前的樣本該分到哪一類。
GMM演算法的兩個前提:
1、資料服從高斯分佈;
2、我們人為定義了分類個數k。
基於這兩個前提,問題遞進:
問:我們人為假定了高斯分佈的分類個數k,就類似於我們聚簇時分的聚簇中心個數一樣。引數π、μ、σ該如何求出來?
答:和K-Means演算法一樣,我們可以用__EM演算法__來求解這個問題。 GMM也滿足EM演算法的聚類思想,首先人為得定義了聚類的個數k,從資料特徵X中發掘潛在關係的一種模型。而且我還預設資料是服從多個高斯分佈的。
GMM演算法中的隱含條件是:第k個模型佔的權重 – $color{red}{π}$、 第k個高斯分佈的情況下對應的每一列的均值 – $color{red}{μ}$、協方差矩陣 cov(xi,xj) – $color{red}{∑k}$;因為本質上我們是知道資料原有的分類狀況的,只是無法觀測到隱含在資料中的這些特性,使用EM的思想可以迭代得求解出這些隱含變數。
對聯合概率密度函式求對數似然函式:
對聯合概率密度函式求對數後,原本__連乘__的最大似然估計變成了__連加__的函式狀態。
EM演算法求解 – E步:
套用公式後,我們可以假定隱含變數z的分佈:Q(z(i) = j);
我們認為分佈wj(i) = 第i個觀測值對應的隱含分類第z(i)類; = 以(看不見的引數π、μ、∑)為引數的情況下,輸入第i觀測值的特徵x後得到的分類z(i)類;
EM演算法求解 – M步:
M步第1行就是上一章通過化簡找到__下界__的那個函式:
如果要分別求解三個未知變數, 則需要對每一個未知變數求偏導。
1、對均值求偏導:
2、對方差求偏導:
3、對概率使用拉格朗日乘子法求解:
$color{red}{本章最重要的是記住下面的內容:}$
06 EM演算法 – 案例一 – EM分類初識及GMM演算法實現
相關文章
- 高斯混合模型(GMM)和EM演算法 —— python實現模型演算法Python
- KMeans演算法與GMM混合高斯聚類演算法聚類
- 統計學習:EM演算法及其在高斯混合模型(GMM)中的應用演算法模型
- K-Means(K均值)、GMM(高斯混合模型),通俗易懂,先收藏了!模型
- 基於混合高斯模型的運動目標檢測演算法模型演算法
- 機器學習(五):混合高斯聚類GMM(求聚類標籤)+PCA降維(3維降2維)習題機器學習聚類PCA
- 優於VAE,為萬能近似器高斯混合模型加入Wasserstein距離模型
- 混合高斯模型實現運動目標檢測(OpenCV內建實現)模型OpenCV
- 基於EM期望最大化演算法的GMM模型引數估計matlab模擬演算法模型Matlab
- 混合模型初探模型
- 混合專家模型 (MoE) 詳解模型
- EM(最大期望)演算法推導、GMM的應用與程式碼實現演算法
- 高斯公式對高斯定理的推導公式
- 告別3D高斯Splatting演算法,帶神經補償的頻譜剪枝高斯場SUNDAE開源了3D演算法
- mplus資料分析:增長模型潛增長模型與增長混合模型再解釋模型
- 高斯消元
- 融合模型分為四種型別(包括混合型)模型型別
- 高斯消除矩陣矩陣
- 高斯消元法
- 3分鐘tips:高斯分佈和高斯積分的關係
- 後處理 - 高斯模糊
- 高斯噪聲模擬
- 淺談高斯消元
- 華為“高斯”戰記
- ESIM模型的“全能版”!網易易盾實驗室研究員解讀HIM混合推理模型模型
- 模型並行-Gpipe演算法模型並行演算法
- 基於實時計算(Flink)與高斯模型構建實時異常檢測系統模型
- Flutter BackdropFilter 實現高斯模糊FlutterFilter
- 演算法金 | 機器學習模型評價、模型與演算法選擇(綜述)演算法機器學習模型
- 集眾之長,一種包含多種語言模型的混合框架模型框架
- 複合材料製造中人工智慧混合資料模型的使用人工智慧模型
- 演算法金 | Transformer,一個神奇的演算法模型!!演算法ORM模型
- 演算法金 | 突破最強演算法模型,決策樹演算法!!演算法模型
- 在離散混合製造環境中應用製造運營模型模型
- Presto適配高斯資料庫REST資料庫
- 高斯消元學習筆記筆記
- 杜高斯貝好辦理嗎?
- 華為高斯DB(for MySQL)搭建演示MySql