主要参考书目:
1. 最优化方法及其应用/郭科,陈聆,魏友华.-北京:高等教育出版社,2007.7(2013.7重印)

1、优化问题的一般形式

minX∈Ωf(X),s.t.{G(X)≥0,H(X)=0,minX∈Ωf(X),s.t.{G(X)≥0,H(X)=0,

\min_{X\in\Omega } f(X),\\ s.t.\{\begin{array}{}G(X) \geq 0,\\ H(X) = 0, \end{array}
其中 G(X)=[g1(X),⋯,gl(X)]TG(X)=[g1(X),⋯,gl(X)]TG(X)= [g_{1}(X),\cdots,g_{l}(X)]^T , H(X)=[h1(X),⋯,hm(X)]TH(X)=[h1(X),⋯,hm(X)]TH(X)= [h_{1}(X),\cdots,h_{m}(X)]^T 。

2、优化问题的迭代解法

解析法只适用于某些简单或特殊的问题,一帮情况下,使用迭代法解决优化问题。

  • 收敛速度
    定义:设由算法A产生的迭代点列{Xk}{Xk}\{X_k\}在某种“||⋅||||⋅||||\cdot||”的意义下收敛于点X∗X∗X^*,即

    limk→0||Xk−X∗||=0,limk→0||Xk−X∗||=0,

    \lim_{k\to0}||X_k-X^*||=0,若存在实数 及一个与迭代次数k无关的常数 q>0q>0q>0,使得

    limk→0||Xk+1−X∗||||Xk−X∗||α=q,limk→0||Xk+1−X∗||||Xk−X∗||α=q,

    \lim_{k\to0}\dfrac{||X_{k+1}-X^*||}{||X_k-X^*||^{\alpha}}=q,则称算法A为a阶收敛算法。
    一般来说一个算法若能满足a>1a>1a>1,即是一个收敛较快的算法。
    这种定义是对应于“爬山”算法定义的,对于退火(其实问题不大,因为k趋于无穷时更差的解被接受的概率趋于0)和遗传等方法不能直接套用

  • 计算终止准则
    1.点距准则

    ||Xk+1−Xk||≤ε||Xk+1−Xk||≤ε

    ||X_{k+1}-X_{k}||\leq\varepsilon
    εε\varepsilon是一个充分小的数,反应计算精度。
    2.函数下降量准则

    |f(Xk+1)−f(Xk)|≤ε|f(Xk+1)−f(Xk)|≤ε

    |f(X_{k+1})-f(X_{k})|\leq\varepsilon
    当|f(Xk+1)|>1|f(Xk+1)|>1|f(X_{k+1})|>1时,可用:

    |f(Xk+1)−f(Xk)f(Xk+1)|≤ε|f(Xk+1)−f(Xk)f(Xk+1)|≤ε

    |\dfrac{f(X_{k+1})-f(X_{k})}{f(X_{k+1})}|\leq\varepsilon
    εε\varepsilon是一个充分小的数,反应计算精度。
    3.梯度准则

    ||▽f(Xk+1)||≤ε||▽f(Xk+1)||≤ε

    ||\triangledown f(X_{k+1})||\leq\varepsilon
    这一准则对于定义域上的凸函数没有问题,但是对于凹函数有可能误把驻点作为最优点

  • 基本流程
    (以爬山算法为例)

3、算法复杂度

  • 时间复杂度
    若对于规模为n的问题,需要进行T(n)T(n)T(n)步基本运算(加减乘除)来完成该算法。则该算法的时间复杂度为T(n)T(n)T(n)。
  • 空间复杂度
    算法执行时所需占用的存储单元。

一般我们认为多项式级的复杂度是可以被接受的。

最优化方法:一、总论相关推荐

  1. 最优化方法系列:Adam+SGD-AMSGrad 重点

    https://blog.csdn.net/wishchin/article/details/80567558 自动调参的Adam方法已经非常给力了,不过这主要流行于工程界,在大多数科学实验室中,模型 ...

  2. CUDA C++编程手册(总论)

    CUDA C++编程手册(总论) CUDA C++ Programming Guide The programming guide to the CUDA model and interface. C ...

  3. 【Math】常见的几种最优化方法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:poll 来源:https://www.cnblogs.co ...

  4. 无约束最优化方法-牛顿法

     无约束最优化算法-Newton法原理及c++编程实现 2012-12-14 13:04 6536人阅读 评论(5) 收藏 举报 本文章已收录于: 分类: [算法](27) 作者同类文章X 版权声 ...

  5. 最优化评分法c语言,最优化方法及其实现(Optimization-Algorithm)C语言

    Optimization-Algorithm 优化算法--C语言 ##A Record for the Methods of Optimization.(优化算法--C语言) Author: Amoi ...

  6. 机器学习中导数最优化方法(基础篇)

    1. 前言 熟悉机器学习的童鞋都知道,优化方法是其中一个非常重要的话题,最常见的情形就是利用目标函数的导数通过多次迭代来求解无约束最优化问题.实现简单,coding 方便,是训练模型的必备利器之一.这 ...

  7. DL之DNN优化技术:DNN优化器的参数优化—更新参数的四种最优化方法(SGD/Momentum/AdaGrad/Adam)的案例理解、图表可视化比较

    DL之DNN优化技术:DNN优化器的参数优化-更新参数的四种最优化方法(SGD/Momentum/AdaGrad/Adam)的案例理解.图表可视化比较 目录 四种最优化方法简介 优化器案例理解 输出结 ...

  8. 常见的几种最优化方法

    参考:http://blog.csdn.NET/majinlei121/article/details/47260917 http://www.cnblogs.com/maybe2030/p/4751 ...

  9. 最优化方法系列:Adam+SGD-AMSGrad

    自动调参的Adam方法已经非常给力了,不过这主要流行于工程界,在大多数科学实验室中,模型调参依然使用了传统的SGD方法,在SGD基础上增加各类学习率的主动控制,以达到对复杂模型的精细调参,以达到刷出最 ...

最新文章

  1. 单步调试 step into/step out/step over 区别
  2. JS实现——俄罗斯方块
  3. excel图片地址直接显示图_图片转表格基于百度AI
  4. 怎样恢复计算机管理员身份,电脑高手必备:2招教你找回Windows管理员权限?
  5. linux 内存规划,生产场景怎么对linux系统进行合理规划分区?
  6. Flutter State生命周期 Flutter Widget生命周期 Flutter 应用程序生命周期
  7. 安卓中资源ID的问题
  8. 边相关扫描线填充算法
  9. 可以用树结构表达版本号
  10. 基于ASP的在线邮件收发系统研究设计
  11. 数据处理中常用的Excel函数
  12. python正则查找_python正则匹配
  13. 这几个万里挑一的良心App,个顶个好用,保证一用就再舍不得删
  14. IE窗口关闭事件(转)
  15. php实训制作登录界面总结,php实训报告心得体会
  16. DVWA之CSRF攻击
  17. 工业4.0:换热站最酷设计—— Web SCADA 工业组态软件界面
  18. 国标、行标、地标、团标、企标以及国际标准的基础知识
  19. 嵌入式系统分析与设计
  20. 小程序登录、支付、上传图片流程

热门文章

  1. 国有企业、国有独资公司、国有控股公司、国有参股公司区别
  2. 使用KIF进行功能性iOS UI测试
  3. python做简单的游戏名字_python猜名字游戏
  4. iOS开发-------MVC架构思想-植物大战僵尸
  5. 团队协作工具在线白板如何操作?
  6. 自监督模型---HCSC
  7. 虚幻4引擎(UE4)物理破坏效果
  8. ROS配置ORB_SLAM2
  9. 基于Python的文件操作之第1课读文件
  10. OFFER狂魔成长指南