上一节主要学习了无约束优化问题的解的条件,这一节主要学习优化问题求解中步长的确定
求解最优化问题的基本方法是迭代算法,迭代算法是指采用逐步逼近的计算方法来逼近精确解,即选择一个初始点 后,根据迭代算法生成 ,使得 ,其中 为精确解。最优化方法有两种求解方式
首先介绍线搜索方法
这个算法中需要解决三个问题
这一节将先解决问题1和3,第二个问题的解决将留到下一节中介绍
其他说明:线搜索方法和信赖域方法的区别在于是先选择下降的方向还是先选择步长,线搜索方法在 点求得下降方向 在沿 确定步长 ,而信赖域方法是先限定步长的范围,再同时确定下降方向 和步长
判断算法的终止条件主要有三种
根据最优解的一阶必要条件,最优解 为平稳定满足 ,因此可以使用
作为终止条件
缺点:
即迭代点的改变很小
即目标函数的改善非常小
第二种和第三种终止条件的缺点:无法保证 或 足够小,即无法保证终止时 非常接近
已经确定好了下降方向,现在需要确定步长,使得 最小,记
因为迭代点 和下降方向 已知,因此 是关于 的一元函数
因此线搜索问题转换为求解一元函数最优解的问题,即
表示第 次迭代过程中 的最小点
求解 的方法主要有:
根据最优解的一阶必要条件, 满足
解出等式的解以后需要通过通过Hessen矩阵判断是否为最优解
缺点:
对于精确线性搜索存在的问题,可以采用直接搜索法去求解步长。一般都采用基于搜索区间的直接搜索法,直接搜索法要求事先知道一个包含最优解 的搜索区间
搜索区间的定义:设 是 的极小点,若存在区间 ,使得 ,并且要求 在此区间是单峰函数。即搜索区间需要满足两个条件
单峰函数的定义:若存在 ,使 在 上单调下降,在 上单调上升,则称 是区间 上的单峰函数,
搜索区间的确定:
采用进退法求初始区间 ,该方法的基本思路是先选定一个初始点 和一个初始步长 ,从 起以 为步长向前搜索一步得 。若该点的目标函数值较 处的目标函数值减小了,则加大 继续向前搜索,直到新一点目标函数值较前一点的目标函数值大则停止;否则从 为初始点以 为初始步长向反方向进行搜索
直接搜索法的思想:确定了初始区间 ,如果区间较大求解将非常困难,因此一个思路是不断缩小区间 但仍需保证 在缩小后的区间内,将 缩小到很小的区间时,可以任取区间内的一点 近似于 。因此需要不断的缩小搜索区间,选取两点 ,且
常见的直接搜索法:
设 是区间 上的单峰函数,令
令 ,即将初始区间N等分,比较相邻三个点对应的函数值,若对于某个 有
则 ,则得到新的搜索区间 。选取新区间以后继续重复上述过程,该算法进行一次搜索区间将缩小为原搜索区间的
令 在搜索区间 中插入两个试探点 ,其中
即 若 ,则 ,产生新的搜索区间 ,反之产生的新区间为 。选取新区间以后继续重复上述过程直至 则停止迭代,此时 。该算法进行一次搜索区间将缩小为原区间的
0.618法和均匀搜索法相比
记区间的中点 ,计算该点的导数值
若 ,则
若 ,则 ,产生新的搜索区间
若 ,则 ,产生新的搜索区间
选取新区间以后重新选取中点继续上述过程,该算法进行一次搜索区间将缩小为原搜索区间的
采用精确搜索法和直接搜索法求解 虽然会使得目标函数在每次迭代中下降较多,但计算量非常大,没必要将线性搜索搞得十分精准,特别在计算的初始阶段,此时迭代点 离目标函数的最优解还很远,过分地追求线性搜索的精度会降低整个方法的效率。可以适当放松对 的要求,只要求满足适当的条件即为 的最优解
4.3.1 Armijo条件
设 ,若 满足
当 时, ,图像是一条直线
当 时, ,图像是在点 的切线
结合图像
4.3.2 Goldsteint条件
称除了满足 Armijo条件以外,还需要满足
其中 满足
结合图像
对一个算法除了要考虑步长及梯度方向的选择以外,还需考虑算法的收敛性,在算法收敛的情况下还需要考虑算法的收敛速度,因为算法的收敛性是判断一个算法优劣的重要标准
若一个算法产生的迭代序列在某种范数 下满足 则称这个算法是收敛的,进一步根据初始点 选取的不同,可以进一步将收敛性分为:
设迭代序列 收敛到 ,若存在极限 当 时,称迭代序列 是线性收敛的
当 时,称迭代序列 是超线性收敛的
若存在 ,极限满足则称迭代序列 是 阶收敛的,一般通常考虑二阶收敛,并且 阶收敛必为超线性收敛
证明:
对极限做一个如下变形
当 , 将非常小,因此
将非常大,若 收敛,则 因此此时是满足超线性收敛的
收敛速度比较:线性收敛 < 超线性收敛 < 阶收敛
对于一个算法,如果它对任意的正定二次型,从任意初始点出发,可以经有限步迭代求得极小值点,则称该算法具有二次终止性
在线客服
电话咨询
官方微信
返回顶部