1. 程式人生 > >哈爾濱工業大學計算機學院-模式識別-課程總結(二)-概率密度函數的參數估計

哈爾濱工業大學計算機學院-模式識別-課程總結(二)-概率密度函數的參數估計

展開 處理 play bold 避免 dot max 應用 既然

1. 概率密度函數的參數估計

  • 前文講到了利用貝葉斯決策理論構建貝葉斯分類器,初學者難免會有疑問,既然已經可以通過構建貝葉斯分類器的方法處理分類問題,那為什麽還要學習本章節內容?
  • 事實上,貝葉斯分類器的缺可以通過計算先驗概率與類條件概率來設計最優分類器。但是對於大多數實際問題,我們往往無法知道這兩個概率的具體信息,其中先驗概率往往比較容易計算,類條件概率很難獲取。如何計算類條件概率,便是本章要進行講述的內容,

    • 這裏舉一個例子,解釋為什麽先驗概率比較容易獲取。如果100萬個人中有60萬男40萬女,可以粗略認為男性類別的先驗概率為60%。
    • 標題中概率密度函數,指的就是類條件概率的概率密度函數。對於此函數的估計有兩種方法,本章介紹參數估計方法,不介紹非參數估計方法。在授課過程中,老師只是著重強調了非參數估計方法中的近鄰分類器,由於該分類器比較簡單,便不做展開。 讀者只需要了解如下內容即可:
      • 非參數化方法不需要對類條件概率密度的分布形式做出假設,而是直接利用訓練樣本集合對概率密度函數做出估計,也就是省略概率估計,直接計算後驗概率,即設計判別函數。能夠處理任意概率分布,不必假設形式。K近鄰法就是直接估計每個類別的後驗概率。

2. 最大似然估計

  • 最大似然估計把待估計的參數看作是確定性的量,只是取值未知,最佳估計就是使得產生已觀測到樣本(即訓練樣本)的概率為最大的那個。
  • 基於獨立同分布假設,樣本集合\(D\)出現的概率為:
    \[p ( D | \mathbf { \theta } ) = p \left( \mathbf { x } _ { 1 } , \mathbf { x } _ { 2 } , \cdots , \mathbf { x } _ { n } | \mathbf { \theta } \right) = \prod _ { i = 1 } ^ { n } p \left( \mathbf { x } _ { i } | \mathbf { \theta } \right)\]
  • 對數似然函數將乘法變成加法,可以避免出現累乘的概率值越來越小的情況:
    \[l ( \mathbf { \theta } ) = \ln p ( D | \mathbf { \theta } ) = \sum _ { i = 1 } ^ { n } \ln p \left( \mathbf { x } _ { i } | \mathbf { \theta } \right)\]
  • 就對數似然函數而言,最大似然估計便是尋找一個最優參數,使得似然函數\(l(\theta)\)值最大:
    \[\hat { \mathbf { \theta } } = \arg \max l ( \mathbf { \theta } )?\]
  • 當概率密度函數為正態分布形式時,高斯分布(也就是正態分布)參數的最大似然估計結果為:
    \[\hat { \mathbf { \mu } } = \frac { 1 } { n } \sum _ { i = 1 } ^ { n } \mathbf { x } _ { i }\]
    \[\mathbf { \Sigma } = \frac { 1 } { n } \sum _ { i = 1 } ^ { n } \left( \mathbf { x } _ { i } - \hat { \mathbf { \mu } } \right) \left( \mathbf { x } _ { i } - \hat { \mathbf { \mu } } \right) ^ { t }\]

    多變量高斯分布的參數為均值向量和協方差矩陣,均值向量的維度即多變量的個數。只要確定了均值向量與協方差矩陣,高斯分布的函數形式也就確定了。

2.1 高斯混合模型GMM

  • GMM采用混合密度模型的思想:一個復雜的概率密度分布函數可以由多個簡單的密度函數混合構成:
    \[p ( \mathbf { x } | \mathbf { \theta } ) = \sum _ { i = 1 } ^ { M } a _ { i } p _ { i } ( \mathbf { x } | \mathbf { \theta } _ { i } ) , \quad \sum _ { i = 1 } ^ { M } a _ { i } = 1\]

    \(M\)是簡單密度函數的個數,\(a_i\)可以看作是第\(i\)個簡單密度函數的先驗概率。

  • 因此,GMM的形式化數學公式如下所示:
    \[p ( \mathbf { x } ) = \sum _ { i = 1 } ^ { M } a _ { i } N \left( \mathbf { x } ; \mathbf { u } _ { i } , \mathbf { \Sigma } _ { i } \right)\]

    在應用GMM做多個類別分類問題時(one vs rest),每個GMM與每個類別對應(註意區分,是GMM的個數與類別個數相對應,而不是GMM中的簡單高斯模型個數),該函數可以看作是該模型所對應類別的判別函數。

  • GMM的所有參數為:
    \[\mathbf { \theta } = \left( a _ { 1 } , a _ { 2 } , \cdots , a _ { M } , \boldsymbol { \mu } _ { 1 } , \mathbf { \Sigma } _ { 1 } , \cdots , \boldsymbol { \mu } _ { M } , \mathbf { \Sigma } _ { M } \right)\]
  • 高斯混合模型采用EM算法進行訓練,具體學習過程在實驗三中介紹。

