1、无约束条件优化
考虑无约束条件优化问题:
m
i
n
i
m
i
z
e
x
∈
D
f
(
x
)
\underset{x\in D}{minimize} f(x)
x∈Dminimizef(x)目标是找到一个
x
∗
x^*
x∗,使得
∀
x
∈
D
,
f
(
x
∗
)
≤
f
(
x
)
\forall x \in D,f(x^*)≤f(x)
∀x∈D,f(x∗)≤f(x)。这里的
x
∗
x^*
x∗是
f
(
x
)
f(x)
f(x)的极小值点,也是优化问题的解。
一般优化问题是比较难求解的,常采用下降
的方法。
即,从某一个起始点开始,一点一点地下降,去找
x
∗
x^*
x∗,可以形式化表示为:
f
(
x
0
)
≥
f
(
x
1
)
≥
f
(
x
2
)
≥
.
.
.
≥
f
(
x
k
)
≥
f
(
x
k
+
1
)
≥
.
.
.
f(x_0)≥f(x_1)≥f(x_2)≥...≥f(x_k)≥f(x_{k+1})≥...
f(x0)≥f(x1)≥f(x2)≥...≥f(xk)≥f(xk+1)≥...,在某一步之后,我们就认定
x
k
=
x
∗
x_k=x^*
xk=x∗。
2、下降法
2.1、下降法的核心问题
下降法的核心问题是:如何来下降。
从
x
x
x出发,找到一个偏移量
Δ
x
\Delta x
Δx,使得函数值是下降的,即:
f
(
x
)
≥
f
(
x
+
Δ
x
)
f(x)≥f(x+\Delta x)
f(x)≥f(x+Δx)。
最简单的方法是:梯度下降。
2.2、梯度下降法(Gradient Descent,GD)
根据一阶Taylor展开,
当
x
x
x为一元变量,
x
∈
R
x \in R
x∈R时,
f
(
x
+
Δ
x
)
≈
f
(
x
)
+
f
′
(
x
)
Δ
x
f(x+\Delta x)≈f(x)+f'(x)\Delta x
f(x+Δx)≈f(x)+f′(x)Δx,其中,
x
x
x为常量,
Δ
x
\Delta x
Δx为变量。
其实,更常用的是
x
x
x为多元变量,
x
∈
R
n
x\in R^n
x∈Rn,这时,
f
(
x
+
Δ
x
)
≈
f
(
x
)
+
a
t
Δ
x
(1)
f(x+\Delta x)≈f(x)+a^t\Delta x\tag{1}
f(x+Δx)≈f(x)+atΔx(1),其中,
a
=
∇
f
(
x
)
a=\nabla f(x)
a=∇f(x),是一个常向量。
f
f
f在
x
x
x附近就近似地看成了一个线性函数。
下降要满足条件:
f
(
x
)
>
f
(
x
+
Δ
x
)
f(x)>f(x+\Delta x)
f(x)>f(x+Δx),一个办法就是,使
Δ
x
\Delta x
Δx变化让
f
(
x
+
Δ
x
)
f(x+\Delta x)
f(x+Δx)尽可能小即可。
梯度下降就是采用的这种方式,形式化表示为:
m
i
n
∣
∣
Δ
x
∣
∣
≤
ε
f
(
x
+
Δ
x
)
(2)
\underset{||\Delta x|| ≤ \varepsilon}{min}f(x+\Delta x)\tag{2}
∣∣Δx∣∣≤εminf(x+Δx)(2)
其中,
ε
\varepsilon
ε是给定的一个很小的正量,
∣
∣
Δ
x
∣
∣
≤
ε
||\Delta x|| ≤ \varepsilon
∣∣Δx∣∣≤ε表示
x
+
Δ
x
x+\Delta x
x+Δx是在
x
x
x的附近取值。
当
x
x
x分别为一维、二维、三维时,
x
+
Δ
x
x+\Delta x
x+Δx的范围如下图所示:
根据(1)(2),可推导出
m
i
n
∣
∣
Δ
x
∣
∣
≤
ε
f
(
x
)
+
a
t
Δ
x
(3)
\underset{||\Delta x|| ≤ \varepsilon}{min}f(x)+a^t\Delta x\tag{3}
∣∣Δx∣∣≤εminf(x)+atΔx(3)
由于
f
(
x
)
f(x)
f(x)是常量,所以有
(3)
⇔
m
i
n
∣
∣
Δ
x
∣
∣
≤
ε
a
t
Δ
x
\Leftrightarrow\underset{||\Delta x|| ≤ \varepsilon}{min}a^t\Delta x
⇔∣∣Δx∣∣≤εminatΔx,有解且有解析解。
解析解:解能以公式写出来。
由Cauchy不等式
∣
∣
<
a
,
b
>
∣
∣
2
≤
∣
∣
a
∣
∣
2
∣
∣
b
∣
∣
2
||<a,b>||^2≤||a||^2||b||^2
∣∣<a,b>∣∣2≤∣∣a∣∣2∣∣b∣∣2成立,当且仅当,
a
,
b
a,b
a,b在一条直线上,即
a
,
b
a,b
a,b线性相关,继续往下推。
因此,使得
a
t
Δ
x
=
<
a
,
Δ
x
>
≥
−
∣
∣
a
∣
∣
⋅
∣
∣
Δ
x
∣
∣
≥
−
∣
∣
a
∣
∣
⋅
ε
a^t\Delta x=<a,\Delta x>≥-||a||·||\Delta x||≥-||a||·\varepsilon
atΔx=<a,Δx>≥−∣∣a∣∣⋅∣∣Δx∣∣≥−∣∣a∣∣⋅ε成立的条件为,
a
,
Δ
x
a,\Delta x
a,Δx线性相关,又由于
<
a
,
Δ
>
<a,\Delta>
<a,Δ>是一个负数,所以
a
,
Δ
x
a,\Delta x
a,Δx线性负相关,形式化表示为:
Δ
x
=
−
λ
a
\Delta x = -\lambda a
Δx=−λa
其中,
λ
\lambda
λ是正数,为学习率,
a
a
a为梯度。
总结: 梯度下降是怎么选
Δ
x
\Delta x
Δx的呢?即沿着负梯度方向走一点。
2.3、牛顿法(Newton法)
Newton法认为1阶Taylor展开并不是那么精确,采用2阶Taylor展开。
f
(
x
+
Δ
x
)
≈
f
(
x
)
+
a
t
Δ
x
+
1
2
(
Δ
x
)
t
p
Δ
x
(4)
f(x+\Delta x)≈f(x)+a^t\Delta x+\frac{1}{2}(\Delta x)^tp\Delta x\tag{4}
f(x+Δx)≈f(x)+atΔx+21(Δx)tpΔx(4)
其中,
a
a
a为梯度,
p
p
p是一个矩阵。
m
i
n
∣
∣
Δ
x
∣
∣
≤
ε
f
(
x
+
Δ
x
)
(5)
\underset{||\Delta x|| ≤ \varepsilon}{min}f(x+\Delta x)\tag{5}
∣∣Δx∣∣≤εminf(x+Δx)(5)
m
i
n
∣
∣
Δ
x
∣
∣
≤
ε
f
(
x
)
+
a
t
Δ
x
+
1
2
(
Δ
x
)
t
p
Δ
x
(6)
\underset{||\Delta x|| ≤ \varepsilon}{min}f(x)+a^t\Delta x+\frac{1}{2}(\Delta x)^tp\Delta x\tag{6}
∣∣Δx∣∣≤εminf(x)+atΔx+21(Δx)tpΔx(6)
很显然,
f
(
x
)
+
a
t
Δ
x
+
1
2
(
Δ
x
)
t
p
Δ
x
f(x)+a^t\Delta x+\frac{1}{2}(\Delta x)^tp\Delta x
f(x)+atΔx+21(Δx)tpΔx是一个关于
Δ
x
\Delta x
Δx的二次函数,Newton法是通过求这个二次函数的最小值,找到
Δ
x
\Delta x
Δx。