改进的迭代尺度算法(IIS)

改进的迭代尺度算法(Improved Iterative Scaling ,IIS)

改进的迭代尺度算法是一种最大熵模型学习的最优化方法,其核心思想是:假设最大熵模型当前的参数向量是 w w w,希望找到一个新的参数向量 w + δ w+\delta w+δ,使得当前模型的对数似然函数值 Ψ \Psi Ψ 增加。重复这一过程,直至找到对数似然函数的最大值。

已知最大熵模型为:
(1) P w ( y ∣ x ) = 1 Z w ( x ) exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) P_{w}(y|x)=\frac{1}{Z_{w}(x)}\exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right ) \tag{1} Pw(yx)=Zw(x)1exp(i=1nwifi(x,y))(1)
其中 (2) Z w ( x ) = ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) ( 规 范 化 因 子 ) Z_{w}(x)=\sum_{y}\exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right )(规范化因子)\tag{2} Zw(x)=yexp(i=1nwifi(x,y))(2)
f ( x , y ) = { 1 , 若 x , y 满 足 某 一 事 实 0 , 否 则 f(x,y)=\left\{\begin{matrix} 1,若 x,y 满足某一事实\\ 0,否则\end{matrix}\right. f(x,y)={1x,y0
对数似然函数:
(3) Ψ ( w ) = ∑ x , y p ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x p ~ ( x ) log ⁡ Z w ( x ) \Psi(w) =\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\sum_{x}\tilde{p}(x)\log Z_{w}(x)\tag{3} Ψ(w)=x,yp~(x,y)i=1nwifi(x,y)xp~(x)logZw(x)(3)
其中, ∑ x , y p ~ ( x , y ) = ∑ x p ~ ( x ) \sum_{x,y}\tilde{p}(x,y)=\sum_{x}\tilde{p}(x) x,yp~(x,y)=xp~(x)

可以看到 Ψ ≤ 0 \Psi \leq 0 Ψ0,所以, Ψ ( w ) = 0 \Psi(w)=0 Ψ(w)=0 是最优的。

现在我们需要求的就是使 Ψ ( w ) \Psi(w) Ψ(w) 值最大时所对应的参数 w w w 的值。

给定特征函数集 f 1 , f 2 , . . . , f n {f_{1},f_{2},...,f_{n}} f1,f2,...,fn,最大熵模型(1)和经验分布 P ~ ( x , y ) \tilde{P}(x,y) P~(x,y),下面求 W ∗ W^{*} W,使得 W ∗ = arg ⁡ max ⁡ w Ψ ( w ) W^{*}=\arg \max_{w}\Psi(w) W=argmaxwΨ(w)
由定义: (4) Ψ ( w ) = ∑ x , y p ~ ( x , y ) log ⁡ p w ( y ∣ x ) \Psi(w)=\sum_{x,y}\tilde{p}(x,y)\log p_{w}(y|x)\tag{4} Ψ(w)=x,yp~(x,y)logpw(yx)(4)

IIS 的想法是:假设最大熵模型当前的参数向量是 w = ( w 1 , w 2 , . . . , w n ) T w=(w_{1},w_{2},...,w_{n})^T w=(w1,w2,...,wn)T,我们希望找到一个新的参数向量 w + δ = ( w 1 + δ 1 , w 2 + δ 2 , , . . . , w n + δ n ) T w+\delta=(w_{1}+\delta_{1},w_{2}+\delta_{2},,...,w_{n}+\delta_{n})^{T} w+δ=(w1+δ1,w2+δ2,,...,wn+δn)T,使得模型的对数似然函数值增大。如果能有一种向量的更新方法: w : w + δ w:w+\delta w:w+δ,那么就可以重复使用这一方法直到找到对数似然函数得最大值。

第一步:

由(4)得,模型参数从 w w w w + δ w+\delta w+δ,对数似然函数得改变量为:
Ψ ( w + δ ) − Ψ ( w ) = 由 ( 4 ) 式 ∑ x , y p ~ ( x , y ) log ⁡ p w + δ ( y ∣ x ) − ∑ x , y p ~ ( x , y ) log ⁡ p w ( y ∣ x ) = 由 ( 3 ) 式 ∑ x , y p ~ ( x , y ) ∑ i = 1 n ( w i + δ i ) f i ( x , y ) − ∑ x p ~ ( x ) log ⁡ Z w + δ ( x ) − ( ∑ x , y p ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x p ~ ( x ) log ⁡ Z w ( x ) ) = ∑ x , y p ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) − ∑ x p ~ ( x ) log ⁡ Z w + δ ( x ) Z w ( x ) \Psi(w+\delta)-\Psi(w)\overset{由(4)式}{=}\sum_{x,y}\tilde{p}(x,y)\log p_{w+\delta}(y|x)-\sum_{x,y}\tilde{p}(x,y)\log p_{w}(y|x)\\ \overset{由(3)式}{=}\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}(w_{i}+\delta_{i})f_{i}(x,y)-\sum_{x}\tilde{p}(x)\log Z_{w+\delta}(x)-\left (\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\sum_{x}\tilde{p}(x)\log Z_{w}(x)\right )\\ =\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)-\sum_{x}\tilde{p}(x)\log \frac{Z_{w+\delta}(x)}{Z_{w}(x)} Ψ(w+δ)Ψ(w)=4x,yp~(x,y)logpw+δ(yx)x,yp~(x,y)logpw(yx)=3x,yp~(x,y)i=1n(wi+δi)fi(x,y)xp~(x)logZw+δ(x)(x,yp~(x,y)i=1nwifi(x,y)xp~(x)logZw(x))=x,yp~(x,y)i=1nδifi(x,y)xp~(x)logZw(x)Zw+δ(x)

