IIS算法公式(1)推导

x,yP~(x)Pw(yx)fi(x,y)exp(δi)f#(x,y))=EP~(fi)f#=ifi(x,y)\begin{aligned} \sum_{x,y}\tilde P(x)P_w(y|x)f_i(x, y)\exp(\delta_i)f^\#(x,y))=E_{\tilde P}(f_i) \\ f^\# = \sum_if_i(x,y) \end{aligned}

算法原理

假设最大熵模型当前的参数向量是w=(w1,w2,,wn)Tw=(w_1,w_2,\cdots,w_n)^T, 我们希望找到一个新的参数向量w+δ=(w1+δ1,w2+δ2,,wn+δn)Tw+\delta = (w_1+\delta_1,w_2+\delta_2,\cdots,w_n+\delta_n)^T使得L(w)增大。 如果有这样一种参数向量更新的方法τ(w):ww+δ\tau(w):w \rightarrow w+\delta, 那么就可以重复使用这一方法,直至找到L(w)的最大值。

A(δw)A(\delta|w)L(w+δ)L(w)L(w+\delta) - L(w)的下界,即满足L(w+δ)L(w)A(δw)L(w+\delta) - L(w) \ge A(\delta|w),那么 找到适当的δ\delta使下界A(δw)A(\delta|w)提高,那么L(w)也会提高。

推导

  1. 计算L(w+δ)L(w)L(w+\delta) - L(w)的下界A(δw)A(\delta|w),得:

    A(δw)=x,yP~(x,y)i=1nδifi(x,y)+1xP~(x)yPw(yx)expi=1nδifi(x,y)A(\delta|w) = \sum_{x,y}\tilde P(x,y)\sum_{i=1}^n\delta_if_i(x,y) + 1 - \sum_x\tilde P(x)\sum_yP_w(y|x)\exp \sum_{i=1}^n\delta_if_i(x,y)
  2. 需要找到适当的δ\delta使下界A(δw)A(\delta|w)提高。但A(δw)A(\delta|w)中的δ\delta是一个向量,含有多个变量,不易同时优化。因此,一次只优化其中一个变量δi\delta_i,而固定其它变量δj,ij\delta_j,i \neq j。基于此得到新的下界B(δw)B(\delta|w)

    B(δw)=x,yP~(x,y)i=1nδifi(x,y)+1xP~(x)yPw(yx)i=1n(fi(x,y)f#(x,y))exp(δif#(x,y))f#=ifi(x,y)3\begin{aligned} B(\delta|w) = \sum_{x,y}\tilde P(x,y)\sum_{i=1}^n\delta_if_i(x, y) + 1 - \sum_x\tilde P(x)\sum_yP_w(y|x)\sum_{i=1}^n(\frac{f_i(x,y)}{f^\#(x,y)})\exp(\delta_if^\#(x,y)) \\ f^\# = \sum_if_i(x,y) && {3} \end{aligned}
  3. B(δw)B(\delta|w)δi\delta_i求偏导,并令偏导=0,得到等式:

    x,yP~(x)Pw(yx)fi(x,y)exp(δi)f#(x,y))=EP~(fi)\sum_{x,y}\tilde P(x)P_w(y|x)f_i(x, y)\exp(\delta_i)f^\#(x,y))=E_{\tilde P}(f_i)

    即算法中要解的公式

依次解出δi\delta_i,进一步求出δ\delta,再通过δ\delta更新w 迭代进行以上步骤,直至找到最优的w

Last updated