目录

  • 1. Nelder–Mead算法[^1]
    • 介绍
    • 算法步骤

1. Nelder–Mead算法1

介绍

请不要与Dantzig针对线性优化问题的simplex algorithem(单纯型)方法混淆
用于多维空间寻找目标函数的最大值最小值问题。它是基于比较的直接搜索方法,通常应用于导数不可知的非线性优化问题。局部优化方法,所得解不稳定。
通常用来求解最小化问题,需要求解最大化问题f(x)时,就是最小化-f(x)
n维的Nelder–Mead包括n+1个测试点,组成一个simplex,然后计算的每个点的目标函数值,目的是找到一个新的测试点替代旧的测试点,迭代进程。最简单的方法是用质心(前n个点的均值)的反射点(reflection)替换最差的点、如果反射点比当前点更好,可以继续在反射点的方向上延伸寻找;如果不敌当前点,那就将所有点往一个更好的方向收缩。

算法步骤

目标是求解f(x)的最小值,x∈Rx\in Rx∈R. 目前的测试点有x1x_1x1​, …, xn+1x_{n+1}xn+1​

  1. 将各个的测试点的函数值从小到大排序:f(x1)≤f(x2)≤...≤f(xn+1)f(x_1) \le f(x_2) \le ... \le f(x_{n+1})f(x1​)≤f(x2​)≤...≤f(xn+1​) 并检查是否需要终止
  2. 计算质心xox_oxo​, 等于前n个x的平均值
  3. 计算反射点xr=xo+α(xo−xn+1),α>0x_r = x_o + \alpha(x_o - x_{n+1}), \alpha \gt 0xr​=xo​+α(xo​−xn+1​),α>0
    1)reflection
    如果f(xr)f(x_r)f(xr​)优于第二差的点,但劣于目前最好的点,i.e f(x1)≤f(xr)&lt;f(xn)f(x_1) \le f(x_r) \lt f(x_n)f(x1​)≤f(xr​)<f(xn​) 将xn+1x_{n+1}xn+1​替换成xrx_rxr​获得新的单纯型,回到第1步
    2)expansion
    如果f(xr)&lt;f(1)f(x_r) \lt f(1)f(xr​)<f(1),那么在这一方向上延伸寻找,计算扩展点(expanded point)xe=xo+γ(xr−xo),γ&gt;1x_e = x_o + \gamma(x_r-x_o), \gamma \gt 1xe​=xo​+γ(xr​−xo​),γ>1
    : ① f(xe)&lt;f(xr)f(x_e) \lt f(x_r)f(xe​)<f(xr​), 用xex_exe​替代xn+1x_{n+1}xn+1​,回到第一步
    : ② 否则,用xrx_rxr​替代xn+1x_{n+1}xn+1​,回到第一步
    3)contraction
    f(xr)≥f(xn)f(x_r) \ge f(x_n)f(xr​)≥f(xn​) 接着计算contracted point xe=xo+ρ(xn+1−xo),0&lt;ρ≤0.5x_e = x_o + \rho(x_{n+1} - x_o), 0 \lt \rho \le 0.5xe​=xo​+ρ(xn+1​−xo​),0<ρ≤0.5
    : 如果f(xc)&lt;f(xn+1)f(x_c) \lt f(x_{n+1})f(xc​)<f(xn+1​), 用xcx_cxc​替代xn+1x_{n+1}xn+1​,回到第一步
    4)shrink
    如果以上条件都不满足,将x1以外的点全部按以下方式替换xi=x1+σ(xi−x1)x_i = x_1 + \sigma(x_i - x_1)xi​=x1​+σ(xi​−x1​)返回第一步
    5)注:α.β,ρ,σ\alpha. \beta, \rho, \sigmaα.β,ρ,σ分别是反射系数、扩张系数、紧缩系数和收缩系数。标准值设定为α=1,γ=2,ρ=1/2,σ=1/2\alpha=1, \gamma=2, \rho=1/2, \sigma=1/2α=1,γ=2,ρ=1/2,σ=1/2
    终止条件设定
    标准离差或其他数值小于tolerance, 或者迭代次数达到阀值

  1. [维基百科]https://en.wikipedia.org/wiki/Nelder–Mead_method#cite_note-PM-1) ↩︎