2.2 期望最大化算法EM

  • EM算法的應用可以分為兩個方面:
    1.訓練樣本中某些特征丟失情況下,分布參數的最大似然估計。
    2.對某些復雜分布模型假設,最大似然估計很難得到解析解時的叠代算法。

  • 樣本集:令\(X\)是觀察到的樣本數據集合,\(Y\)是丟失的數據集合,完整的樣本集合\(D = X U Y\)

    \(Y\)指的是丟失的某些維度的特征,舉例如下:在高斯混合模型中,可以認為每個高斯模型的先驗概率參數\(a\),就是丟失的特征。

  • 似然函數:在給定參數\(\theta\)時,似然函數可以看作\(Y\)的函數:
    \[l ( \mathbf { \theta } ) = l ( \mathbf { \theta } | D ) = l ( \mathbf { \theta } | \mathbf { X } , \mathbf { Y } ) = \ln p ( \mathbf { X } , \mathbf { Y } | \mathbf { \theta } )\]
  • 由於\(Y\)未知,因此我們需要尋找到一個在\(Y\)的所有可能情況下,平均意義下的似然然函數最大值:
    E步:\(\begin{aligned} Q ( \mathbf { \theta } | \mathbf { \theta } ^ { i - 1 } ) & = E _ { \mathbf { Y } } ( l ( \mathbf { \theta } | \mathbf { X } , \mathbf { Y } ) | \mathbf { X } , \mathbf { \theta } ^ { i - 1 } ) \\ & = E _ { \mathbf { Y } } ( \ln p ( \mathbf { X } , \mathbf { Y } | \mathbf { \theta } ) | \mathbf { X } , \mathbf { \theta } ^ { i - 1 } ) \end{aligned}\)
    M步: \(\mathbf { \theta } ^ { i } = \arg \max _ { \mathbf { \theta } } \mathcal { Q } ( \mathbf { \theta } | \mathbf { \theta } ^ { i - 1 } )\)
  • EM算法通過計算未知特征平均意義下的似然函數最大值,得到最優參數。

    EM算法具有收斂性,此處最優只能保證收斂於局部最優,不一定是全局最優。

3. 貝葉斯估計

  • 貝葉斯估計把待估計的參數看成是符合某種先驗概率分布的隨機矢量。
  • 對樣本D進行觀測的過程,就是把先驗概率密度轉化為後驗概率密度,這樣就利用樣本信息修正了對參數的初始估計值。

    • 利用訓練樣本集合估計出參數矢量的分布,而在識別時需要考慮所有可能參數產生待識別樣本的平均值,也可以是積分形式。
    • 優點是在小樣本集條件下的保持較高估計準確率。
  • 貝葉斯估計的識別過程是類條件概率密度的計算:
    \[p ( \mathbf { x } | D ) = \int p ( \mathbf { x } , \mathbf { \theta } | D ) d \mathbf { \theta } = \int p ( \mathbf { x } | \mathbf { \theta } ) p ( \mathbf { \theta } | D ) d \mathbf { \theta }\]
  • 學習過程是參數後驗概率密度的估計:
    \[p ( \mathbf { \theta } | D ) = \frac { p ( D | \boldsymbol { \theta } ) p ( \boldsymbol { \theta } ) } { \int p ( D | \mathbf { \theta } ) p ( \mathbf { \theta } ) d \mathbf { \theta } } = \frac { \prod _ { i = 1 } ^ { n } p \left( \mathbf { x } _ { i } | \mathbf { \theta } \right) p ( \mathbf { \theta } ) } { \int \prod _ { i = 1 } ^ { n } p \left( \mathbf { x } _ { i } | \mathbf { \theta } \right) p ( \mathbf { \theta } ) d \mathbf { \theta } }\]

哈爾濱工業大學計算機學院-模式識別-課程總結(二)-概率密度函數的參數估計