高斯混合模型聚類_第1頁
高斯混合模型聚類_第2頁
高斯混合模型聚類_第3頁
高斯混合模型聚類_第4頁
高斯混合模型聚類_第5頁
已閱讀5頁,還剩8頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、高斯混合模型詳解聚類的方法有很多種,k-means要數最簡單的一種聚類方法了,其大致思想就是把數據分為多個堆,每個堆就是一類。每個堆都有一個聚類中心(學習的結果就是獲得這k個聚類中心),這個中心就是這個類中所有數據的均值,而這個堆中所有的點到該類的聚類中心都小于到其他類的聚類中心(分類的過程就是將未知數據對這k個聚類中心進行比較的過程,離誰近就是誰)。其實k-means算的上最直觀、最方便理解的一種聚類方式了,原則就是把最像的數據分在一起,而“像”這個定義由我們來完成,比如說歐式距離的最小,等等。想對k-means的具體算法過程了解的話,請看這里。而在這篇博文里,我要介紹的是另外一種比較流行的

2、聚類方法-GMM(Gaussian Mixture Model)。GMM和k-means其實是十分相似的,區別僅僅在于對GMM來說,我們引入了概率。說到這里,我想先補充一點東西。統計學習的模型有兩種,一種是概率模型,一種是非概率模型。所謂概率模型,就是指我們要學習的模型的形式是P(Y|X),這樣在分類的過程中,我們通過未知數據X可以獲得Y取值的一個概率分布,也就是訓練后模型得到的輸出不是一個具體的值,而是一系列值的概率(對應于分類問題來說,就是對應于各個不同的類的概率),然后我們可以選取概率最大的那個類作為判決對象(算軟分類soft assignment)。而非概率模型,就是指我們學習的模型是

3、一個決策函數Y=f(X),輸入數據X是多少就可以投影得到唯一的一個Y,就是判決結果(算硬分類hard assignment)?;氐紾MM,學習的過程就是訓練出幾個概率分布,所謂混合高斯模型就是指對樣本的概率密度分布進行估計,而估計的模型是幾個高斯模型加權之和(具體是幾個要在模型訓練前建立好)。每個高斯模型就代表了一個類(一個Cluster)。對樣本中的數據分別在幾個高斯模型上投影,就會分別得到在各個類上的概率。然后我們可以選取概率最大的類所為判決結果。    得到概率有什么好處呢?我們知道人很聰明,就是在于我們會用各種不同的模型對觀察到的事物和現象做判決和分析。當你在路上發

4、現一條狗的時候,你可能光看外形好像鄰居家的狗,又更像一點點女朋友家的狗,你很難判斷,所以從外形上看,用軟分類的方法,是女朋友家的狗概率51%,是鄰居家的狗的概率是49%,屬于一個易混淆的區域內,這時你可以再用其它辦法進行區分到底是誰家的狗。而如果是硬分類的話,你所判斷的就是女朋友家的狗,沒有“多像”這個概念,所以不方便多模型的融合。    從中心極限定理的角度上看,把混合模型假設為高斯的是比較合理的,當然也可以根據實際數據定義成任何分布的Mixture Model,不過定義為高斯的在計算上有一些方便之處,另外,理論上可以通過增加Model的個數,用GMM近似任何概率分布。&

5、#160;   混合高斯模型的定義為:    其中K為模型的個數,k為第k個高斯的權重,則為第k個高斯的概率密度函數,其均值為k,方差為k。我們對此概率密度的估計就是要求k、k和k各個變量。當求出的表達式后,求和式的各項的結果就分別代表樣本x屬于各個類的概率。    在做參數估計的時候,常采用的方法是最大似然。最大似然法就是使樣本點在估計的概率密度函數上的概率值最大。由于概率值一般都很小,N很大的時候這個聯乘的結果非常小,容易造成浮點數下溢。所以我們通常取log,將目標改寫成:    也就是最大化log-likely hoo

6、d function,完整形式則為:一般用來做參數估計的時候,我們都是通過對待求變量進行求導來求極值,在上式中,log函數中又有求和,你想用求導的方法算的話方程組將會非常復雜,所以我們不好考慮用該方法求解(沒有閉合解)??梢圆捎玫那蠼夥椒ㄊ荅M算法將求解分為兩步:第一步是假設我們知道各個高斯模型的參數(可以初始化一個,或者基于上一步迭代結果),去估計每個高斯模型的權值;第二步是基于估計的權值,回過頭再去確定高斯模型的參數。重復這兩個步驟,直到波動很小,近似達到極值(注意這里是個極值不是最值,EM算法會陷入局部最優)。具體表達如下:    1、對于第i個樣本xi來說,它由第k

