1. 程式人生 > >機器學習 - 最大熵模型

機器學習 - 最大熵模型

機器學習 - 最大熵模型

  • 最大熵原理

    最大熵的思想認為,在所有可能的概率模型(分佈)中,熵最大的模型是最好的模型(對未知的事實視為等概率發生,不新增任何主觀先驗知識)。

    我們通常用約束條件來確定概率模型的集合,所以也可認為是在滿足約束條件的模型中選出熵最大的模型。

    最大熵模型給出的是最優模型選擇的一個準則。

    例:
    X = {A, B, C ,D, E},要估計 P(A),…,P(E) 的概率,要滿足條件:
    ① P(A) + P(B) = 3/10;
    ② P(A) + … + P(E) = 1

    此時滿足條件的概率組合有無窮多個,而根據最大熵原理,我們視等概率的組合為最優。

    則:
    P ( A ) = P (

    B ) = 1 2 3 10
    = 3 20 P(A) = P(B) = \frac{1}{2} · \frac{3}{10} = \frac{3}{20}

    P ( C ) + P ( D ) + P ( E ) = 1 3 10 = 7 10 P ( C ) = P ( D ) = P ( E ) = 1 3 7 10 = 7 30 P(C) + P(D) + P(E) = 1 - \frac{3}{10} = \frac{7}{10} \rightarrow P(C) = P(D) = P(E) = \frac{1}{3} · \frac{7}{10} = \frac{7}{30}

  • 最大熵模型

    假設分類模型是一個 條件概率分佈 P ( Y X ) P(Y|X) ,此模型表示的是:對於給定輸入 X X ,以條件概率 P ( Y X ) P(Y|X) 輸出 Y Y .

    1. 定義

      P ~ ( X = x , Y = y ) = V ( X = x , Y = y ) N \widetilde{P} (X=x,Y=y)= \frac{V(X=x,Y=y)}{N}

      P ~ ( X = x ) = V ( X = x ) N \widetilde{P} (X=x) = \frac{V(X=x)}{N}

      其中,

      " ~ " 表示經驗,是從資料中獲得的, P ~ \widetilde{P} 即經驗概率, E P ~ E_{\widetilde{P}} 即經驗期望。

      V ( X = x , Y = y ) V(X=x,Y=y) 表示在訓練樣本中 ( x , y ) (x,y) 同時出現的樣本數;

      V ( X = x ) V(X=x) 表示訓練樣本中 x x 出現的的樣本數。


      用特徵函式 f ( x , y ) f(x,y) 描述 x x y y 之間的事實: f ( x , y ) = { 1 x y 滿 0 o t h e r w i s e f(x,y)=\begin{cases}1,x 與 y 滿足某事實\\0,otherwise\\\end{cases}

      特徵函式 f ( x , y ) f(x,y) 關於 P ~ ( x , y ) \widetilde{P} (x,y) 期望值: E P ~ ( f ) = x , y P ~ ( x , y ) f ( x , y ) E_{\widetilde{P}}(f)=\sum_{x,y}\widetilde{P} (x,y)f(x,y)

      特徵函式 f ( x , y ) f(x,y) 關於模型 P ( Y X ) P(Y|X) 以及 P ~ ( x ) \widetilde{P}(x) 的期望值: E P ~ ( f ) = x , y P ~ ( x ) p ( y x ) f ( x , y ) E_{\widetilde{P}}(f)=\sum_{x,y}\widetilde{P} (x)p(y|x)f(x,y)


      如果模型能夠學習到訓練資料中的資訊,則可假設 E P ( f ) = E