赞
踩
求解无约束优化问题min f(x), x∈Rn
f: D是Rn的 子集,D->R
一般求解方法:
求无约束的某可微函数的最优解,根据一阶必要条件,可以令函数的梯度等于0,由此求得驻点;然后通过充分条件进行判别,求出所要的解。
问题:
迭代法一般思路:
为了求函数f(x)的最优解,首先给定一个初始估计x0,然后按某种规划(即算法)找出比x0更好的解x1,f(x1)<f(x0),再按此种规则找出比x1更好的解x2,如此迭代。
如此即可得到一个解的序列{xk},若这个解序列有极限x*,lim||xk -x*|| = 0,则称他收敛与x*;
若算法是有效的,则它产生的解序列收敛于该问题的最优解。
终止条件:
理想的终止条件为:|f(x)-f(x*)|<ε 或者 ||x-x*||<ε。但是x*是未知的。
实用的终止条件是根据相继两次迭代的结果
收敛速度:
迭代法分类:
根据是否计算目标函数和约束函数的导数
根据迭代点是否沿某个方向产生
线搜索迭代法基本思想:
若从xk 出发至少存在一个方向dk可使目标函数值有所下降,可选定这个方向dk,沿这个方向迈进适当的一步,得到下一个迭代点xk+1,使f(xk+1)<f(xk)。
相当于在射线x=xk+λdk上选定新的点xk+1=xk+λkdk;
其中dk成搜索方向;λk称为步长或学习率(在ML中)
线搜索迭代法的一般步骤:
之后各种算法的区分,主要在于搜索方向dk的不同。
迭代步长常见方法:
方法三又称精确一维搜索或精确线搜索或一维最优化,确定的步长为最佳步长。
注意:在搜索方向上所得最优点处的梯度和该搜索方向正交
精确的一维搜索方法:
非精确一维搜索:
通过计算少量的函数值,得到一步长λk,使得后续迭代点xk+1=xk+λkdk满足f(xk+1)<f(xk),即使目标函数要“充分”下降
常用的一维直接法有消去法和近似法两类。它们都是从某个初始搜索区间出发,利用单峰函数的消去性质,逐步缩小搜索区间,直到满足精度要求为止。
单峰函数:
进退算法(成功-失败法)
由单峰函数的性质可知,函数值在极小点左边严格下降,在右边严格上升。 (直接法)
基本思想:从某个初始点出发,沿函数值下降的方向前进,直至发现函数值上升为止。由两边高,中间低的三点,可确定极小点所在的初始区间。
步骤:
例题
0.618算是成功-失败法的进阶 (直接法)
成功-失败法的初始点是随机选取的;
黄金分割法考虑两个条件:
最后初始的x1和x2选择为: t = 0.618
x1 = a + (1- t)(b - a )
x2 =a +t (b -a )
算法说明:
优点:不要求函数可微,且每次迭代只需计算一个函数值,计算量小,程序简单
缺点:收敛速度慢
比成功失败法效率稍微好一点
基本思想 (非直接法)
计算步骤
算法说明
优点:计算量较少,总能收敛到一个局部极小点
缺点:收敛速度较慢
牛顿法是一种函数逼近法,基本思想是:在极小点附近用函数的二阶泰勒多项式近似代替目标函数,从而求得目标函数的极小点的近似值。
计算步骤
算法说明
优点:收敛速度快,局部二阶收敛
缺点:须计算二阶导数,工作量大;对初始点要求高,要求初始点离极小点不太远,否则有可能使极小化发散或收敛到非极小点;局部收敛。
(直接法)
基本原理:通过三个点模拟一个曲线,求此曲线的极小值点,每次迭代就模拟一次并求出极小点。
通过等式1,2,3不断化简,最后极小点求得为:
基本步骤:
每次选完x后x左右两边的点就为下一次迭代的x1,x3;终止条件由中间的点x2和x* 的差的绝对值判定。
基本思想:用四个已知值(如两个点函数值及其导数值)构造一个三次多项式P3(x),用P3(x)的极小点近似目标函数的极小点x*; (非直接法)
三次插值法的收敛速度比二次插值法要快,达到2阶收敛速度。
利用函数在两点的函数值和导数值:
p(x) = A(x-x1)3+B(x-x1)2+C(x-x1)+D
推理过程:
根据极值的条件:
最后迭代公式为:
满足(u-v+2w>0)
基本流程:
算法说明:
优点:收敛速度快
缺点:计算复杂,计算量大,
一维方法总结:
考虑非精确一维搜索方法的原因:
保证目标函数在每次迭代有满意下降量的方法,就是非精确一维搜索方法或称为可接受一维搜索方法。
原理:
其中 0<ρ<1/2 目的是为保证目标函数有一个满意的下降量,必须避免步长太靠近区间的端点。
Armijo-Goldstein准则下可接受区间[b,c],其中的点称为可接受步长
基本步骤:
A-G 方法会出现的问题是:把最佳步长排除在可接受区间外面。
原理:
计算步骤:
(感觉非精确一维计算不会考 就算会考会算就行)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。