https://blog.csdn.net/fangqingan_java/article/details/48946903 数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization) ———————————————— |
|
在实际应用中,有些目标函数的梯度不容易计算,即使使用有限差分等近似算法,也会因为噪声的存在导致结果不精确。无梯度优化算法(DFO-Derivative-Free Optimization)可以在不计算梯度的情况下进行问题的最优化,主要有两类思路,一是根据目标函数的样本进行拟合,对拟合函数进行最优化;二是用一些启发式算法。 1. 有限差分和误差 基于模型的方法 主要思路是,在第k步迭代时,基于该点进行模型近似,通过采样推导出模型中的参数,基于该模型进行最优化计算。
扫描二维码关注公众号,回复:
11206260 查看本文章
———————————————— 坐标和模式搜索方法 坐标搜索方法(Coordinate SearchMethod) 模式搜索方法 每次搜索方向都是从一个“结构集”中选取,找到某个下降点,进行线搜索,否则修改步长,重复该过程。 |
|
其他DFO算法: 共轭方向算法 类似于共轭梯度方法,该方法的目标是最优化
f(x)=12xTAx−bTxf(x)=12xTAx−bTx
,不同点在于共轭方向的计算仅仅依靠函数值得到,不依赖梯度的计算。 Parallel subspace property 通过该方法可以找到一系列共轭方向,并且沿着该方向可以得到最优解,以二维情况为例
Nelder-Mead 方法 Implicit Filtering方法 总结 |
|
Nelder–Mead algorithm ( NM算法 )其实是一种非常简单易懂的适用于在线最优化的算法。。。总的来说这个算法有些无脑。。。 收敛速度慢,效果一般般,因为适用范围较广(或者说unconstrained optimization,无固定模型也可以) 核心就是:向着最优的解收敛,不断抛弃更新现有的解 简介: n维空间中,由n+1个顶点,可以组成“最简单”的图形,叫单纯形。 NM算法就是先构造一个出师的,包含给定点的单纯形。 然后使用可能的三种手段(反射,扩展,压缩)去替换函数值最差的顶点。 在以上三种手段失效的时候,使用收缩。 直到该单纯形的半径足够的小。 (半径的定义可以有很多,比如两两点的距离,两两点构成的向量中最大的维度的值, 只要当“半径”趋近与0的时候,该单纯形趋于一个点即可) 以下来自wiki: 理解: Reflection:以最优点为中心,做最差点的反射点,来达到抛弃最差点的目的。 Expansion:扩大最优点的优势,尝试是否能够得到更优的解。 Contraction:收缩搜索范围。 Shrink:整体向着最优解收缩。 |
|
7.1 Description and Analysis of Implicit Filtering 7.1 Description and Analysis of Implicit Filtering The implicit filtering algorithm was originally formulated in [270], [251], and [271], as a difference-gradient implementation of the gradient projection algorithm [18] in which the difference increment is reduced in size as the iteration progresses. A different formulation for unconstrained problems with certain convexity properties was introduced at about the same time in [279]. From the point of view of this book, the simplex gradient is used in a direct way. The algorithmic description and analysis in this chapter uses the results from §6.2 directly. We will focus on unconstrained problems and derive the convergence results that implicit filtering shares with the search algorithms in Chapter 8. Implicit filtering, by using an approximate gradient directly, offers the possibility of improved performance with quasi-Newton methods and can be easily applied to bound constrained problems. We explore these two possibilities in §§7.2 and 7.4. In its simplest unconstrained form, implicit filtering is the steepest descent algorithm with difference gradients, where the difference increment varies as the iteration progresses. Because the gradient is only an approximation, the computed steepest descent direction may fail to be a descent direction and the line search may fail. In this event, the difference increment is reduced. |
|
|
Nelder–Mead algorithm ( NM算法 )其实是一种非常简单易懂的适用于在线最优化的算法。。。总的来说这个算法有些无脑。。。
收敛速度慢,效果一般般,因为适用范围较广(或者说unconstrained optimization,无固定模型也可以)
核心就是:向着最优的解收敛,不断抛弃更新现有的解
简介:
n维空间中,由n+1个顶点,可以组成“最简单”的图形,叫单纯形。
NM算法就是先构造一个出师的,包含给定点的单纯形。
然后使用可能的三种手段(反射,扩展,压缩)去替换函数值最差的顶点。
在以上三种手段失效的时候,使用收缩。
直到该单纯形的半径足够的小。
(半径的定义可以有很多,比如两两点的距离,两两点构成的向量中最大的维度的值,
只要当“半径”趋近与0的时候,该单纯形趋于一个点即可)
以下来自wiki:
理解:
Reflection:以最优点为中心,做最差点的反射点,来达到抛弃最差点的目的。
Expansion:扩大最优点的优势,尝试是否能够得到更优的解。
Contraction:收缩搜索范围。
Shrink:整体向着最优解收缩。