【最优化】学习笔记 1
【梯度下降法】
目标函数
f
:
R
n
↦
R
f: \mathbb R^n \mapsto \mathbb R
f:Rn↦R
m
i
n
i
m
i
z
e
:
f
minimize:f
minimize:f
梯度:
∇
f
(
x
)
=
(
∂
f
∂
x
1
,
∂
f
∂
x
2
,
.
.
.
,
∂
f
∂
x
n
)
\nabla f(\pmb x)=(\frac {\partial f}{\partial x_1},\frac {\partial f}{\partial x_2},...,\frac {\partial f}{\partial x_n})
∇f(xxx)=(∂x1∂f,∂x2∂f,...,∂xn∂f)
几何含义:梯度方向
−
∇
f
(
x
)
-\nabla f(\pmb x)
−∇f(xxx)是函数
f
f
f在
x
\pmb x
xxx处减少最快的方向
基本思想:从搜索点
x
(
k
)
\pmb x^{(k)}
xxx(k)开始,以步长
α
k
\pmb \alpha_k
αααk,沿着方向
−
∇
f
(
x
(
k
)
)
-\nabla f(\pmb x^{(k)})
−∇f(xxx(k))搜索,不断减小
f
f
f
(不断的往当前函数值下降最快的方向搜索,是局部最优的迭代)
迭代公式
x
(
k
+
1
)
=
x
(
k
)
−
α
k
∇
f
(
x
(
k
)
)
\pmb x^{(k+1)}=\pmb x^{(k)} - \pmb \alpha_k\nabla f(\pmb x^{(k)})
xxx(k+1)=xxx(k)−αααk∇f(xxx(k))
步长过大:计算次数少,但可能不收敛
步长过小:精度高稳定收敛,但计算量大
【最速下降法】
目标函数 f ( x ) = 1 2 x T Q x − b T x f(\pmb x)=\frac{1}{2}\pmb x^T\pmb Q\pmb x-\pmb b^T\pmb x f(xxx)=21xxxTQQQxxx−bbbTxxx
λ
m
a
x
(
Q
)
\lambda_{max}(\pmb Q)
λmax(QQQ)、
λ
m
i
n
(
Q
)
\lambda_{min}(\pmb Q)
λmin(QQQ)分别为
Q
\pmb Q
QQQ特征值中的最大值和最小值
在【梯度下降法】的基础上,确定步长
α
k
\pmb \alpha_k
αααk选取的算法
α
k
=
arg
min
α
⩾
0
f
(
x
(
k
)
−
α
∇
f
(
x
(
k
)
)
)
\pmb \alpha_k=\underset {\alpha \geqslant0}{\arg\min}f(\pmb x^{(k)}-\pmb \alpha\nabla f(\pmb x^{(k)}))
αααk=α⩾0argminf(xxx(k)−ααα∇f(xxx(k)))
即 每次迭代中,选取合适步长,使得目标函数能够最大程度的减小
【相关结论】
1、相邻搜索方向
∇
f
(
x
(
k
)
)
\nabla f(\pmb x^{(k)})
∇f(xxx(k))与
∇
f
(
x
(
k
+
1
)
)
\nabla f(\pmb x^{(k+1)})
∇f(xxx(k+1))正交 ,
k
∈
N
+
k\in N+
k∈N+
2、迭代过程中,只要
∇
f
(
x
(
k
)
)
\nabla f(\pmb x^{(k)})
∇f(xxx(k))不为 0,就有
f
(
x
(
k
+
1
)
)
<
f
(
x
(
k
)
)
f(\pmb x^{(k+1)})<f(\pmb x^{(k)})
f(xxx(k+1))<f(xxx(k))(下降特性)
【主要缺陷】
对某些形式的目标函数,迭代路径不断在狭窄的谷底内来回往复,形成锯齿,效率较低
【固定步长】
若对于所有
k
k
k,固定步长
α
k
=
α
∈
R
\pmb \alpha_k=\pmb \alpha\in \mathbb R
αααk=ααα∈R,要迭代收敛,当且仅当步长
0
<
α
<
2
λ
m
a
x
(
Q
)
0<\pmb \alpha<\frac {2}{\lambda_{max}(\pmb Q)}
0<ααα<λmax(QQQ)2
【收敛率】
f
(
x
(
k
+
1
)
)
⩽
(
1
−
1
r
)
f
(
x
(
k
)
)
f(\pmb x^{(k+1)})\leqslant (1-\frac{1}{r})f(\pmb x^{(k)})
f(xxx(k+1))⩽(1−r1)f(xxx(k))
其中
r
=
λ
m
a
x
(
Q
)
λ
m
i
n
(
Q
)
r=\frac {\lambda_{max}(Q)}{\lambda_{min}(Q)}
r=λmin(Q)λmax(Q)
几何意义: 以二元二次型函数为例,若等值线为圆,则
r
=
0
r=0
r=0,从任意起点开始迭代均可一步收敛;随着
r
r
r增加,等值线变为椭圆,且离心率增加,在某些起点开始迭代,收敛速度显著降低
【收敛阶数】
已知序列
{
x
(
k
)
}
\{\pmb x^{(k)}\}
{xxx(k)}将收敛到
x
∗
\pmb x^*
xxx∗,如果
∣
∣
x
(
k
+
1
)
−
x
∗
∣
∣
=
O
(
∣
∣
x
(
k
)
−
x
∗
∣
∣
p
)
||\pmb x^{(k+1)}-\pmb x^*||=O(||\pmb x^{(k)}-\pmb x^*||^p)
∣∣xxx(k+1)−xxx∗∣∣=O(∣∣xxx(k)−xxx∗∣∣p)
则序列的收敛阶数(如果存在)至少为
p
p
p
如果
∣
∣
x
(
k
+
1
)
−
x
∗
∣
∣
=
o
(
∣
∣
x
(
k
)
−
x
∗
∣
∣
p
)
||\pmb x^{(k+1)}-\pmb x^*||=o(||\pmb x^{(k)}-\pmb x^*||^p)
∣∣xxx(k+1)−xxx∗∣∣=o(∣∣xxx(k)−xxx∗∣∣p)
则序列的收敛阶数(如果存在)一定大于
p
p
p
阶数越高,收敛率越高,收敛速度越快