1、无约束条件优化
考虑无约束条件优化问题:minimizex∈Df(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(x0)≥f(x1)≥f(x2)≥...≥f(xk)≥f(xk+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)≥...,在某一步之后,我们就认定xk=x∗x_k=x^*xk=x∗。
2、下降法
2.1、下降法的核心问题
下降法的核心问题是:如何来下降。

从xxx出发,找到一个偏移量Δ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展开,
当xxx为一元变量,x∈Rx \in Rx∈R时,f(x+Δx)≈f(x)+f′(x)Δxf(x+\Delta x)≈f(x)+f'(x)\Delta xf(x+Δx)≈f(x)+f′(x)Δx,其中,xxx为常量,Δx\Delta xΔx为变量。
其实,更常用的是xxx为多元变量,x∈Rnx\in R^nx∈Rn,这时,
f(x+Δx)≈f(x)+atΔ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),是一个常向量。
fff在xxx附近就近似地看成了一个线性函数。
下降要满足条件: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)尽可能小即可。
梯度下降就是采用的这种方式,形式化表示为:
min∣∣Δ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+Δxx+\Delta xx+Δx是在xxx的附近取值。
当xxx分别为一维、二维、三维时,x+Δxx+\Delta xx+Δx的范围如下图所示:

根据(1)(2),可推导出
min∣∣Δx∣∣≤εf(x)+atΔ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) ⇔min∣∣Δx∣∣≤εatΔ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,ba,ba,b在一条直线上,即a,ba,ba,b线性相关,继续往下推。
因此,使得atΔx=<a,Δx>≥−∣∣a∣∣⋅∣∣Δx∣∣≥−∣∣a∣∣⋅εa^t\Delta x=<a,\Delta x>≥-||a||·||\Delta x||≥-||a||·\varepsilonatΔx=<a,Δx>≥−∣∣a∣∣⋅∣∣Δx∣∣≥−∣∣a∣∣⋅ε成立的条件为,a,Δxa,\Delta xa,Δx线性相关,又由于<a,Δ><a,\Delta><a,Δ>是一个负数,所以a,Δxa,\Delta xa,Δx线性负相关,形式化表示为:Δx=−λa\Delta x = -\lambda aΔx=−λa
其中,λ\lambdaλ是正数,为学习率,aaa为梯度。
总结: 梯度下降是怎么选Δx\Delta xΔx的呢?即沿着负梯度方向走一点。
2.3、牛顿法(Newton法)
Newton法认为1阶Taylor展开并不是那么精确,采用2阶Taylor展开。
f(x+Δx)≈f(x)+atΔx+12(Δx)tpΔ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)
其中,aaa为梯度,ppp是一个矩阵。
min∣∣Δx∣∣≤εf(x+Δx)(5)\underset{||\Delta x|| ≤ \varepsilon}{min}f(x+\Delta x)\tag{5}∣∣Δx∣∣≤εminf(x+Δx)(5)
min∣∣Δx∣∣≤εf(x)+atΔx+12(Δx)tpΔ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)+atΔx+12(Δx)tpΔxf(x)+a^t\Delta x+\frac{1}{2}(\Delta x)^tp\Delta xf(x)+atΔx+21(Δx)tpΔx是一个关于Δx\Delta xΔx的二次函数,Newton法是通过求这个二次函数的最小值,找到Δx\Delta xΔx。
本文介绍了无约束条件优化问题及下降法,重点讲解了梯度下降法和牛顿法。梯度下降通过沿着负梯度方向寻找函数最小值,而牛顿法则利用二阶泰勒展开寻找更精确的下降方向。两种方法都是解决优化问题的常用策略。
1万+

被折叠的 条评论
为什么被折叠?



