1.熵與最大熵原理
熵是隨機變量不確定性的度量,不確定性越大,熵值就越大;若隨機變量退化成定值,熵為0。均勻分布是“最不確定”的分布
假設離散隨機變量X的概率分布為P(x),則其熵為:
聯合熵和條件熵
兩個隨機變量的X,Y的聯合分布,可以形成聯合熵,用H(X,Y)表示
條件熵H(X|Y) = H(X,Y) - H(Y)
相對熵與互信息
設p(x),q(x)是X中取值的兩個概率分布,則p對q的相對熵是:
兩個隨機變量X,Y的互信息,定義為X,Y的聯合分布和獨立分布乘積的相對熵。
最大熵原理是統計學的一般原理,也是概率模型學習的一個准則。最大熵原理認為,學習概率模型時,在所有可能的概率模型中,熵最大的模型是最好的模型。
2.最大熵模型
2.1最大熵模型的實例(參考[1])
在英漢翻譯中,take有多種解釋例如上文中存在7中,在沒有任何限制的條件下,最大熵原理認為翻譯成任何一種解釋都是等概率的。
實際中總有或多的限制條件,例如t1,t2比較常見,假設滿足
同樣根據最大熵原理,可以得出:
實際的統計模型中,還需要引入特征提高准確率。例如take翻譯為乘坐的概率小,但是當后面跟着交通工具的名詞“bus",概率就變得非常大。
用特征函數f(x,y)描述輸入x,輸出y之間的某一個事實,只有0和1兩種值,稱為二值函數。例如:
最大熵模型根據最大熵原理在類似上面的特征限制下選擇最優的概率分布。
2.2 最大熵模型的數學推導(參考[2])
對於給定的訓練數據集T={(x1,y1),(x2,y2),(x3,y3)...(xn,yn)}以及特征函數fi(x,y),i=1,2,3...n,最大熵模型的學習等價於約束的最優化問題:
引入朗格朗日算子W,定義拉格朗日函數L(P,w)
最優化的原始問題:
對偶問題是:
由於L(P,W)是P的凸函數,原始問題的解與對偶問題的解是等價的。這里通過求對偶問題的解來求原始問題的解。
第一步求解內部極小化問題,記為:
通過微分求導,得出P的解是:
第二步求外部的極大化問題:
最后的解記為:
第三步可以證明對偶函數的極大化等價於第一步求解出的P的極大似然估計,所以將最大熵模型寫成更一般的形式.
2.3 最大熵模型學習算法
由模型的數學推導2.2知道,最大熵模型的學習最終可以歸結為以最大熵模型似然函數為目標函數的優化問題。這時的目標函數是凸函數,因此有很多種方法都能保證找到全局最優解。例如改進的迭代尺度法(IIS),梯度下降法,牛頓法或擬牛頓法,牛頓法或擬牛頓法一般收斂比較快。
《統計學習方法》中有非常詳細的使用IIS優化目標函數的過程。
算法的推導比較麻煩,但思路是清晰的:
References:
[2]《統計學習方法》.李航
[3]一文搞懂最大似然估計