智能计算数学基础——下降法求解无约束条件优化问题

本文介绍了无约束条件优化问题及下降法,重点讲解了梯度下降法和牛顿法。梯度下降通过沿着负梯度方向寻找函数最小值,而牛顿法则利用二阶泰勒展开寻找更精确的下降方向。两种方法都是解决优化问题的常用策略。

1、无约束条件优化

考虑无约束条件优化问题:minimizex∈Df(x)\underset{x\in D}{minimize} f(x)xDminimizef(x)目标是找到一个x∗x^*x,使得∀x∈D,f(x∗)≤f(x)\forall x \in D,f(x^*)≤f(x)xD,f(x)f(x)。这里的x∗x^*xf(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 RxR时,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^nxRn,这时,
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),是一个常向量。
fffxxx附近就近似地看成了一个线性函数。

下降要满足条件: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>2a2b2成立,当且仅当,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Δxaε成立的条件为,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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值