7、個model生成的概率為:    在這一步,我們假設高斯模型的參數和是已知的(由上一步迭代而來或由初始值決定)。   (E step)       (M step)    3、重復上述兩步驟直到算法收斂(這個算法一定是收斂的,至于具體的證明請回溯到EM算法中去,而我也沒有具體關注,以后補上)。    最后總結一下,用GMM的優點是投影后樣本點不是得到一個確定的分類標記,而是得到每個類的概率,這是一個重要信息。GMM每一步迭代的計算量比較大,大于k-means。GMM的求解辦法

8、基于EM算法,因此有可能陷入局部極值,這和初始值的選取十分相關了。GMM不僅可以用在聚類上,也可以用在概率密度估計上。第二篇:高斯混合模型的介紹高斯模型就是用高斯概率密度函數(正態分布曲線)精確地量化事物,將一個事物分解為若干的基于高斯概率密度函數(正態分布曲線)形成的模型。 對圖像背景建立高斯模型的原理及過程:圖像灰度直方圖反映的是圖像中某個灰度值出現的頻次,也可以以為是圖像灰度概率密度的估計。如果圖像所包含的目標區域和背景區域相差比較大,且背景區域和目標區域在灰度上有一定的差異,那么該圖像的灰度直方圖呈現雙峰-谷形狀,其中一個峰對應于目標,另一個峰對應于背景的中心灰度。對于復雜的圖像,尤其

9、是醫學圖像,一般是多峰的。通過將直方圖的多峰特性看作是多個高斯分布的疊加,可以解決圖像的分割問題。 在智能監控系統中,對于運動目標的檢測是中心內容,而在運動目標檢測提取中,背景目標對于目標的識別和跟蹤至關重要。而建模正是背景目標提取的一個重要環節。我們首先要提起背景和前景的概念,前景是指在假設背景為靜止的情況下,任何有意義的運動物體即為前景。建模的基本思想是從當前幀中提取前景,其目的是使背景更接近當前視頻幀的背景。即利用當前幀和視頻序列中的當前背景幀進行加權平均來更新背景,但是由于光照突變以及其他外界環境的影響,一般的建模后的背景并非十分干凈清晰,而高斯混合模型(GMM,Gaussian mi

10、xture model)是建模最為成功的方法之一,同時GMM可以用在監控視頻索引與檢索。混合高斯模型使用K(基本為3到5個)個高斯模型來表征圖像中各個像素點的特征,在新一幀圖像獲得后更新混合高斯模型,用當前圖像中的每個像素點與混合高斯模型匹配,如果成功則判定該點為背景點,否則為前景點。通觀整個高斯模型,他主要是由方差和均值兩個參數決定,對均值和方差的學習,采取不同的學習機制,將直接影響到模型的穩定性、精確性和收斂性。由于我們是對運動目標的背景提取建模,因此需要對高斯模型中方差和均值兩個參數實時更新。為提高模型的學習能力,改進方法對均值和方差的更新采用不同的學習率;為提高在繁忙的場景下,大而慢的

11、運動目標的檢測效果,引入權值均值的概念,建立背景圖像并實時更新,然后結合權值、權值均值和背景圖像對像素點進行前景和背景的分類。具體更新公式如下:建模過程中,我們需要對混合高斯模型中的方差、均值、權值等一些參數初始化,并通過這些參數求出建模所需的數據,如馬茲距離。在初始化過程中,一般我們將方差設置的盡量大些(如15),而權值則盡量小些(如0.001)。 這樣設置是由于初始化的高斯模型是一個并不準確,可能的模型,我們需要不停的縮小他的范圍,更新他的參數值,從而得到最可能的高斯模型,將方差設置大些,就是為了將盡可能多的像素包含到一個模型里面,從而獲得最有可能的模型。多維高斯分布講解高斯分布高斯分布:

12、1維高斯分布公式:多維高斯分布公式:對于1維的來說 是期望,是方差 ;對于多維來說D表示X的維數 , 表示D*D的協方差矩陣,定義為,為該協方差的行列式的值。代碼如下:m=0 1' S=eye(2);x1=0.2 1.3' x2=2.2 -1.3'pg1=comp_gauss_dens_val(m,S,x1)pg2=comp_gauss_dens_val(m,S,x2)其中comp_gauss_dens_val函數文件的代碼如下:function z=comp_gauss_dens_val(m,S,x)l,c=size(