利用不等式: − log ⁡ α ≥ 1 − α ( α > 0 ) -\log \alpha\geq1-\alpha (\alpha>0) logα1α(α>0) ( 由 x ≤ e x − 1 ( x > 0 ) ⇒ log ⁡ x ≤ x − 1 ( x > 0 ) x\leq e^{x-1}(x>0)\Rightarrow \log x\leq x-1(x>0) xex1(x>0)logxx1(x>0) 得到上述不等式)

建立对数似然函数改变量的下界:
⇒ Ψ ( w + δ ) − Ψ ( w ) ≥ ∑ x , y p ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) − ∑ x p ~ ( x ) ( Z w + δ ( x ) Z w ( x ) − 1 ) = ∑ x , y p ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) + 1 − ∑ x p ~ ( x ) Z w + δ ( x ) Z w ( x ) \Rightarrow \Psi(w+\delta)-\Psi(w)\geq \sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)-\sum_{x}\tilde{p}(x)\left ( \frac{Z_{w+\delta}(x)}{Z_{w}(x)}-1\right )\\ =\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)+1-\sum_{x}\tilde{p}(x)\frac{Z_{w+\delta}(x)}{Z_{w}(x)} Ψ(w+δ)Ψ(w)x,yp~(x,y)i=1nδifi(x,y)xp~(x)(Zw(x)Zw+δ(x)1)=x,yp~(x,y)i=1nδifi(x,y)+1xp~(x)Zw(x)Zw+δ(x)
对于 Z w + δ ( x ) Z w ( x ) \frac{Z_{w+\delta}(x)}{Z_{w}(x)} Zw(x)Zw+δ(x),根据 Z w ( x ) = ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) Z_{w}(x)=\sum_{y}\exp (\sum_{i=1}^{n}w_{i}f_{i}(x,y)) Zw(x)=yexp(i=1nwifi(x,y))
⇒ Z w + δ ( x ) Z w ( x ) = 1 Z w ( x ) ⋅ ∑ y exp ⁡ ( ∑ i = 1 n ( w i + δ i ) f i ( x , y ) ) = 1 Z w ( x ) ⋅ ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) + ∑ i = 1 n δ i f i ( x , y ) ) = 1 Z w ( x ) ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) exp ⁡ ( ∑ i = 1 n δ i f i ( x , y ) ) = ∑ y 1 Z w ( x ) exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) exp ⁡ ( ∑ i = 1 n δ i f i ( x , y ) ) = ∑ y p w ( y ∣ x ) ⋅ exp ⁡ ( ∑ i = 1 n δ i f i ( x , y ) ) \Rightarrow \frac{Z_{w+\delta}(x)}{Z_{w}(x)}=\frac{1}{Z_{w}(x)}\cdot \sum_{y}\exp\left (\sum_{i=1}^{n}(w_{i}+\delta_{i})f_{i}(x,y)\right )\\ =\frac {1}{Z_{w}(x)}\cdot\sum_{y}\exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)+\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)\right )\\ =\frac{1}{Z_{w}(x)}\sum_{y}\exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right )\exp\left (\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)\right )\\ =\sum_{y}\frac{1}{Z_{w}(x)}\exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right )\exp\left (\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)\right )\\ =\sum_{y}p_{w}(y|x)\cdot \exp\left (\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)\right ) Zw(x)Zw+δ(x)=Zw(x)1yexp(i=1n(wi+δi)fi(x,y))=Zw(x)1yexp(i=1nwifi(x,y)+i=1nδifi(x,y))=Zw(x)1yexp(i=1nwifi(x,y))exp(i=1nδifi(x,y))=yZw(x)1exp(i=1nwifi(x,y))exp(i=1nδifi(x,y))=ypw(yx)exp(i=1nδifi(x,y))
将上述式子代入 Ψ ( w + δ ) − Ψ ( w ) \Psi(w+\delta)-\Psi(w) Ψ(w+δ)Ψ(w)
⇒ Ψ ( w + δ ) − Ψ ( w ) ≥ ∑ x , y p ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) + 1 − ∑ x p ~ ( x ) ∑ y p w ( y ∣ x ) exp ⁡ ( ∑ i = 1 n δ i f i ( x , y ) ) \Rightarrow\Psi(w+\delta)-\Psi(w)\geq\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)+1-\sum_{x}\tilde{p}(x)\sum_{y}p_{w}(y|x)\exp\left (\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)\right ) Ψ(w+δ)Ψ(w)x,yp~(x,y)i=1nδifi(x,y)+1xp~(x)ypw(yx)exp(i=1nδifi(x,y))

