機器學習系列手記(五) 非監督學習之高斯混合模型

2021-10-23 03:24:52 字數 1720 閱讀 2697

高斯混合模型(gaussian mixed model,gmm)也是一種常見的聚類演算法,與k均值演算法類似,同樣使用了em演算法進行迭代計算。高斯混合模型假設每個簇的資料都是符合高斯分布(又叫正態分佈)的,當前資料呈現的分布就是各個簇的高斯分布疊加在一起的結果。理論上,高斯混合模型可以擬合出任意型別的分布。

當我們研究各類資料時,經常假設同一類的資料符合高斯分布。當資料事實上有多個類,或者我們希望將資料劃分為一些簇時,可以假設不同簇中的樣本各自服從不同的高斯分布,由此得到的聚類演算法稱為高斯混合模型。

高斯混合模型的核心思想是,假設資料可以看作從多個高斯分布中生成出來的。在該假設下,每個單獨的分模型都是標準高斯模型,其均值 μ

i\mu_i

μi​ 和方差 ∑

i\sum_i

∑i​ 是待估計的引數。此外,每個分模型都還有乙個引數 π

iπ_i

πi​,可以理解為權重或生成資料的概率。高斯混合模型的公式為

高斯混合模型是乙個生成式模型,其資料的生成過程可以理解為:假設乙個簡單情況,即只有兩個一維標準高斯分布的分模型 n(0

,1)n(0,1)

n(0,1)

和 n(5,

1)n(5,1)

n(5,1)

,其權重分別為0.7和0.3。那麼在生成第乙個資料點時,先按權重比例隨機選擇乙個分布,比如選擇第乙個高斯分布,接著從 n(0

,1)n(0,1)

n(0,1)

中生成乙個點,如-0.5,便是第乙個資料點。在生成第二個資料點時,隨機選擇到第二個高斯分布 n(5

,1)n(5,1)

n(5,1)

,生成了第二個點4.7。如此迴圈執行,便生成了所有的資料點。

通常我們並不能直接得到高斯混合模型的採納數,而是觀察到一系列資料點,給出乙個類別的數量k後,希望求得最佳的k個高斯分模型。因此,高斯混合模型的計算,便成了最佳的均值 μ

\muμ,方差 ∑

\sum

∑,權重 π

ππ 的尋找,這類問題通常通過最大似然估計來求解。但此問題中直接使用最大似然估計,得到的是乙個複雜的非凸函式,目標函式是和的對數,難以展開和對其求偏導。在這種情況下,可以用em演算法框架來求解該優化問題。

em演算法是在最大化目標函式時,先固定乙個變數使整體函式變為凸優化函式,求導得到最大值,然後利用最優引數更新被固定的變數,進入下乙個迴圈。具體到高斯混合模型的求解,em演算法的迭代過程如下。

首先,初始隨機選擇各引數的值,然後重複下述兩步,直到收斂。

(1)e步驟。根據當前的引數,計算每個點由某個分模型生成的概率。

(2)m步驟。使用e步驟估計出的概率,來改進每個分模型的均值,方差和權重。

我們並不知道最佳的k個高斯分布的各自3個引數,也不知道每個資料點究竟是哪個高斯分布生成的。所以每次迴圈時,先固定當前的高斯分布不變,獲得每個資料點由各個高斯分布生成的概率。然後固定該生成概率不變,根據資料點和生成概率,獲得乙個組更佳的高斯分布。迴圈往復,直到引數不在變化,或者變化非常小時,便得到了比較合理的一組高斯分布。

高斯混合模型與k均值演算法的相同點是,它們都是可用於聚類的演算法;都需要指定k值;都是使用em演算法來求解;都往往只能收斂於區域性最優。而它相比於k均值演算法的優點是,可以給出乙個樣本屬於某類的概率是多少;不僅僅可以用於聚類,還可以用於概率密度的估計;並且可以用於生成新的樣本點。

機器學習系列手記(五) 非監督學習之聚類演算法的評估

在無監督的情況下,我們可以通過考察簇的分離情況和簇的緊湊情況來評估聚類的效果。給定乙個點 p pp,該點的輪廓係數定義為 其中 a p a p a p 是點pp p與同一簇中的其他點 p p p 之間的平均距離,b p b p b p 是點pp p與另乙個不同簇中的點之間的最小平均距離 如果有 n ...

監督學習和非監督學習

重新看一遍ng的機器學習課程,第一次寫讀書筆記,希望能夠堅持下來!對於監督學習,首先來看乙個例子,如下圖.圖中的資料來自r語言中的boston資料集,其中lstat軸表示地位較低的人口比重,medv軸表示median value of owner occupied homes in 1000s。如果...

監督學習和非監督學習

監督學習 監督學習就是分類,把人們已經處理好的訓練樣本 即已知資料和對應輸出 給計算機,計算機通過規律訓練出乙個最佳模型,再用這個模型對輸入的資料進行分類,得出對應的輸出。從而使計算機具有對未知資料進行分類的功能。特點 目標明確 需要帶標籤的訓練樣本 分類效果很容易評估 非監督學習 非監督學習沒有訓...