13、m);z=(1/( (2*pi)(l/2)*det(S)0.5) )*exp(-0.5*(x-m)'*inv(S)*(x-m);題目大致意思就是判斷x是屬于w1還是w2?代碼如下:P1=0.5;P2=0.5;m1=1 1'm2=3 3'S=eye(2); x=1.8 1.8'p1=P1*comp_gauss_dens_val(m1,S,x)p2=P2*comp_gauss_dens_val(m2,S,x) 題目大致意思就是:給出正態分布的期望和方差,構造出一些服從這個分布的數據點代碼如下:% Generate the

14、60;first dataset (case #1)randn('seed',0);m=0 0'S=1 0;0 1;N=500;X = mvnrnd(m,S,N)'% Plot the first datasetfigure(1), plot(X(1,:),X(2,:),'.');figure(1), axis equalfigure(1), axis(-7 7 -7 7)% Generate and plot the second

15、60;dataset (case #2)m=0 0'S=0.2 0;0 0.2;N=500;X = mvnrnd(m,S,N)'figure(2), plot(X(1,:),X(2,:),'.');figure(2), axis equalfigure(2), axis(-7 7 -7 7) % Generate and plot the third da

16、taset (case #3)m=0 0'S=2 0;0 2;N=500;X = mvnrnd(m,S,N)'figure(3), plot(X(1,:),X(2,:),'.');figure(3), axis equalfigure(3), axis(-7 7 -7 7) % Generate and plot the fourth dataset

17、60;(case #4)m=0 0'S=0.2 0;0 2;N=500;X = mvnrnd(m,S,N)'figure(4), plot(X(1,:),X(2,:),'.');figure(4), axis equalfigure(4), axis(-7 7 -7 7) % Generate and plot the fifth dataset (cas

18、e #5)m=0 0'S=2 0;0 0.2;N=500;X = mvnrnd(m,S,N)'figure(5), plot(X(1,:),X(2,:),'.');figure(5), axis equalfigure(5), axis(-7 7 -7 7) % Generate and plot the sixth dataset (case 

19、#6)m=0 0'S=1 0.5;0.5 1;N=500;X = mvnrnd(m,S,N)'figure(6), plot(X(1,:),X(2,:),'.');figure(6), axis equalfigure(6), axis(-7 7 -7 7) % Generate and plot the seventh dataset (case #7)

20、m=0 0'S=.3 0.5;0.5 2;N=500;X = mvnrnd(m,S,N)'figure(7), plot(X(1,:),X(2,:),'.');figure(7), axis equalfigure(7), axis(-7 7 -7 7) % Generate and plot the eighth dataset (case #8)m=0

21、 0'S=.3 -0.5;-0.5 2;N=500;X = mvnrnd(m,S,N)'figure(8), plot(X(1,:),X(2,:),'.');figure(8), axis equalfigure(8), axis(-7 7 -7 7)即 生成了8副圖像注:1、協方差在概率論和統計學中,協方差用于衡量兩個變量的總體誤差。而方差是協方差的一種特殊情況,即當兩個變量是相同的情況。期望值分別為EX與EY的兩個實數隨機變量X與Y之間的協

22、方差定義為:直觀上來看,協方差表示的是兩個變量總體誤差的期望。如果兩個變量的變化趨勢一致,也就是說如果其中一個大于自身的期望值時另外一個也大于自身的期望值,那么兩個變量之間的協方差就是正值;如果兩個變量的變化趨勢相反,即其中一個變量大于自身的期望值時另外一個卻小于自身的期望值,那么兩個變量之間的協方差就是負值。如果X與Y是統計獨立的,那么二者之間的協方差就是0,因為兩個獨立的隨機變量滿足EXY=EXEY。但是,反過來并不成立。即如果X與Y的協方差為0,二者并不一定是統計獨立的。協方差Cov(X,Y)的度量單位是X的協方差乘以Y的協方差。而取決于協方差的相關性,是一個衡量線性獨立的無量綱的數。協

23、方差為0的兩個隨機變量稱為是不相關的。2、期望定義1:按照定義,離散隨機變量的一切可能值與其對應的概率P的乘積之和稱為數學期望,記為咐.如果隨機變量只取得有限個值:x,、隨機變量的數學期望值在概率論和統計學中,一個離散性隨機變量的期望值(或數學期望、或均值,亦簡稱期望)是試驗中每次可能結果的概率乘以其結果的總和。換句話說,期望值是隨機試驗在同樣的機會下重復多次的結果計算出的等同“期望”的平均值。需要注意的是,期望值并不一定等同于常識中的“期望”“期望值”也許與每一個結果都不相等。(換句話說,期望值是該變量輸出值的平均數。期望值并不一定包含于變量的輸出值集合里。)單獨數據的數學期望值算法對于數學

24、期望的定義是這樣的。數學期望E(X) = X1*p(X1) + X2*p(X2) + + Xn*p(Xn)X1,X2,X3,Xn為這幾個數據,p(X1),p(X2),p(X3),p(Xn)為這幾個數據的概率函數。在隨機出現的幾個數據中p(X1),p(X2),p(X3),p(Xn)概率函數就理解為數據X1,X2,X3,Xn出現的頻率f(Xi).則:E(X) = X1*p(X1) + X2*p(X2) + + Xn*p(Xn) = X1*f1(X1) + X2*f2(X2) + + Xn*fn(Xn)很容易證明E(X)對于這幾個數據來說就是他們的算術平均值。3、淺談協方差矩陣今天看論文的時候又看到

25、了協方差矩陣這個破東西,以前看模式分類的時候就特困擾,沒想到現在還是搞不清楚,索性開始查協方差矩陣的資料,惡補之后決定馬上記錄下來,嘿嘿本文我將用自認為循序漸進的方式談談協方差矩陣。統計學的基本概念學過概率統計的孩子都知道,統計里最基本的概念就是樣本的均值,方差,或者再加個標準差。首先我們給你一個含有n個樣本的集合,依次給出這些概念的公式描述,這些高中學過數學的孩子都應該知道吧,一帶而過。均值:標準差:方差:很顯然,均值描述的是樣本集合的中間點,它告訴我們的信息是很有限的,而標準差給我們描述的則是樣本集合的各個樣本點到均值的距離之平均。以這兩個集合為例,0,8,12,20和8,9,11,12,

26、兩個集合的均值都是10,但顯然兩個集合差別是很大的,計算兩者的標準差,前者是8.3,后者是1.8,顯然后者較為集中,故其標準差小一些,標準差描述的就是這種“散布度”。之所以除以n-1而不是除以n,是因為這樣能使我們以較小的樣本集更好的逼近總體的標準差,即統計上所謂的“無偏估計”這個要用到統計學的知識,因為這個標準差是樣本的標準差是對總體的估計,而對總體的估計的要求當中,有個標準是無偏性,除以n-1是無偏估計,而除以n不是。所以都用n-1,具體證明可參看數理統計的教材,。而方差則僅僅是標準差的平方。為什么需要協方差?上面幾個統計量看似已經描述的差不多了,但我們應該注意到,標準差和方差一般是用來描

27、述一維數據的,但現實生活我們常常遇到含有多維數據的數據集,最簡單的大家上學時免不了要統計多個學科的考試成績。面對這樣的數據集,我們當然可以按照每一維獨立的計算其方差,但是通常我們還想了解更多,比如,一個男孩子的猥瑣程度跟他受女孩子歡迎程度是否存在一些聯系啊,嘿嘿協方差就是這樣一種用來度量兩個隨機變量關系的統計量,我們可以仿照方差的定義:來度量各個維度偏離其均值的程度,標準差可以這么來定義:協方差的結果有什么意義呢?如果結果為正值,則說明兩者是正相關的(從協方差可以引出“相關系數”的定義),也就是說一個人越猥瑣就越受女孩子歡迎,嘿嘿,那必須的結果為負值就說明負相關的,越猥瑣女孩子越討厭,可能嗎?

28、如果為0,也是就是統計上說的“相互獨立”。從協方差的定義上我們也可以看出一些顯而易見的性質,如:協方差多了就是協方差矩陣上一節提到的猥瑣和受歡迎的問題是典型二維問題,而協方差也只能處理二維問題,那維數多了自然就需要計算多個協方差,比如n維的數據集就需要計算個協方差,那自然而然的我們會想到使用矩陣來組織這些數據。給出協方差矩陣的定義:這個定義還是很容易理解的,我們可以舉一個簡單的三維的例子,假設數據集有三個維度,則協方差矩陣為可見,協方差矩陣是一個對稱的矩陣,而且對角線是各個維度上的方差。Matlab協方差實戰上面涉及的內容都比較容易,協方差矩陣似乎也很簡單,但實戰起來就很容易讓人迷茫了。必須要

29、明確一點,協方差矩陣計算的是不同維度之間的協方差,而不是不同樣本之間的。這個我將結合下面的例子說明,以下的演示將使用Matlab,為了說明計算原理,不直接調用Matlab的cov函數(藍色部分為Matlab代碼)。首先,隨機產生一個10*3維的整數矩陣作為樣本集,10為樣本的個數,3為樣本的維數。1MySample = fix(rand(10,3)*50)根據公式,計算協方差需要計算均值,那是按行計算均值還是按列呢,我一開始就老是困擾這個問題。前面我們也特別強調了,協方差矩陣是計算不同維度間的協方差,要時刻牢記這一點。樣本矩陣的每行是一個樣本,每列為一個維度,所以我們要按列計算均值。為了描述方便,我們先將三個維度的數據分別賦值:1dim1 = MySample(:,1);2dim2 = MySample(:,2);3dim3 = MySample

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論