如何基于无约束方法建立约束优化方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何基于无约束方法建立约束优化方法相关的知识,希望对你有一定的参考价值。

参考技术A Data Mining 无约束最优化方法 梯度的方向与等值面垂直,并且指向函数值提升的方向。 二次收敛是指一个算法用于具有正定二次型函数时,在有限步可达到它的极小点。二次收敛与二阶收敛没有尽然联系,更不是一回事,二次收敛往往具有超线性以上的本回答被提问者采纳

无约束优化算法-第一节:线搜索方法

文章目录

一:无约束优化问题概述

考虑如下无约束优化问题

m i n x ∈ R n f ( x ) \\mathopmin\\limits_x\\in R^nf(x) xRnminf(x)

无约束优化问题是众多优化问题中最基本的一类问题,它对自变量 x x x的取值范围不加限制,所以无需考虑 x x x的可行性

  • 对于光滑函数,我们可以较容易地利用梯度和海瑟矩阵的信息来设计算法
  • 对于非光滑函数,我们可以利用次梯度来构造迭代格式

无约束优化问题的优化算法主要分为如下两类

  • 线搜索类型:根据搜索方向的不同可以分为如下几种,一旦确定了搜索的方向,下一步即沿着该方向寻找下一个迭代点

    • 梯度类算法
    • 次梯度算法
    • 牛顿算法
    • 拟牛顿算法
  • 信赖域类型:主要针对 f ( x ) f(x) f(x)二阶可微的情形,它是在一个给定的区域内使用二阶模型近似原问题,通过不断直接求解该二阶模型从而找到最优值点

二:线搜索方法

(1)概述

线搜索方法:对于本文最开始的优化问题,采用线搜索方法求解 f ( x ) f(x) f(x)最小值点的过程类似于盲人下山:假设一个人处于某个点 x x x处, f ( x ) f(x) f(x)表示此地的高度,为了寻找最低点,在点 x x x处需要确定如下两件事情

  • 下一步应该向哪一个方向行走?
  • 沿着该方向行走多远后停下以便选取下一个下山方向

以上这两个因素确定后,便可以一直重复,直到到达 f ( x ) f(x) f(x)的最小值点

线搜索类算法的数学表述为:给定当前迭代点 x k x^k xk,首先通过某种算法选取向量 d k d^k dk,之后确定正数 α k \\alpha_k αk,则下一步迭代点可以写作

x k + 1 = x k + α k d k x^k+1=x^k+\\alpha_kd^k xk+1=xk+αkdk

  • d k d^k dk:是迭代点 x k x^k xk处的搜索方向。此处要求 d k d^k dk是一个下降方向,也即 ( d k ) T ∇ f ( x k ) < 0 (d^k)^T\\nabla f(x^k)<0 (dk)Tf(xk)<0,这个下降性质保证了沿着此方向搜索函数值会减小
  • α k \\alpha_k αk:是相应的步长

所以线搜索类算法的关键是如何选取一个好的方向 d k d^k dk和合适的步长 α k \\alpha_k αk


不同的线搜索算法对于 d k d^k dk的选取有着不同的方式,但 α k \\alpha_k αk的选取方法却基本一致。首先构造辅助函数

ϕ ( α ) = f ( x k + α d k ) \\phi(\\alpha)=f(x^k+\\alpha d^k) ϕ(α)=f(xk+αdk)

  • d k d^k dk:是给定的下降方向
  • α > 0 \\alpha >0 α>0:是该辅助函数的自变量

函数 ϕ ( α ) \\phi(\\alpha) ϕ(α)的几何意义非常直观:它是目标函数 f ( x ) f(x) f(x)在射线 x k + α d k : α > 0 \\x^k+\\alpha d^k:\\alpha>0\\ xk+αdk:α>0上的限制。线搜索的目标时选取合适的 α k \\alpha_k αk使得 ϕ ( α k ) \\phi(\\alpha_k) ϕ(αk)尽可能小,这要求

  • α k \\alpha_k αk应该使得 f f f充分下降
  • 不应该在寻找 α k \\alpha_k αk上花费过度的计算量

所以一个自然的想法是寻找 α k \\alpha_k αk使得

α k = a r g m i n α > 0 ϕ ( α ) \\alpha_k=\\mathopargmin\\limits_\\alpha>0\\phi(\\alpha) αk=α>0argminϕ(α)

这种线搜索方法称之为精确线搜索算法,虽然精确线搜索算法可以在多数情况下找到问题的解,但这通常需要非常大的计算量,所以实际应用中很少使用。所以另一个想法是不要求 α k \\alpha_k αk ϕ ( α ) \\phi(\\alpha) ϕ(α)的最小值点,而仅仅要求 ϕ ( α k ) \\phi(\\alpha_k) ϕ(αk)满足某些不等式性质,因此这类方法称之为非精确线搜索算法,所以我们接下来介绍该类算法的结构

(2)线搜索准则

线搜索准则:在非精确线搜索算法中,选取 α k \\alpha_k αk需要满足一定的要求,这些要求被称为线搜索准则。不合适的线搜索准则会导致算法无法收敛

  • 例如下面这个例子,由于迭代过程中函数值 f ( x k ) f(x^k) f(xk)的下降量不够充分,以至于算法无法收敛至极小值点

所以为了避免这种情况发生,必须要引入一些更合理的线搜索准则来确保迭代的收敛性

A:Armijo准则

①:概述

Armijo准则:设 d k d^k dk是点 x k x^k xk处的下降方向,若

f ( x k + α d k ) ≤ f ( x k ) + c 1 α ∇ f ( x k ) T d k f(x^k+\\alpha d^k)\\leq f(x^k)+c_1\\alpha \\nabla f(x^k)^Td^k f(xk+αdk)f(xk)+c1αf(xk)Tdk

则称步长 α \\alpha α满足Armijo准则,其中 c 1 ∈ ( 0 , 1 ) c_1\\in(0,1) c1(0,1)是一个常数。其几何意义是指点 ( α , ϕ ( α ) ) (\\alpha, \\phi(\\alpha)) (α,ϕ(α))必须在直线

l ( α ) = ϕ ( 0 ) + c 1 α ∇ f ( x k ) T d k l(\\alpha)=\\phi(0)+c_1\\alpha\\nabla f(x^k)^Td^k l(α)=ϕ(0)+c1αf(x以上是关于如何基于无约束方法建立约束优化方法的主要内容,如果未能解决你的问题,请参考以下文章

无约束优化方法-直接方法(坐标轮换法)

牛顿法求解无约束最优化问题的方法

优化理论19----DNRTR无约束优化的对角拟牛顿修正方法

无约束最优化(二) 共轭方向法与共轭梯度法

无约束优化问题中牛顿法与拟牛顿法四种迭代方法的matlab实现

无约束优化问题中牛顿法与拟牛顿法四种迭代方法的matlab实现