• 沒有找到結果。

高斯混合模型接近高群數的問題

第三章 高斯混合模型建立資料庫

3.3 高斯混合模型接近高群數的問題

一般的資料分布,幾乎很難真的是跟高斯分布一模一樣,即使是混合 高斯模型,亦難百分百去滿足任何的資料模型分布。然而,先不考慮資料 分布中有雜訊以及過度緊貼資料(over-fitting)分布;理論上,我們可以很直 覺的意識到越多群數,可以越清楚的描述資料分布的情形,但是,影像資 料中,出現色塊的情形,並不算是罕見,也就是當五維資訊中,隨著K means 的方法所得到的初始值不同,當高斯混合模型中的某一群高斯模型恰巧完 全落在該色塊區域上,如此一來,該五維空間中,色彩的部分,變異量極 小,甚至是 0 變異量,有些時候,即使顏色是一漸層分布,但是以 RGB 的分布來看,也是可能有一個彩色維度的顏色值域都維持不變,亦有可能 受到編譯器(compiler)的影響,當某些值,過小的時候,編譯器已經無法分 辯他的值,使得輸出結果為 0;但是不論是哪一種編譯器,都不可能去處 理無限小的情形,所以變異量為0 似乎是不可避免的問題,當遇到這樣的 問題,當某次 EM 疊帶的結果(3.18)式中的σ 為 0 時,下次進入到 E-stepkj 的時候會需要計算高斯的值,需要帶入(3.1)式,其中Σ1項會因為其 determine 為 0 而使得高斯值發散,進而破壞了整個 EM 的演算法。

圖 17 一般的高斯分布與某一維度變異量為 0 的情況

而這問題的解決方式,透過多方搜尋的結果,我們有發現部分的解決 方法是設立門檻值(threshold),當判別變異量σ 小於一個門檻值時,則強kj 制定義該變異量為門檻值,但是一旦設立門檻值,可能面臨兩個問題:第 一、門檻值設立太高,無法收斂;第二、即使收斂了,因為每次遇到變異 量太小就會強制將變異量改成門檻值,其模型精確度大幅下降,這不是我 們所樂見的,所以,回到最基本的定義來探討變異量很小甚至為零的情 況:當變異量很小而趨近於 0,表示該維度的分量沒有什麼變化,所以以 高斯分布來看,在該維度的貢獻非零即一;我們再假設各維度間是線性獨 立的關係(以對角矩陣為例),可以看出,以圖 17 為例:

再搭配條件機率:

( )

( | )

( )

p A B P A B

P B

= ∩

( ) ( ) ( | ) ( | ) ( | 1 )

譯器無法辨識),我們就認為該維度其實已經為 0 變異量,這時候就需要拆 開各維度的貢獻,變異量大的維度維持採用高斯的公式計算,而變異量小 的維度,就跟著判斷,該影像資訊中被縮減維度的值,與該維度中心的差 異是否落在殘存的變異量九倍之內(variance),若是三倍偏移量之內,則認 定該維度貢獻維1,以外則為 0,如此就可以順利求出整個高斯分布的值,

那整個EM 的演算法就可以繼續疊代,只到我們希望停止的門檻值,而如 此所得到個EM 的混合高斯分布,其效果將比一般的設立變異量的門檻值 的方法,更加能夠描述影像資訊的分布。而其計算最大期望值的部份流程 圖如下圖 18:

更新Means 更新Variances

更新Weights

判別Variance是否有 太小的情形 直接計算 likelihood

fuction值

降低維度,拆開計算

判別被降維度的資 料點與被降維度的 Mean是否落在剩下 的三倍deviation之內

Variance太小的維度 Variance夠大的維度

分別計算 likelihood fuction值

貢獻0 貢獻1 得到 likelihood

fuction值

全部機率值累乘起來

圖 18 在計算機率值時,防止變異量過小之機制的流程圖