基础知识
<UD分解>
P
:
n
阶
正
定
的
对
称
矩
阵
P:n阶正定的对称矩阵
P:n阶正定的对称矩阵
对矩阵P进行上三角-对角分解:
U
:
上
三
角
阵
U:上三角阵
U:上三角阵
D
:
对
角
阵
D:对角阵
D:对角阵
P
=
U
D
U
T
P
=
[
P
11
P
12
.
.
.
P
1
n
P
21
P
22
.
.
.
P
2
n
.
.
.
.
.
.
.
.
.
.
.
.
P
n
1
P
n
2
.
.
.
P
n
n
]
,
U
=
[
U
11
U
12
.
.
.
U
1
n
U
21
U
22
.
.
.
U
2
n
.
.
.
.
.
.
.
.
.
.
.
.
U
n
1
U
n
2
.
.
.
U
n
n
]
(
U
i
i
=
1
,
(
i
=
1
,
2
,
3
,
.
.
,
n
)
)
,
D
=
[
D
11
D
12
.
.
.
D
1
n
D
21
D
22
.
.
.
D
2
n
.
.
.
.
.
.
.
.
.
.
.
.
D
n
1
D
n
2
.
.
.
D
n
n
]
P=UDU^T \\ P=\left[\begin{matrix} P_{11}&P_{12}&...&P_{1n}\\ P_{21}&P_{22}&...&P_{2n}\\ ...&...&...&...\\ P_{n1}&P_{n2}&...&P_{nn}\\ \end{matrix}\right],U=\left[\begin{matrix} U_{11}&U_{12}&...&U_{1n}\\ U_{21}&U_{22}&...&U_{2n}\\ ...&...&...&...\\ U_{n1}&U_{n2}&...&U_{nn}\\ \end{matrix}\right](U_{ii}=1,(i=1,2,3,..,n)),D=\left[\begin{matrix} D_{11}&D_{12}&...&D_{1n}\\ D_{21}&D_{22}&...&D_{2n}\\ ...&...&...&...\\ D_{n1}&D_{n2}&...&D_{nn}\\ \end{matrix}\right]
P=UDUTP=⎣⎢⎢⎡P11P21...Pn1P12P22...Pn2............P1nP2n...Pnn⎦⎥⎥⎤,U=⎣⎢⎢⎡U11U21...Un1U12U22...Un2............U1nU2n...Unn⎦⎥⎥⎤(Uii=1,(i=1,2,3,..,n)),D=⎣⎢⎢⎡D11D21...Dn1D12D22...Dn2............D1nD2n...Dnn⎦⎥⎥⎤
求解
P
i
j
=
D
j
j
U
i
j
U
j
j
+
D
j
+
1
,
j
+
1
U
i
,
j
+
1
U
j
,
j
+
1
+
.
.
.
+
D
n
n
U
i
n
U
j
n
=
∑
k
=
i
+
j
n
D
k
k
U
i
k
U
j
k
+
D
j
j
U
i
j
U
j
j
(
1
≤
i
≤
n
,
i
≤
j
≤
n
)
P_{ij}=D_{jj}U_{ij}U_{jj}+D_{j+1,j+1}U_{i,j+1}U_{j,j+1}+...+D_{nn}U_{in}U_{jn}\\ =\sum_{k=i+j}^nD_{kk}U_{ik}U_{jk}+D_{jj}U_{ij}U_{jj}(1\leq i \leq n,i\leq j \leq n)
Pij=DjjUijUjj+Dj+1,j+1Ui,j+1Uj,j+1+...+DnnUinUjn=k=i+j∑nDkkUikUjk+DjjUijUjj(1≤i≤n,i≤j≤n)
<QR分解>
A
m
×
n
:
为
列
满
秩
矩
阵
(
m
≥
n
)
,
r
a
n
k
(
A
m
×
n
)
=
n
A_{m×n}:为列满秩矩阵(m\geq n),rank(A_{m×n})=n
Am×n:为列满秩矩阵(m≥n),rank(Am×n)=n
那末必有:
A
m
×
n
=
Q
m
×
n
R
n
×
n
,
Q
m
×
n
T
Q
m
×
n
=
I
n
×
n
,
R
n
×
n
为
上
三
角
阵
或
下
三
角
阵
A_{m×n}=Q_{m×n}R_{n×n},Q_{m×n}^TQ_{m×n}=I_{n×n},R_{n×n}为上三角阵或下三角阵
Am×n=Qm×nRn×n,Qm×nTQm×n=In×n,Rn×n为上三角阵或下三角阵
<Cholesky分解>
P
:
n
阶
正
定
对
称
矩
阵
P:n阶正定对称矩阵
P:n阶正定对称矩阵
总可以得到:
P
=
[
P
11
P
12
.
.
.
P
1
n
P
21
P
22
.
.
.
P
2
n
.
.
.
.
.
.
.
.
.
.
.
.
P
n
1
P
n
2
.
.
.
P
n
n
]
,
Δ
=
[
δ
11
δ
12
.
.
.
δ
1
n
0
δ
21
.
.
.
δ
2
n
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
δ
n
n
]
P=\left[\begin{matrix} P_{11}&P_{12}&...&P_{1n}\\P_{21}&P_{22}&...&P_{2n}\\ ...&...&...&...\\P_{n1}&P_{n2}&...&P_{nn} \end{matrix}\right],\Delta=\left[\begin{matrix} \delta_{11}&\delta_{12}&...&\delta_{1n}\\0&\delta_{21}&...&\delta_{2n}\\ ...&...&...&...\\0&0&...&\delta_{nn} \end{matrix}\right]
P=⎣⎢⎢⎡P11P21...Pn1P12P22...Pn2............P1nP2n...Pnn⎦⎥⎥⎤,Δ=⎣⎢⎢⎡δ110...0δ12δ21...0............δ1nδ2n...δnn⎦⎥⎥⎤
P
=
Δ
Δ
T
=
[
δ
11
δ
12
.
.
.
δ
1
n
0
δ
21
.
.
.
δ
2
n
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
δ
n
n
]
[
δ
11
δ
12
.
.
.
δ
1
n
0
δ
21
.
.
.
δ
2
n
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
δ
n
n
]
T
P=\Delta \Delta^T =\left[\begin{matrix} \delta_{11}&\delta_{12}&...&\delta_{1n}\\0&\delta_{21}&...&\delta_{2n}\\ ...&...&...&...\\0&0&...&\delta_{nn} \end{matrix}\right]\left[\begin{matrix} \delta_{11}&\delta_{12}&...&\delta_{1n}\\0&\delta_{21}&...&\delta_{2n}\\ ...&...&...&...\\0&0&...&\delta_{nn} \end{matrix}\right]^T
P=ΔΔT=⎣⎢⎢⎡δ110...0δ12δ21...0............δ1nδ2n...δnn⎦⎥⎥⎤⎣⎢⎢⎡δ110...0δ12δ21...0............δ1nδ2n...δnn⎦⎥⎥⎤T
可以得到:
P
i
j
=
δ
i
j
δ
j
j
+
δ
i
,
j
+
1
δ
i
,
j
+
1
+
δ
i
,
j
+
2
δ
i
,
j
+
2
+
.
.
.
+
δ
i
,
j
+
n
δ
i
,
j
+
n
=
∑
k
=
j
+
1
n
δ
i
k
δ
j
k
+
δ
i
j
δ
j
j
(
1
≤
i
≤
n
,
i
≤
j
≤
n
)
P_{ij}=\delta_{ij}\delta_{jj}+\delta_{i,j+1}\delta_{i,j+1}+\delta_{i,j+2}\delta_{i,j+2}+...+\delta_{i,j+n}\delta_{i,j+n}=\sum_{k=j+1}^n\delta_{ik}\delta_{jk}+\delta_{ij}\delta_{jj}(1\leq i\leq n,i\leq j \leq n)
Pij=δijδjj+δi,j+1δi,j+1+δi,j+2δi,j+2+...+δi,j+nδi,j+n=k=j+1∑nδikδjk+δijδjj(1≤i≤n,i≤j≤n)
从而得到:
δ
i
j
=
{
(
P
i
j
−
∑
i
+
j
n
δ
i
k
δ
j
k
)
/
δ
j
j
i
<
j
P
j
j
−
∑
k
=
j
+
1
n
δ
j
k
2
i
=
j
0
i
>
j
\delta_{ij}=\begin{cases} (P_{ij}-\sum_{i+j}^{n}\delta_{ik}\delta_{jk})/\delta_{jj} &i<j\\ \sqrt{P_{jj}-\sum_{k=j+1}^{n}\delta_{jk}^2}&i=j\\ 0&i>j\\ \end{cases}
δij=⎩⎪⎪⎨⎪⎪⎧(Pij−∑i+jnδikδjk)/δjjPjj−∑k=j+1nδjk20i<ji=ji>j
<奇异值分解>
A
:
当
为
n
阶
实
对
称
矩
阵
,
可
分
解
为
:
A:当为n阶实对称矩阵,可分解为:
A:当为n阶实对称矩阵,可分解为:
Q
Q
T
=
I
,
Q
为
标
准
正
交
阵
,
Q
的
列
坐
标
为
特
征
向
量
QQ^T=I,Q为标准正交阵,Q的列坐标为特征向量
QQT=I,Q为标准正交阵,Q的列坐标为特征向量
Γ
:
为
特
征
值
构
成
的
对
角
矩
阵
\Gamma:为特征值构成的对角矩阵
Γ:为特征值构成的对角矩阵
A
=
Q
Γ
Q
T
(
特
征
值
分
解
E
V
D
)
Γ
=
[
λ
1
.
.
.
.
.
.
.
.
.
.
.
.
.
λ
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
λ
n
]
A=Q\Gamma Q^T(特征值分解EVD) \\ \Gamma=\left[\begin{matrix} \lambda_1&...&...&....\\...&\lambda_2&...&....\\...&...&....&....\\...&...&...&\lambda_n\\ \end{matrix}\right]
A=QΓQT(特征值分解EVD)Γ=⎣⎢⎢⎡λ1............λ2...............................λn⎦⎥⎥⎤
A
:
当
为
n
阶
实
矩
阵
,
可
分
解
为
:
A:当为n阶实矩阵,可分解为:
A:当为n阶实矩阵,可分解为:
U
U
T
=
I
,
U
为
单
位
正
交
阵
,
左
奇
异
矩
阵
,
U
∈
R
m
×
m
UU^T=I,U为单位正交阵,左奇异矩阵,U\in R_{m×m}
UUT=I,U为单位正交阵,左奇异矩阵,U∈Rm×m
V
V
T
=
I
,
V
为
单
位
正
交
阵
,
右
奇
异
矩
阵
,
V
∈
R
n
×
n
VV^T=I,V为单位正交阵,右奇异矩阵,V\in R_{n×n}
VVT=I,V为单位正交阵,右奇异矩阵,V∈Rn×n
Σ
:
奇
异
值
,
除
了
对
角
元
素
,
其
他
元
素
为
0
,
Σ
∈
R
m
×
n
\Sigma:奇异值,除了对角元素,其他元素为0,\Sigma \in R_{m×n}
Σ:奇异值,除了对角元素,其他元素为0,Σ∈Rm×n
A
=
U
Σ
V
T
Σ
=
[
σ
1
0
.
.
.
0
0
0
σ
2
.
.
.
0
0
0
0
.
.
.
0
0
0
0
.
.
.
σ
n
0
]
m
×
n
A=U\Sigma V^T \\ \Sigma=\left[\begin{matrix} \sigma_1&0&...&0&0\\0&\sigma_2&...&0&0\\ 0&0&...&0&0\\0&0&...&\sigma_n&0 \end{matrix}\right]_{m×n}
A=UΣVTΣ=⎣⎢⎢⎡σ10000σ200............000σn0000⎦⎥⎥⎤m×n
求解
A
A
T
=
U
Σ
V
T
V
Σ
T
U
T
=
U
Σ
Σ
T
U
T
AA^T=U\Sigma V^TV\Sigma^TU^T=U\Sigma\Sigma^TU^T
AAT=UΣVTVΣTUT=UΣΣTUT
线性最小二乘
方程:
m
i
n
∣
∣
期
望
−
样
本
∣
∣
2
min||期望-样本||^2
min∣∣期望−样本∣∣2
当系统方程为一次线性方程时:
m
i
n
∣
∣
A
x
−
b
∣
∣
2
=
(
A
x
−
b
)
T
(
A
x
−
b
)
=
x
T
A
T
A
x
−
2
x
T
A
T
b
+
b
T
b
min||Ax-b||^2=(Ax-b)^T(Ax-b)=x^TA^TAx-2x^TA^Tb+b^Tb
min∣∣Ax−b∣∣2=(Ax−b)T(Ax−b)=xTATAx−2xTATb+bTb
取最小值,也就是求导数为0的点:
∂
∣
∣
A
x
−
b
∣
∣
2
∂
x
=
2
A
T
A
x
−
2
A
T
b
=
0
A
T
A
x
=
A
T
b
x
=
(
A
T
A
)
−
1
A
T
b
\frac{\partial||Ax-b||^2}{\partial x}=2A^TAx-2A^Tb=0 \\ A^TAx=A^Tb \\ x=(A^TA)^{-1}A^Tb
∂x∂∣∣Ax−b∣∣2=2ATAx−2ATb=0ATAx=ATbx=(ATA)−1ATb
<Cholesky分解求解:>
令
A
T
A
=
L
T
L
,
α
=
L
x
,
β
=
A
T
b
A^TA=L^TL,\alpha=Lx,\beta=A^Tb
ATA=LTL,α=Lx,β=ATb
A
T
A
x
=
A
T
b
L
T
L
x
=
A
T
b
L
T
α
=
β
L
x
=
α
A^TAx=A^Tb\\ L^TLx=A^Tb \\ L^T \alpha=\beta \\ Lx=\alpha
ATAx=ATbLTLx=ATbLTα=βLx=α
<QR分解>
A
=
Q
R
A=QR
A=QR
A
T
A
x
=
A
T
b
(
Q
T
R
)
T
(
Q
T
R
)
x
=
(
Q
T
R
)
T
b
R
T
R
x
=
R
T
Q
b
x
=
R
−
1
Q
T
b
A^TAx=A^Tb\\ (Q^TR)^T(Q^TR)x=(Q^TR)^Tb \\ R^TRx=R^TQb\\ x=R^{-1}Q^Tb
ATAx=ATb(QTR)T(QTR)x=(QTR)TbRTRx=RTQbx=R−1QTb
实现
非线性最小二乘
F
(
X
)
:
目
标
函
数
F(X):目标函数
F(X):目标函数
m
i
n
x
F
(
X
)
=
1
2
∣
∣
f
(
x
)
∣
∣
2
2
min_{x}F(X)=\frac{1}{2}||f(x)||_2^2
minxF(X)=21∣∣f(x)∣∣22
只需找到:
d
F
(
x
)
d
x
=
0
\frac{dF(x)}{dx}=0
dxdF(x)=0的最小值的点,但有时候无法得到导数,我们使用迭代方法代替求导,步骤如下:
- 给定某个初值 x 0 x_0 x0
- 进行k次迭代,寻找一个 Δ x k \Delta x_k Δxk,使 ∣ ∣ f ( x k + Δ x k ) ∣ ∣ 2 2 ||f(x_k+\Delta x_k)||_2^2 ∣∣f(xk+Δxk)∣∣22达到极小值
- 若 Δ x k \Delta x_k Δxk足够小,停止迭代
- Δ x k \Delta x_k Δxk不够小,令 x k + 1 = x k + Δ x k x_{k+1}=x_k+\Delta x_k xk+1=xk+Δxk,转到第2步进行迭代
如何取定增量 Δ x k \Delta x_k Δxk
一阶梯度法
使用泰勒函数将目标函数
F
(
x
)
F(x)
F(x)在
x
k
x_k
xk一阶展开
J
(
x
k
)
T
=
F
′
(
x
)
:
在
x
k
处
一
阶
导
数
也
称
雅
可
比
矩
阵
、
梯
度
J(x_k)^T=F'(x):在x_k处一阶导数也称雅可比矩阵、梯度
J(xk)T=F′(x):在xk处一阶导数也称雅可比矩阵、梯度
F
(
x
k
+
Δ
x
k
)
≈
F
(
x
k
)
+
F
′
(
x
)
(
x
+
Δ
x
k
−
x
)
=
F
(
x
k
)
+
J
(
x
k
)
T
Δ
x
k
F(x_k+\Delta x_k)\approx F(x_k)+F'(x)(x+\Delta x_k-x)=F(x_k)+J(x_k)^T\Delta x_k
F(xk+Δxk)≈F(xk)+F′(x)(x+Δxk−x)=F(xk)+J(xk)TΔxk
取
Δ
x
k
\Delta x_k
Δxk
Δ
x
k
=
−
λ
J
(
x
k
)
T
\Delta x_k=-\lambda J(x_k)^T
Δxk=−λJ(xk)T
如何确定步长
λ
\lambda
λ?
基本思想就是每次试一个步长,如果用该步长走的话,看函数值会不会比当前点下降一定的程度,如果没有,就按比例减小步长,再试,直到满足条件(根据泰勒展开式我们知道步长足够小时总会满足下降条件)。所以line search实际上是计算量比较大的,不过在以前数据量不大的情况下这都不是问题。
问题:计算量大
二阶梯度法
使用泰勒函数将目标函数
F
(
x
)
F(x)
F(x)在
x
k
x_k
xk二阶展开
H
(
x
k
)
:
二
阶
导
数
,
海
塞
(
H
e
s
s
i
a
n
)
矩
阵
H(x_k):二阶导数,海塞(Hessian)矩阵
H(xk):二阶导数,海塞(Hessian)矩阵
F
(
x
k
+
Δ
x
k
)
≈
F
(
x
k
)
+
F
′
(
x
k
)
(
x
k
+
Δ
x
k
−
x
k
)
+
F
′
′
(
x
)
(
x
k
+
Δ
x
k
−
x
k
)
2
2
=
F
(
x
k
)
+
J
(
x
k
)
T
Δ
x
k
+
1
2
Δ
x
k
T
H
(
x
k
)
Δ
x
k
F(x_k+\Delta x_k)\approx F(x_k)+F'(x_k)(x_k+\Delta x_k-x_k)+\frac{F''(x)(x_k+\Delta x_k-x_k)^2}{2}=F(x_k)+J(x_k)^T\Delta x_k+\frac{1}{2}\Delta x_k^TH(x_k)\Delta x_k
F(xk+Δxk)≈F(xk)+F′(xk)(xk+Δxk−xk)+2F′′(x)(xk+Δxk−xk)2=F(xk)+J(xk)TΔxk+21ΔxkTH(xk)Δxk
求
F
′
(
x
k
+
Δ
x
k
)
F'(x_k+\Delta x_k)
F′(xk+Δxk)关于
Δ
x
\Delta x
Δx的一阶导数
F
′
(
x
k
+
Δ
x
k
)
=
J
(
x
0
)
T
+
1
2
(
H
Δ
x
+
H
T
Δ
x
)
=
J
(
x
0
)
T
+
H
Δ
x
=
0
F'(x_k+\Delta x_k)=J(x_0)^T+\frac{1}{2}(H\Delta x+H^T \Delta x)=J(x_0)^T+H\Delta x=0
F′(xk+Δxk)=J(x0)T+21(HΔx+HTΔx)=J(x0)T+HΔx=0
H
Δ
x
=
−
J
H \Delta x=-J
HΔx=−J
问题:计算量大
最速下降法
什么时候不用欧氏距离
Δ
n
s
d
:
表
示
下
降
梯
度
\Delta_{nsd}:表示下降梯度
Δnsd:表示下降梯度
∣
∣
v
∣
∣
:
范
数
,
当
∣
∣
v
∣
∣
是
欧
氏
范
数
时
,
与
最
一
阶
梯
度
下
降
法
等
价
| |v||:范数,当||v||是欧氏范数时,与最一阶梯度下降法等价
∣∣v∣∣:范数,当∣∣v∣∣是欧氏范数时,与最一阶梯度下降法等价
Δ
n
s
d
=
a
r
g
m
i
n
(
J
(
x
k
)
T
v
(
∣
∣
v
∣
∣
<
1
)
)
\Delta_{nsd}=argmin(J(x_k)^Tv(| |v||<1))
Δnsd=argmin(J(xk)Tv(∣∣v∣∣<1))
牛顿高斯法
将原函数在x处,进行一阶泰勒展开
f
(
x
+
Δ
x
)
≈
f
(
x
k
)
+
f
′
(
x
k
)
(
x
k
+
Δ
x
k
−
x
k
)
=
f
(
x
)
+
J
(
x
)
T
Δ
x
f(x+\Delta x)\approx f(x_k)+f'(x_k)(x_k+\Delta x_k-x_k)=f(x)+J(x)^T \Delta x
f(x+Δx)≈f(xk)+f′(xk)(xk+Δxk−xk)=f(x)+J(x)TΔx
重新构造目标函数:
F
(
x
)
=
Δ
x
∗
=
a
r
g
m
i
n
Δ
1
2
∣
∣
f
(
x
)
+
J
(
x
)
T
Δ
x
∣
∣
2
F(x)=\Delta x^*=argmin_{\Delta}\frac{1}{2}||f(x)+J(x)^T\Delta x||^2
F(x)=Δx∗=argminΔ21∣∣f(x)+J(x)TΔx∣∣2
求极值点
F
′
(
x
)
=
0
F'(x)=0
F′(x)=0
J
(
x
)
f
(
x
)
+
J
(
x
)
J
T
(
x
)
Δ
x
=
0
J(x)f(x)+J(x)J^T(x)\Delta x=0
J(x)f(x)+J(x)JT(x)Δx=0
得到高斯牛顿方程
H
(
x
)
=
J
(
x
)
J
T
(
x
)
H(x)=J(x)J^T(x)
H(x)=J(x)JT(x)
g
(
x
)
=
−
J
(
x
)
f
(
x
)
g(x)=-J(x)f(x)
g(x)=−J(x)f(x)
H
(
x
)
Δ
x
=
g
(
x
)
H(x)\Delta x=g(x)
H(x)Δx=g(x)
高斯牛顿寻找最优值
- 给定某个初值 x 0 x_0 x0
- 进行k次迭代,寻找一个 J ( x k ) J(x_k) J(xk),使 f ( x k ) f(x_k) f(xk)达到极小值
- 求解 H ( x ) Δ x k = g ( x ) H(x)\Delta x_k=g(x) H(x)Δxk=g(x)
- Δ x k \Delta x_k Δxk足够小停止,否则令 x k + 1 = x k + Δ x k x_{k+1}=x_k+\Delta x_k xk+1=xk+Δxk,转到第2步进行迭代
问题:H需要可逆,H不可逆时, J J T JJ^T JJT为奇异矩阵,增量的稳定性较差,导致算法不会收敛
阻尼牛顿法/列文伯格-马夸尔法/信赖区域法
在高斯牛顿法的基础上加上信赖区域即
F
(
x
)
=
Δ
x
∗
=
a
r
g
m
i
n
Δ
1
2
∣
∣
f
(
x
)
+
J
(
x
)
T
Δ
x
∣
∣
2
s
t
:
∣
∣
D
Δ
x
k
∣
∣
2
≤
u
F(x)=\Delta x^*=argmin_{\Delta}\frac{1}{2}||f(x)+J(x)^T\Delta x||^2\\ st:||D\Delta x_k||^2\leq u
F(x)=Δx∗=argminΔ21∣∣f(x)+J(x)TΔx∣∣2st:∣∣DΔxk∣∣2≤u
构造拉格朗日函数
λ
:
拉
格
朗
日
算
子
\lambda:拉格朗日算子
λ:拉格朗日算子
Γ
(
Δ
x
k
,
λ
)
=
1
2
∣
∣
f
(
x
)
+
J
(
x
)
T
Δ
x
∣
∣
2
+
λ
2
(
∣
∣
D
Δ
x
k
∣
∣
2
−
u
)
\Gamma(\Delta x_k,\lambda)=\frac{1}{2}||f(x)+J(x)^T\Delta x||^2+\frac{\lambda}{2}(||D \Delta x_k||^2-u)
Γ(Δxk,λ)=21∣∣f(x)+J(x)TΔx∣∣2+2λ(∣∣DΔxk∣∣2−u)
令
Γ
′
(
Δ
x
k
,
λ
)
=
0
\Gamma'(\Delta x_k,\lambda)=0
Γ′(Δxk,λ)=0得到:
D
T
D
=
I
D^T D=I
DTD=I
(
H
+
λ
D
T
D
)
Δ
x
k
=
g
(
H
+
λ
)
Δ
x
k
=
g
(H+\lambda D^T D)\Delta x_k=g\\ (H+\lambda )\Delta x_k=g
(H+λDTD)Δxk=g(H+λ)Δxk=g
阻尼牛顿法/列文伯格-马夸尔法/信赖区域法寻找最优值
- 给定某个初值 x 0 x_0 x0,以及初始优化范围 u u u
- 进行k次迭代,求解 ( H + λ ) Δ x k = g (H+\lambda )\Delta x_k=g (H+λ)Δxk=g
- 计算 p p p衡量近似程度的好坏 p = f ( x + Δ x ) − f ( x ) J T ( x ) Δ x p=\frac{f(x+\Delta x)-f(x)}{J^T(x)\Delta x} p=JT(x)Δxf(x+Δx)−f(x)
- p > 3 / 4 , u = 2 u p>3/4,u=2u p>3/4,u=2u
- p < 1 / 4 , u = 0.5 u p<1/4,u=0.5u p<1/4,u=0.5u
- p > 设 置 的 阈 值 p>设置的阈值 p>设置的阈值,令 x k + 1 = x k + Δ x k x_{k+1}=x_k+\Delta x_k xk+1=xk+Δxk
- 判断算法收敛,不收敛返回第2步