熵是隨機變量不肯定性的度量,不肯定性越大,熵值就越大;若隨機變量退化成定值,熵爲0。均勻分佈是「最不肯定」的分佈html
假設離散隨機變量X的機率分佈爲P(x),則其熵爲:算法
聯合熵和條件熵函數
兩個隨機變量的X,Y的聯合分佈,能夠造成聯合熵,用H(X,Y)表示工具
條件熵H(X|Y) = H(X,Y) - H(Y)post
相對熵與互信息學習
設p(x),q(x)是X中取值的兩個機率分佈,則p對q的相對熵是:優化
兩個隨機變量X,Y的互信息,定義爲X,Y的聯合分佈和獨立分佈乘積的相對熵。翻譯
最大熵原理是統計學的通常原理,也是機率模型學習的一個準則。最大熵原理認爲,學習機率模型時,在全部可能的機率模型中,熵最大的模型是最好的模型。3d
2.最大熵模型
2.1最大熵模型的實例(參考[1])
在英漢翻譯中,take有多種解釋例如上文中存在7中,在沒有任何限制的條件下,最大熵原理認爲翻譯成任何一種解釋都是等機率的。htm
實際中總有或多的限制條件,例如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]一文搞懂最大似然估計