1. IIS算法公式(1)推导

∑x,yP~(x)Pw(y∣x)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}

1.1. 算法原理

假设最大熵模型当前的参数向量是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):w→w+δ\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.2. 推导

  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)+1−∑xP~(x)∑yPw(y∣x)exp∑i=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,i≠j\delta_j,i \neq j。基于此得到新的下界B(δ∣w)B(\delta|w)。
    B(δ∣w)=∑x,yP~(x,y)∑i=1nδifi(x,y)+1−∑xP~(x)∑yPw(y∣x)∑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(y∣x)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

results matching ""

    No results matching ""