将不等式右端记为 (5) A ( δ ∣ w ) = ∑ x , y p ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) + 1 − ∑ x p ~ ( x ) ∑ y p w ( y ∣ x ) exp ⁡ ( ∑ i = 1 n δ i f i ( x , y ) ) A(\delta|w)=\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)+1-\sum_{x}\tilde{p}(x)\sum_{y}p_{w}(y|x)\exp\left (\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)\right )\tag{5} A(δw)=x,yp~(x,y)i=1nδifi(x,y)+1xp~(x)ypw(yx)exp(i=1nδifi(x,y))(5)
于是
⇒ Ψ ( w + δ ) − Ψ ( w ) ≥ A ( δ ∣ w ) \Rightarrow\Psi(w+\delta)-\Psi(w)\geq A(\delta|w) Ψ(w+δ)Ψ(w)A(δw)
A ( δ ∣ w ) A(\delta|w) A(δw) 是对数似然函数改变量的一个下界。

第二步

现目标是:找到适当的 δ \delta δ ,使得下界 A ( δ ∣ w ) A(\delta|w) A(δw) 提高,则似然函数也会提高,但 A ( δ ∣ w ) A(\delta|w) A(δw) 是一个 n n n维向量,不易于同时优化,IIS 试图一次优化其中一个 δ i \delta_{i} δi ,而固定其它 δ j \delta_{j} δj 不变, i ≠ j i\neq j i̸=j

注意:
这里的目的就是最大化两次迭代之间的差值。
1.差值的最大值如果小于 0,说明这时已经达到了最大值,在当前位置向任何方向走,对数似然函数都会变小,而我们要求的是极大似然函数,所以已经达到最大的似然函数了,此时的参数即为我们所求的参数。
2.差值如果大于 0,那么我们现在就是要最大化这个差值,这里得到了差值的下界 A ( δ ∣ w ) A(\delta|w) A(δw) ,可以通过不断地最大化此下界,从而得到最大的差值,而最大化下界的方法是:首先对 A ( δ ∣ w ) A(\delta|w) A(δw) 求关于 δ i \delta_{i} δi 的偏导数,并令其为 0,但看这个求出的偏导数:
∂ ( A ( δ ∣ w ) ) ∂ δ i = ∑ x , y p ~ ( x , y ) f i ( x , y ) − ∑ x p ~ ( x ) ∑ y p w ( y ∣ x ) exp ⁡ ( ∑ i = 1 n δ i f i ( x , y ) ) f i ( x , y ) \frac{\partial (A(\delta|w))}{\partial \delta_{i}}=\sum_{x,y}\tilde{p}(x,y)f_{i}(x,y)-\sum_{x}\tilde{p}(x)\sum_{y}p_{w}(y|x)\exp\left(\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)\right)f_{i}(x,y) δi(A(δw))=x,yp~(x,y)fi(x,y)xp~(x)ypw(yx)exp(i=1nδifi(x,y))fi(x,y)
里面含有多个变量,不易同时优化。

