改進的迭代尺度法(Improved Iterative Scaling),在很多模型求解中用到,比如最大熵、CRFs等,對模型是對數線性模型的似然都適用。這個算法的思想也很簡單,通俗的理解就是通過兩個不等式變形優化下界,從而迭代到收斂的算法。
用到兩個不等式,對 α>0 :
(1)
對 p(x)是一個概率密度函數
(2)
這是文章中需要用到的兩個不等式,先當做定理記下來吧。
CRF模型為:
其中Λ代表權值向量,, ZΛ(x)是歸一化因子。
似然函數可以寫成:
其中是樣本(x,y)出現的頻率。
接下來我們就是要找到合適的Λ向量。
我們假設
問題可以看做每次尋找一個Λ的移動向量,然后不斷迭代,接下來就是確定每一步如何找到 ΔΛ .一種容易想到的做法就是通過最大化兩次迭代的差值(因為這樣可以保證不斷接近似然函數的極大值),從而實現每一步得到最優的 ΔΛ。
對上面式子通過不等式 (1) 可以改寫為:
定義:
於是我們得到:
(3)
對(3)應用不等式(2)可得:
(4)
綜上,我們可以得到如下不等式:
對(4)中不等號右邊的式子求偏導(視δi是自變量)可得:
(5)
令(5)為0可以直接解出來δi , 從而不斷迭代達到收斂。
參考:http://x-algo.cn/wp-content/uploads/2016/02/berger-iis.pdf