Nelder–Mead算法详解相关推荐

  1. Matlab人脸检测算法详解

    这是一个Matlab人脸检测算法详解 前言 人脸检测结果 算法详解 源代码解析 所调用函数解析 bwlabel(BW,n) regionprops rectangle 总结 前言 目前主流的人脸检测与 ...

  2. 图论-最短路Dijkstra算法详解超详 有图解

    整体来看dij就是从起点开始扩散致整个图的过程,为什么说他稳定呢,是因为他每次迭代,都能得到至少一个结点的最短路.(不像SPFA,玄学复杂度) 但是他的缺点就是不能处理带负权值的边,和代码量稍稍复杂. ...

  3. C++中的STL算法详解

    1.STL算法详解 STL提供能在各种容器中通用的算法(大约有70种),如插入.删除.查找.排序等.算法就是函数模板,算法通过迭代器来操纵容器中的元素.许多算法操作的是容器上的一个区间(也可以是整个容 ...

  4. 粒子群(pso)算法详解matlab代码,粒子群(pso)算法详解matlab代码

    粒子群(pso)算法详解matlab代码 (1)---- 一.粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS).CAS理论于1994年正式提出,C ...

  5. 基础排序算法详解与优化

    文章图片存储在GitHub,网速不佳的朋友,请看<基础排序算法详解与优化> 或者 来我的技术小站 godbmw.com 1. 谈谈基础排序 常见的基础排序有选择排序.冒泡排序和插入排序.众 ...

  6. 目标检测 RCNN算法详解

    原文:http://blog.csdn.net/shenxiaolu1984/article/details/51066975 [目标检测]RCNN算法详解 Girshick, Ross, et al ...

  7. Twitter-Snowflake,64位自增ID算法详解

    Twitter-Snowflake,64位自增ID算法详解 from: http://www.lanindex.com/twitter-snowflake%EF%BC%8C64%E4%BD%8D%E8 ...

  8. 数据结构与算法详解目录

    数据结构与算法详解是一本以实例和实践为主的图书,主要是经典的数据结构与常见算法案例,来自历年考研.软考等考题,有算法思路和完整的代码,最后提供了C语言调试技术的方法. 后续配套微课视频. 第0章  基 ...

  9. [搜索]波特词干(Porter Streamming)提取算法详解(2)

     接[搜索]波特词干(Porter Streamming)提取算法详解(1), http://blog.csdn.net/zhanghaiyang9999/article/details/4162 ...

最新文章

  1. 电脑不能安装虚拟机--解决办法
  2. ceph auth get_CPB羽梦幻境体验展来了!快来GET限量产品!
  3. 我是一个尝试做自媒体的程序员
  4. C#winform之自定义按钮形状
  5. 移动互联网创业:美国不代表全球
  6. 黑马旅游网 —— 登录/注册案例
  7. android 实现返回键执行home键方法
  8. linux下罗技摄像头采集图片,网络摄像头罗技和Linux
  9. (三)音视频:解析H264 SPS 更进一步理解H264
  10. FFMpeg.AutoGen(1)讲解官方example代码:Main函数、 解码
  11. 用户行为分析的基本概览和常用名词解释
  12. 华为magic ui就是鸿蒙系统,Magic UI系统是什么?Magic UI和EMUI的区别
  13. Jetson+zed2安装
  14. 3D Slicer简单三维重建
  15. 研一一整年都在搞深度学习,研二醒悟打算转开发
  16. 算法学习笔记17:堆、堆排序
  17. docker下载安装Zookeeper
  18. 赋能 打造应对不确定性的敏捷团队 pdf_赋能——打造应对不确定的敏捷团队|《赋能》斯坦利...
  19. fanfou+wiki
  20. iP1000废弃墨水吸收器已满解决方法

热门文章

  1. Lycn 2013 with SQL AlwaysOn 「二」偷梁换柱装Lync
  2. brendan eich_访谈:Brendan Eich对JavaScript的祝福和诅咒
  3. 记录生活账本,查看账目清晰更可查
  4. 【教程】爱玩吧QQ空间说说刷赞网怎么刷秒赞教程
  5. 非平衡电桥电阻计算_非平衡电阻电桥等效电阻的初等解析
  6. Getter和Setter是什么?有什么作用?实现多种数据类型的Getter、Setter方法?实现Getter、Setter的常见的错误?
  7. 四则运算小程序 c语言,四则运算小程序测试
  8. 基于Docker部署SRS流媒体服务
  9. 农村产权交易服务平台二次开发html源码
  10. 特色英文短语[转帖]