因此为达到这一目的并进一步降低下界 A ( δ ∣ w ) A(\delta|w) A(δw) ,IIS 引进一个新的量:
f # ( x , y ) = ∑ i f i ( x , y ) f^{\#}(x,y)=\sum_{i}f_{i}(x,y) f#(x,y)=ifi(x,y)
因为 f i ( x , y ) f_{i}(x,y) fi(x,y) 是一个二值函数,所以 f # ( x , y ) f^{\#}(x,y) f#(x,y) 表示所有特征在 ( x , y ) (x,y) (x,y) 出现的次数。
所以(5)式可改写为:
⇒ A ( δ ∣ w ) = ∑ x , y p ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) + 1 − ∑ x p ~ ( x ) ∑ y p w ( y ∣ x ) exp ⁡ ( f # ( x , y ) ∑ i = 1 n δ i f i ( x , y ) f # ( x , y ) ) \Rightarrow A(\delta|w)=\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)+1-\sum_{x}\tilde{p}(x)\sum_{y}p_{w}(y|x)\exp\left (f^{\#}(x,y)\sum_{i=1}^{n}\frac {\delta_{i}f_{i}(x,y)}{f^{\#}(x,y)} \right ) A(δw)=x,yp~(x,y)i=1nδifi(x,y)+1xp~(xypw(yx)exp(f#(x,y)i=1nf#(x,y)δifi(x,y))
利用指数函数的凸函数性质,及对任意 i i i,有 f i ( x , y ) f # ( x , y ) ≥ 0 \frac{f_{i}(x,y)}{f^{\#}(x,y)}\geq 0 f#(x,y)fi(x,y)0 ∑ i = 1 n f i ( x , y ) f # ( x , y ) = 1 \sum_{i=1}^{n}\frac{f_{i}(x,y)}{f^{\#}(x,y)}=1 i=1nf#(x,y)fi(x,y)=1,利用詹森不等式:
exp ⁡ ( ∑ x p ( x ) q ( x ) ) ≤ ∑ x p ( x ) exp ⁡ q ( x ) \exp\left(\sum_{x}p(x)q(x)\right)\leq\sum_{x}p(x)\exp q(x) exp(xp(x)q(x))xp(x)expq(x)
p ( x ) = f i ( x , y ) f # ( x , y ) p(x)=\frac{f_{i}(x,y)}{f^{\#}(x,y)} p(x)=f#(x,y)fi(x,y), q ( x ) = δ i f # ( x , y ) q(x)=\delta_{i}f^{\#}(x,y) q(x)=δif#(x,y)
(6) ⇒ A ( δ ∣ w ) = ∑ x , y p ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) + 1 − ∑ x p ~ ( x ) ∑ y p w ( y ∣ x ) exp ⁡ ( ∑ i = 1 n δ i f i ( x , y ) f # ( x , y ) f # ( x , y ) ) ≥ ∑ x , y p ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) + 1 − ∑ x p ~ ( x ) ∑ y p w ( y ∣ x ) ∑ i = 1 n ( f i ( x , y ) f # ( x , y ) ) exp ⁡ ( δ i f # ( x , y ) ) \Rightarrow A(\delta|w)=\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)+1-\sum_{x} \tilde{p}(x)\sum_{y}p_{w}(y|x)\exp \left (\sum_{i=1}^{n}\frac{\delta_{i}f_{i}(x,y)f^{\#}(x,y)}{f^{\#}(x,y)}\right)\tag{6} \\ \geq\sum_{x,y}\tilde{p}(x,y)\sum_{i=1}^{n}\delta_{i}f_{i}(x,y)+1-\sum_{x}\tilde{p}(x)\sum_{y}p_{w}(y|x)\sum_{i=1}^{n}\left(\frac{f_{i}(x,y)}{f^{\#}(x,y)}\right)\exp({\delta_{i}f^{\#}(x,y)}) A(δw)=x,yp~(x,y)i=1nδifi(x,y)+1xp~(x)ypw(yx)exp(i=1nf#(x,y)δifi(x,y)f#(x,y))x,yp~(x,y)i=1nδifi(x,y)+1xp~(x)ypw(yx)i=1n(f#(x,y)fi(x,y))exp(δif#(x,y))(6)
将上述不等式右边记为 B ( δ ∣ w ) B(\delta|w) B(δw) ,则: Ψ ( w + δ ) − Ψ ( w ) ≥ B ( δ ∣ w ) \Psi(w+\delta)-\Psi(w)\geq B(\delta|w) Ψ(w+δ)Ψ(w)B(δw)
这里, B ( δ ∣ w ) B(\delta|w) B(δw) 是对数似然函数改变量的一个新的下界。

第三步

对于新下界 B ( δ ∣ w ) B(\delta|w) B(δw),对 δ i \delta_{i} δi 求偏导得(注意:这里是对一项 δ i \delta_{i} δi 求偏导,而非所有 δ \delta δ
∂ ( B ( δ ∣ w ) ) ∂ δ i = ∑ x , y p ~ ( x , y ) f i ( x , y ) − ∑ x p ~ ( x ) ∑ y p w ( y ∣ x ) f i ( x , y ) exp ⁡ ( δ i f # ( x , y ) ) \frac{\partial (B(\delta|w))}{\partial \delta_{i}}=\sum_{x,y}\tilde{p}(x,y)f_{i}(x,y)-\sum_{x}\tilde{p}(x)\sum_{y}p_{w}(y|x)f_{i}(x,y)\exp(\delta_{i}f^{\#}(x,y)) δi(B(δw))=x,yp~(x,y)fi(x,y)xp~(x)ypw(yx)fi(x,y)exp(δif#(x,y))
其中, ( ∑ i = 1 n ( f i ( x , y ) f # ( x , y ) ) exp ⁡ ( δ i f # ( x , y ) ) ) δ i ′ = ( ∑ a ⋅ e δ i b ) δ i ′ = a b ⋅ e δ i b f i ( x , y ) f # ( x , y )   ⋅ f # ( x , y ) ⋅ exp ⁡ ( δ i f # ( x , y ) ) \left(\sum_{i=1}^{n}(\frac {f_{i}(x,y)}{f^{\#}(x,y)})\exp(\delta_{i}f^{\#}(x,y))\right)_{\delta_{i}}^{'}\overset{(\sum a\cdot e^{\delta_{i}b})_{\delta_{i}}^{'}=a b\cdot e^{\delta_{i}b}}{=}\frac{f_{i}(x,y)}{f^{\#}(x,y)~}\cdot f^{\#}(x,y)\cdot \exp(\delta_{i}f^{\#}(x,y)) (i=1n(f#(x,y)fi(x,y))exp(δif#(x,y)))δi=(aeδib)δi=abeδibf#(x,y) fi(x,y)f#(x,y)exp(δif#(x,y))

这里,偏导数 ∂ ( B ( δ ∣ w ) ) ∂ δ i \frac{\partial (B(\delta|w))}{\partial \delta_{i}} δi(B(δw)) 中除 δ i \delta_{i} δi 以外,不含任何其他变量,令 ∂ ( B ( δ ∣ w ) ) ∂ δ i = 0 \frac{\partial (B(\delta|w))}{\partial \delta_{i}}=0 δi(B(δw))=0
(7) ⇒ ∑ x p ~ ( x ) ∑ y p w ( y ∣ x ) f i ( x , y ) exp ⁡ ( δ i f # ( x , y ) ) = ∑ x , y p ~ ( x , y ) f i ( x , y ) ⇒ ∑ x , y p ~ ( x ) p w ( y ∣ x ) f i ( x , y ) exp ⁡ ( δ i f # ( x , y ) ) = E p ~ ( f i ) \Rightarrow\sum_{x}\tilde{p}(x)\sum_{y}p_{w}(y|x)f_{i}(x,y)\exp(\delta_{i}f^{\#}(x,y))=\sum_{x,y}\tilde{p}(x,y)f_{i}(x,y)\\ \Rightarrow \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})\tag{7} xp~(x)ypw(yx)fi(x,y)exp(δif#(x,y))=x,yp~(x,y)fi(x,y)x,yp~(x)pw(yx)fi(x,y)exp(δif#(x,y))=Ep~(fi)(7)
依次对 δ i \delta_{i} δi 求解方程(7),从而求出 δ \delta δ ,这样就可以 W ∗ = ( w 1 , w 2 , . . . , w n ) W^{*}=(w_{1},w_{2},...,w_{n}) W=(w1,w2,...,wn) 的值进行更新了。


算法描述

改进的迭代尺度算法IIS

输入:特征函数 f 1 , f 2 , . . , f n f_{1},f_{2},..,{f_{n}} f1,f2,..,fn;经验分布函数 p ~ ( X , Y ) \tilde{p}(X,Y) p~(X,Y),模型 P w ( y ∣ x ) P_{w}(y|x) Pw(yx)
输出:最优参数值 w ∗ w^{*} w;最优模型 P w ∗ P_{w^{*}} Pw

(1)对所有 i ∈ { 1 , 2 , . . . , n } i \in \left \{ 1,2,...,n\right \} i{1,2,...,n},取初值 w i = 0 w_{i}=0 wi=0
(2)对每一个 i ∈ { 1 , 2 , . . . , n } i \in \left \{ 1,2,...,n\right \} i{1,2,...,n}

  • (a)令 δ i \delta_{i} δi 是方程 ∑ x , y p ~ ( x ) p w ( y ∣ x ) f i ( x , y ) exp ⁡ ( δ i f # ( x , y ) ) = E p ~ ( f i ) \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}) x,yp~(x)pw(yx)fi(x,y)exp(δif#(x,y))=Ep~(fi) 的解,这里, f # ( x , y ) = ∑ i f ( x , y ) f^{\#}(x,y)=\sum_{i}f_{}(x,y) f#(x,y)=if(x,y)
  • (b)更新 w i w_{i} wi 值: w i → w i + δ i w_{i}\rightarrow w_{i}+\delta_{i} wiwi+δi

(3)如果不是所有的 w i w_{i} wi 都收敛,重复(2)。

这一算法关键是(a),即求解方程(7)中的 δ i \delta_{i} δi
如果 f # ( x , y ) f^{\#}(x,y) f#(x,y) 是常数,即对任何 x , y x,y x,y f # ( x , y ) = M f^{\#}(x,y)=M f#(x,y)=M,那么 δ i \delta_{i} δi 可以显示地表示成 δ i = 1 M log ⁡ E p ~ ( f i ) E p ( f i ) \delta_{i}=\frac{1}{M}\log\frac{E_{\tilde{p}}(f_{i})}{E_{p}(f_{i})} δi=M1logEp(fi)Ep~(fi)
如果 f # ( x , y ) f^{\#}(x,y) f#(x,y) 不是常数,那么必须通过数值计算求 δ i \delta_{i} δi
(注意:这里 f # f^{\#} f# f f f 的加权和,为什么 f # f^{\#} f#可能不为常数呢?因为离线训练中是常数,在线训练(增量式训练样本)中就不是常数。)

简单有效的方法是:牛顿法。以 g ( δ i ) = 0 g(\delta_{i})=0 g(δi)=0 表示方程(7),牛顿法通过迭代求得 δ i ∗ \delta_{i}^{*} δi ,使得 g ( δ i ∗ ) = 0 g(\delta_{i}^{*})=0 g(δi)=0
迭代公式为:
δ i ( k + 1 ) = δ i ( k ) − g ( δ i ( k ) ) g ′ ( δ i ( k ) ) \delta_{i}^{({k+1})}=\delta_{i}^{(k)}-\frac{g(\delta_{i}^{(k)})}{g^{'}(\delta_{i}^{(k)})} δi(k+1)=δi(k)g(δi(k))g(δi(k))
只要适当选取初始值 δ i ( 0 ) \delta_{i}^{(0)} δi(0) ,由于 δ i \delta_{i} δi 的方程(7)有单根,因此牛顿法恒收敛,而且收敛的速度很快。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值