貝葉斯變分GMM學習筆記

2021-10-01 18:31:44 字數 1661 閱讀 5832

在傳統gmm模型中,高斯模型數量k是乙個超引數,如何選取此引數會直接影響著模型訓練的結果。當k過大時,出現某些高斯模型方差大的問題,而當k選取過小時,則容易出現奇異。對此,一般的做法是通過交叉驗證技術依據不同的資訊指標,如bic等進行選取,中間計算量大,過程複雜。而在貝葉斯變分方法中則很好的解決了這個問題。

在貝葉斯高斯混合模型中,對先驗概率進行假設變分。

首先假設係數項符合狄利克雷分布:

p (π

)=

dir⁡(π

∣α0)

=c(α

0)∏k

=1kπ

kα0−

1p(\boldsymbol)=\operatorname\left(\boldsymbol | \boldsymbol_\right)=c\left(\boldsymbol_\right) \prod_^ \pi_^-1}

p(π)=d

ir(π

∣α0​

)=c(

α0​)

k=1∏

k​πk

α0​−

1​其中,α

0\boldsymbol_

α0​為分布的引數,它表示此混合分布在選擇分量時的集中程度。c(α

0)

c\left(\boldsymbol_\right)

c(α0​)

為分布歸一化係數。

假設均值和精度矩陣符合高斯-wishart分布:

p (μ

,λ)=

p(μ∣

λ)p(

λ)=∏

k=1k

n(μk

∣m0,

(β0λ

k)−1

)w(λ

k∣w0

,ν0)

\begin p(\boldsymbol, \boldsymbol) =p(\boldsymbol | \boldsymbol) p(\boldsymbol) =\prod_^ \mathcal\left(\boldsymbol_ | \mathbf_,\left(\beta_ \boldsymbol_\right)^\right) \mathcal\left(\boldsymbol_ | \mathbf_, \nu_\right) \end

p(μ,λ)

=p(μ

∣λ)p

(λ)=

k=1∏

k​n(

μk​∣

m0​,

(β0​

λk​)

−1)w

(λk​

∣w0​

,ν0​

)​即,精度矩陣分布為wishart分布,而均值的分布依賴精度矩陣的分布。

通過一系列的變分分解處理後,可估計到各項引數,求解步驟如下:

此外,還可以採用k-means來初始化引數。其主要作用從第四步,計算n

kn_k

nk​開始。當採用k-means方法初始化,可以得到更準確地responsibility計算,可以認為是進行了乙個e步,接著採用m步類似的演算法來計算模型中的其他引數。

在進行分類時,只需要呼叫e步,計算得到各資料點的responsibility值,以最大值作為分類就可以了。

bishop c m. pattern recognition and machine learning[m]. springer, 2006.

Scikit Learn學習筆記 樸素貝葉斯

樸素貝葉斯模型是一組非常簡單快速的分類方法啊,通常適用於維度非常高的資料集。因為執行速度快,而且可調引數少,因此非常適合為分類問題提供快速粗糙的基本方案。之所以成為 樸素 或 樸素貝葉斯 是因為如果對每一種標籤的生成模型 用於計算每個標籤的p 特徵 li p 特徵 li 進行非常簡單的假設,就能找到...

機器學習 貝葉斯

bayes.py包含了所有函式的實現,需要做的是,明白各個函式的功能作用及輸入輸出,在指令碼中完成函式的呼叫,給出要求的格式的結果。from numpy import import csv import random random.seed 21860251 def loaddataset post...

貝葉斯學習(二)

一 貝葉斯網路簡介 貝葉斯網路 bayesian network 又稱信念網路 belief network 或是有向無環圖模型 directed acyclic graphical model 是一種概率圖型模型。貝葉斯網路又稱信度網路,是bayes方法的擴充套件,是目前不確定知識表達和推理領域最...