读书笔记-统计学习方法-逻辑斯谛回归与最大熵模型
逻辑斯谛回归模型
逻辑斯谛分布定义 设
X
X
X是连续随机变量,
X
X
X服从逻辑斯谛分布是指
X
X
X具有下列分布函数和密度函数:
F
(
x
)
=
P
(
X
≤
x
)
=
1
1
+
e
−
(
x
−
μ
)
/
γ
f
(
x
)
=
F
′
(
x
)
=
e
−
(
x
−
μ
)
/
γ
γ
(
1
+
e
−
(
x
−
μ
)
/
γ
)
2
F(x) = P(X\le x) = \frac{1}{1+e^{-(x-\mu)/\gamma}} \\ f(x) = F'(x) = \frac{e^{-(x-\mu)/ \gamma }}{\gamma (1+e^{-(x-\mu)/ \gamma})^2}
F(x)=P(X≤x)=1+e−(x−μ)/γ1f(x)=F′(x)=γ(1+e−(x−μ)/γ)2e−(x−μ)/γ
式中,
μ
\mu
μ为位置参数,
γ
>
0
\gamma >0
γ>0为形状参数。
逻辑斯谛回归模型定义 二项逻辑斯谛回归模型是如下的条件概率分布:
P
(
Y
=
1
∣
x
)
=
exp
(
w
⋅
x
+
b
)
1
+
exp
(
w
⋅
x
+
b
)
P
(
P
=
0
∣
x
)
=
1
1
+
exp
(
w
⋅
x
+
b
)
P(Y=1|x) = \frac{\exp(w\cdot x+b)}{1+\exp (w \cdot x+b)} \\ P(P=0|x) = \frac{1}{1+\exp(w \cdot x +b)}
P(Y=1∣x)=1+exp(w⋅x+b)exp(w⋅x+b)P(P=0∣x)=1+exp(w⋅x+b)1
这里,
x
∈
R
n
x \in R^n
x∈Rn是输入,
Y
∈
{
0
,
1
}
Y \in \{0,1\}
Y∈{0,1}是输出,
w
∈
R
n
w \in R^n
w∈Rn和
b
∈
R
b \in R
b∈R是参数,
w
w
w称为权值向量,
b
b
b称为偏置,
w
⋅
x
w \cdot x
w⋅x为
w
w
w和
x
x
x的内积。
将权值向量和输入向量加以扩充:
w
=
(
w
(
1
)
,
w
(
2
)
,
.
.
.
,
w
(
n
)
,
b
)
T
x
=
(
x
(
1
)
,
x
(
2
)
,
.
.
.
,
x
(
n
)
,
1
)
T
w = (w^{(1)},w^{(2)},...,w^{(n)},b)^T\\ x = (x^{(1)},x^{(2)},...,x^{(n)},1)^T
w=(w(1),w(2),...,w(n),b)Tx=(x(1),x(2),...,x(n),1)T
对数几率:
log
P
(
Y
=
1
∣
x
)
1
−
P
(
Y
=
1
∣
x
)
=
w
⋅
x
\log \frac{P(Y=1|x)}{1-P(Y=1|x)} = w \cdot x
log1−P(Y=1∣x)P(Y=1∣x)=w⋅x
模型参数估计
设
P
(
Y
=
1
∣
x
)
=
π
(
x
)
,
P
(
Y
=
0
∣
x
)
=
1
−
π
(
x
)
P(Y=1|x) = \pi(x),P(Y=0|x) = 1-\pi(x)
P(Y=1∣x)=π(x),P(Y=0∣x)=1−π(x)
似然函数为
∏
i
=
1
N
[
π
(
x
i
)
]
y
i
[
1
−
π
(
x
i
)
]
1
−
y
i
\prod_{i=1}^{N} [\pi (x_i)]^{y_i}[1-\pi (x_i)]^{1-y_i}
i=1∏N[π(xi)]yi[1−π(xi)]1−yi
对数似然函数为
L
(
w
)
=
∑
i
=
1
N
[
y
i
log
π
(
x
i
)
+
(
1
−
y
i
)
log
(
1
−
π
(
x
i
)
)
]
=
∑
i
=
1
N
[
y
i
log
π
(
x
i
)
1
−
π
(
x
i
)
+
log
(
1
−
π
(
x
i
)
)
]
=
∑
i
=
1
N
[
y
i
(
w
⋅
x
i
)
−
log
(
1
+
exp
(
w
⋅
x
i
)
)
]
\begin{aligned} L(w) &= \sum_{i=1}^N [y_i\log \pi(x_i)+(1-y_i)\log(1-\pi(x_i))] \\ &= \sum_{i=1}^N [y_i\log\frac{\pi(x_i)}{1-\pi(x_i)}+\log(1-\pi(x_i))]\\ &= \sum_{i=1}^N [y_i(w \cdot x_i)-\log (1+\exp (w \cdot x_i))] \end{aligned}
L(w)=i=1∑N[yilogπ(xi)+(1−yi)log(1−π(xi))]=i=1∑N[yilog1−π(xi)π(xi)+log(1−π(xi))]=i=1∑N[yi(w⋅xi)−log(1+exp(w⋅xi))]
对
L
(
w
)
L(w)
L(w)求极大值,得到
w
w
w的估计值
w
^
\hat{w}
w^,学到的逻辑斯谛回归模型为:
P
(
Y
=
1
∣
x
)
=
exp
(
w
^
⋅
x
)
1
+
exp
(
w
^
⋅
x
)
P
(
Y
=
0
∣
x
)
=
1
1
+
exp
(
w
^
⋅
x
)
P(Y=1|x)=\frac{\exp (\hat{w} \cdot x)}{1+\exp (\hat{w}\cdot x)} \\ P(Y=0|x) = \frac {1}{1+\exp(\hat{w}\cdot x)}
P(Y=1∣x)=1+exp(w^⋅x)exp(w^⋅x)P(Y=0∣x)=1+exp(w^⋅x)1
多项逻辑斯谛回归模型
P
(
Y
=
k
∣
x
)
=
exp
(
w
k
⋅
x
)
1
+
∑
k
=
1
K
−
1
exp
(
w
k
⋅
x
)
,
k
=
1
,
2
,
.
.
.
,
K
−
1
P
(
Y
=
K
∣
x
)
=
1
1
+
∑
k
=
1
K
−
1
exp
(
w
k
⋅
x
)
P(Y=k|x) = \frac{\exp (w_k \cdot x)}{1+\sum_{k=1}^{K-1}\exp (w_k \cdot x)},k=1,2,...,K-1\\ P(Y=K|x) = \frac{1}{1+\sum_{k=1}^{K-1} \exp (w_k \cdot x)}
P(Y=k∣x)=1+∑k=1K−1exp(wk⋅x)exp(wk⋅x),k=1,2,...,K−1P(Y=K∣x)=1+∑k=1K−1exp(wk⋅x)1
式中,
x
∈
R
n
+
1
x\in R^{n+1}
x∈Rn+1,
w
k
∈
R
n
+
1
w_k \in R^{n+1}
wk∈Rn+1。
最大熵模型定义
给定训练数据集,可以确定联合分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y)的经验分布和边缘分布
P
(
X
)
P(X)
P(X)的经验分布,分别以
P
~
(
X
,
Y
)
\tilde{P}(X,Y)
P~(X,Y)和
P
~
(
X
)
\tilde{P}(X)
P~(X)表示:
P
~
(
X
=
x
,
Y
=
y
)
=
ν
(
X
=
x
,
Y
=
y
)
N
P
~
(
X
=
x
)
=
ν
(
X
=
x
)
N
\tilde{P}(X=x,Y=y) = \frac {\nu (X=x,Y=y)}{N}\\ \tilde{P}(X=x) = \frac{\nu (X=x)}{N}
P~(X=x,Y=y)=Nν(X=x,Y=y)P~(X=x)=Nν(X=x)
其中,
ν
(
X
=
x
,
Y
=
y
)
\nu (X=x,Y=y)
ν(X=x,Y=y)表示训练数据中样本
(
x
,
y
)
(x,y)
(x,y)出现的频数,
ν
(
X
=
x
)
\nu (X=x)
ν(X=x)表示训练数据中输入
x
x
x出现的频数,
N
N
N表示训练样本容量。
用**特征函数(feature function)
f
(
x
,
y
)
f(x,y)
f(x,y)**描述输入
x
x
x和输出
y
y
y之间的某一个事实:
f
(
x
,
y
)
=
{
1
,
x
与
y
满
足
某
一
事
实
0
,
否
则
f(x,y) = \begin{cases} 1,x与y满足某一事实\\ 0,否则 \end{cases}
f(x,y)={1,x与y满足某一事实0,否则
特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于经验分布
P
~
(
X
,
Y
)
\tilde{P}(X,Y)
P~(X,Y)的期望值,用
E
P
~
(
f
)
E_{\tilde{P}}(f)
EP~(f)表示:
E
P
~
(
f
)
=
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
E_{\tilde{P}}(f) = \sum_{x,y} \tilde{P}(x,y)f(x,y)
EP~(f)=x,y∑P~(x,y)f(x,y)
特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于模型
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)与经验分布
P
~
(
X
)
\tilde{P}(X)
P~(X)的期望值,用
E
P
(
f
)
E_P(f)
EP(f)表示:
E
P
(
f
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
f
(
x
,
y
)
E_P(f) = \sum_{x,y} \tilde{P}(x)P(y|x)f(x,y)
EP(f)=x,y∑P~(x)P(y∣x)f(x,y)
如果模型能盖获取训练数据中的信息,那么就可以假设这两个期望值相等,即
E
P
(
f
)
=
E
P
~
(
f
)
E_P(f) = E_{\tilde{P}}(f)
EP(f)=EP~(f)
或
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
f
(
x
,
y
)
=
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
\sum_{x,y} \tilde{P}(x) P(y|x)f(x,y) = \sum_{x,y} \tilde{P}(x,y)f(x,y)
x,y∑P~(x)P(y∣x)f(x,y)=x,y∑P~(x,y)f(x,y)
将式(13)或(14)作为模型学习的约束条件,假设有
n
n
n个特征函数
f
i
(
x
,
y
)
,
i
=
1
,
2
,
.
.
.
,
n
f_i(x,y),i=1,2,...,n
fi(x,y),i=1,2,...,n,那么就有
n
n
n个约束条件。
假设满足所有约束条件的模型集合为
C
≡
{
P
∈
P
∣
E
P
(
f
i
)
=
E
P
~
(
f
i
)
,
i
=
1
,
2
,
.
.
.
,
n
}
\mathcal C \equiv \{ P\in \mathcal{P}|E_P(f_i) = E_{\tilde{P}}(f_i),i=1,2,...,n \}
C≡{P∈P∣EP(fi)=EP~(fi),i=1,2,...,n}
定义在条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)上的条件熵为
H
(
P
)
=
−
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
H(P) = -\sum_{x,y} \tilde{P}(x) P(y|x) \log P(y|x)
H(P)=−x,y∑P~(x)P(y∣x)logP(y∣x)
则模型集合
C
\mathcal C
C中条件熵
H
(
P
)
H(P)
H(P)最大的模型称为最大熵模型。式中的对数为自然对数。
最大熵模型的学习
最大熵模型的学习等价于约束最优化问题:
max
P
∈
C
H
(
P
)
=
−
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
s
.
t
.
E
P
(
f
i
)
=
E
P
~
(
f
i
)
,
i
=
1
,
2
,
.
.
.
,
n
∑
y
P
(
y
∣
x
)
=
1
\max_{P\in \mathcal{C}}\space H(P) = -\sum_{x,y} \tilde{P}(x) P(y|x) \log P(y|x)\\ s.t.\space E_P(f_i) = E_{\tilde{P}}(f_i),i=1,2,...,n\\ \sum_{y} P(y|x) = 1
P∈Cmax H(P)=−x,y∑P~(x)P(y∣x)logP(y∣x)s.t. EP(fi)=EP~(fi),i=1,2,...,ny∑P(y∣x)=1
按照最优化问题的习惯,将求最大值问题改写为等价的求最小值问题:
min
P
∈
C
−
H
(
P
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
s
.
t
.
E
p
(
f
i
)
−
E
P
~
(
f
i
)
=
0
,
i
=
1
,
2
,
.
.
.
,
n
∑
y
P
(
y
∣
x
)
=
1
\min_{P\in \mathcal{C}} \space -H(P) = \sum_{x,y} \tilde{P}(x) P(y|x)\log P(y|x)\\ s.t. \space E_p(f_i) - E_{\tilde{P}}(f_i) = 0,i=1,2,...,n\\ \sum_{y} P(y|x) = 1
P∈Cmin −H(P)=x,y∑P~(x)P(y∣x)logP(y∣x)s.t. Ep(fi)−EP~(fi)=0,i=1,2,...,ny∑P(y∣x)=1
将约束最优化的原始问题转换为无约束最优化的对偶问题,通过求解对偶问题求解原始问题。
首先,引进拉格朗日乘子
w
0
,
w
1
,
w
2
,
.
.
.
,
w
n
w_0,w_1,w_2,...,w_n
w0,w1,w2,...,wn,定义拉格朗日函数
L
(
P
,
w
)
L(P,w)
L(P,w):
L
(
P
,
w
)
≡
−
H
(
P
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
=
1
n
w
i
(
E
P
~
(
f
i
)
−
E
P
(
f
i
)
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
=
1
n
w
i
(
∑
x
,
y
P
~
(
x
,
y
)
f
i
(
x
,
y
)
−
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
f
i
(
x
,
y
)
)
\begin{aligned} L(P,w) &\equiv -H(P) + w_0 \bigg(1-\sum_{y} P(y|x) \bigg)+\sum_{i=1}^n w_i(E_{\tilde{P}}(f_i)-E_P(f_i))\\ &= \sum_{x,y} \tilde{P}(x) P(y|x) \log P(y|x) + w_0 \bigg( 1-\sum_y P(y|x) \bigg) +\\ &\sum_{i=1}^n w_i \bigg( \sum_{x,y} \tilde{P}(x,y)f_i(x,y)-\sum_{x,y} \tilde{P}(x) P(y|x) f_i(x,y) \bigg)\\ \end{aligned}
L(P,w)≡−H(P)+w0(1−y∑P(y∣x))+i=1∑nwi(EP~(fi)−EP(fi))=x,y∑P~(x)P(y∣x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑nwi(x,y∑P~(x,y)fi(x,y)−x,y∑P~(x)P(y∣x)fi(x,y))
最优化的原始问题是
min
P
∈
C
max
w
L
(
P
,
w
)
\min_{P\in \mathcal{C}} \max_w L(P,w)
P∈CminwmaxL(P,w)
对偶问题是
max
w
min
P
∈
C
L
(
P
,
w
)
\max_w \min_{P\in \mathcal{C}} L(P,w)
wmaxP∈CminL(P,w)
首先,求解对偶问题(20)内部的极小化问题
min
P
∈
C
L
(
P
,
w
)
\min_{P \in \mathcal{C}} L(P,w)
minP∈CL(P,w),记作
Ψ
(
w
)
=
min
P
∈
C
L
(
P
,
w
)
=
L
(
P
w
,
w
)
\Psi (w) = \min_{P\in \mathcal{C}} L(P,w) = L(P_w,w)
Ψ(w)=P∈CminL(P,w)=L(Pw,w)
Ψ
(
w
)
\Psi(w)
Ψ(w)称为对偶函数,将其解记作
P
w
=
arg
min
P
∈
C
L
(
P
,
w
)
=
P
w
(
y
∣
x
)
P_w = \arg \min_{P \in \mathcal{C}} L(P,w) = P_w(y|x)
Pw=argP∈CminL(P,w)=Pw(y∣x)
具体地,求
L
(
P
,
w
)
L(P,w)
L(P,w)对
P
(
y
∣
x
)
P(y|x)
P(y∣x)的偏导数
∂
L
(
P
,
w
)
∂
P
(
y
∣
x
)
=
∑
x
,
y
P
~
(
x
)
(
log
P
(
y
∣
x
)
+
1
)
−
∑
y
w
0
−
∑
x
,
y
(
P
~
(
x
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
=
∑
x
,
y
P
~
(
x
)
(
log
P
(
y
∣
x
)
+
1
−
w
0
−
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
\frac{\partial L(P,w)}{\partial P(y|x)} = \sum_{x,y} \tilde{P}(x)(\log P(y|x)+1)-\sum_y w_0 - \sum_{x,y} \bigg( \tilde{P}(x) \sum_{i=1}^n w_i f_i(x,y) \bigg)\\ = \sum_{x,y} \tilde{P}(x) \bigg( \log P(y|x)+1-w_0-\sum_{i=1}^n w_i f_i(x,y) \bigg)
∂P(y∣x)∂L(P,w)=x,y∑P~(x)(logP(y∣x)+1)−y∑w0−x,y∑(P~(x)i=1∑nwifi(x,y))=x,y∑P~(x)(logP(y∣x)+1−w0−i=1∑nwifi(x,y))
令偏导数等于
0
0
0,在
P
~
(
x
)
>
0
\tilde{P}(x) > 0
P~(x)>0的情况下,解得
P
(
y
∣
x
)
=
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
+
w
0
−
1
)
=
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
exp
(
1
−
w
0
)
P(y|x) = \exp \bigg( \sum_{i=1}^n w_if_i(x,y) +w_0-1 \bigg) = \frac{\exp\big (\sum_{i=1}^n w_if_i(x,y) \big)}{\exp(1-w_0)}
P(y∣x)=exp(i=1∑nwifi(x,y)+w0−1)=exp(1−w0)exp(∑i=1nwifi(x,y))
由于
∑
y
P
(
y
∣
x
)
=
1
\sum_y P(y|x) =1
∑yP(y∣x)=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 \bigg( \sum_{i=1} ^n w_i f_i(x,y) \bigg)
Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))
其中,
Z
w
(
x
)
=
∑
y
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
Z_w(x) = \sum_y \exp \bigg( \sum_{i=1}^n w_i f_i(x,y) \bigg)
Zw(x)=y∑exp(i=1∑nwifi(x,y))
Z
w
(
x
)
Z_w(x)
Zw(x)称为规范化银子;
f
(
x
,
y
)
f(x,y)
f(x,y)是特征函数;
w
i
w_i
wi是特征的权值。式(25)(26)为最大熵模型
之后求解对偶问题外部的极大化问题
max
w
Ψ
(
w
)
\max_w \Psi (w)
wmaxΨ(w)
将其解记为
w
∗
w^*
w∗,即
w
∗
=
arg
max
w
Ψ
(
w
)
w^* = \arg \max_w \Psi(w)
w∗=argwmaxΨ(w)
模型学习的最优化算法
改进的迭代尺度算法(improved iterative scaling,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(y∣x);
输出:最优参数值 w i ∗ w_i^* wi∗;最优模型 P w ∗ P_{w^*} Pw∗。
-
对所有 i ∈ { 1 , 2 , . . . , n } i\in\{1,2,...,n\} i∈{1,2,...,n},取初值 w i = 0 w_i=0 wi=0;
-
对每一 i ∈ { 1 , 2 , . . . , n } i\in\{1,2,...,n\} i∈{1,2,...,n}
a. 令 δ i \delta_i δi是方程
∑ x , y P ~ ( x ) P ( y ∣ x ) f i ( x , y ) exp ( δ i f # ( x , y ) ) = E P ~ ( f i ) \sum_{x,y}\tilde{P}(x) P(y|x)f_i(x,y)\exp(\delta_i f^\#(x,y)) = E_{\tilde{P}}(f_i) x,y∑P~(x)P(y∣x)fi(x,y)exp(δif#(x,y))=EP~(fi)
的解,这里
f # ( x , y ) = ∑ i = 1 n f i ( x , y ) f^\# (x,y) = \sum_{i=1}^n f_i(x,y) f#(x,y)=i=1∑nfi(x,y)
b. 更新 w i w_i wi的值: w i ← w i + δ i w_i \leftarrow w_i + \delta_i wi←wi+δi。 -
如果不是所有 w i w_i wi都收敛,重复步(2)。
算法关键是求解方程(30)中的
δ
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。简单有效的方法是牛顿法,以
g
(
δ
i
)
=
0
g(\delta_i)=0
g(δi)=0表示方程(30),牛顿法通过迭代球的
δ
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))
拟牛顿法(BFGS)
输入:特征函数 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),目标函数 f ( w ) f(w) f(w),梯度 g ( w ) = ∇ f ( w ) g(w)=\nabla f(w) g(w)=∇f(w),精度要求 ε \varepsilon ε;
输出:最优参数值 w ∗ w^* w∗;最优模型 P w ∗ ( y ∣ x ) P_{w^*}(y|x) Pw∗(y∣x)。
-
选定初始点 w ( 0 ) w^{(0)} w(0),取 B 0 B_0 B0为正定对称矩阵,置 k = 0 k=0 k=0;
-
计算 g k = g ( w ( k ) ) g_k = g(w^{(k)}) gk=g(w(k))。若 ∣ ∣ g k ∣ ∣ < ε ||g_k||<\varepsilon ∣∣gk∣∣<ε,则停止计算,得 w ∗ = w ( k ) w^* = w^{(k)} w∗=w(k);否则转(3);
-
由 B k p k = − g k B_k p_k = -g_k Bkpk=−gk求出 p k p_k pk;
-
一维搜索:求 λ k \lambda _k λk使得
f ( w ( k ) + λ k p k ) = min λ ≥ 0 f ( w ( k ) + λ p k ) f(w^{(k)}+\lambda_k p_k) = \min_{\lambda \ge 0} f(w^{(k)} + \lambda p_k) f(w(k)+λkpk)=λ≥0minf(w(k)+λpk) -
置 w ( k + 1 ) = w ( k ) + λ k p k w^{(k+1)} = w^{(k)} + \lambda_k p_k w(k+1)=w(k)+λkpk;
-
计算 g k + 1 = g ( w ( k + 1 ) ) g_{k+1}=g(w^{(k+1)}) gk+1=g(w(k+1)),若 ∣ ∣ g ( w ( k + 1 ) ) ∣ ∣ < ε ||g(w^{(k+1)})||<\varepsilon ∣∣g(w(k+1))∣∣<ε,则停止计算,得 w ∗ = w ( k + 1 ) w^* = w^(k+1) w∗=w(k+1);否则,按下式求出 B k + 1 B_{k+1} Bk+1:
B k + 1 = B k + y k y k T y k T δ k − B k δ k δ k T B k δ k T B k δ k B_{k+1} = B_k + \frac{y_k y_k ^T}{y_k^T \delta_k} - \frac{B_k\delta_k \delta_k^T B_k}{\delta_k^T B_k \delta_k} Bk+1=Bk+ykTδkykykT−δkTBkδkBkδkδkTBk
其中
y k = g k + 1 − g k , δ k = w ( k + 1 ) − w ( k ) y_k = g_{k+1}-g_k,\space \delta_k = w^{(k+1)} - w^{(k)} yk=gk+1−gk, δk=w(k+1)−w(k) -
置 k = k + 1 k=k+1 k=k+1,转步(3)。