博客
关于我
从算子角度理解优化方法
阅读量:318 次
发布时间:2019-03-04

本文共 1429 字,大约阅读时间需要 4 分钟。

在求解一个优化问题时,我们可以采用不同的优化方法,而这些方法又可以从不同角度去理解。本文将从算子角度出发,讲述如何理解许多已存在的优化方法。

1. 非线性映射的零点问题

我们考虑一个非线性映射的零点问题,即求解一个映射,使得非线性映射满足某一特定条件。这个问题可以从以下三个角度理解:

1. 无约束凸问题

对于无约束凸问题,其最优解等价于求解梯度等于零。这里的梯度即为该优化问题的解。

2. 约束优化问题的对偶问题

对于约束优化问题,我们可以将其转化为一个无约束的对偶问题。这个对偶问题的梯度即为原问题的解。

3. 约束优化问题的KKT系统

对于约束优化问题,我们可以求解其KKT系统。这里的A即为由KKT条件组成的一个非线性方程组。

2. 稳定点迭代

在求解问题(1)时,我们采用稳定点迭代的方法。稳定点迭代的核心是找到一个算子,该算子满足以下条件:

1. Forward operator

Forward operator是一种简单的算子,可以理解为对某一特定条件的转化。例如,在凸问题中,Forward operator可以转化为梯度算法。

2. Backward operator

Backward operator也称为resolvent operator。其用于求解稳定点迭代。通过推导,我们可以得到稳定点迭代的表达式。

3. 临近点迭代

在问题(5)的对偶问题中,Backward operator的稳定点迭代等价于临近点迭代。这种迭代方法被称为增广拉格朗日方法。

3. 临近梯度算法

结合Forward和Backward算子的应用,我们可以得到临近梯度算法。该算法通过对梯度迭代和临近点迭代的结合,显著提高了优化效率。

4. Douglas-Rachford splitting

Douglas-Rachford splitting是一种基于A和B的Backward operator的拆分方法。其核心思想是通过引入新的变量,并结合前面的Backward operator推导,得到ADMM算法。

5. Peaceman-Rachford splitting

Peaceman-Rachford splitting是一种对称的ADMM方法。通过对前面的方法进行对称处理,得到了一种更高效的优化算法。

总结

这些算子的设计原理都是从优化问题的求解出发,通过特定的算子构建,最终得到了一些常见的优化方法。这些方法在实际应用中表现出色,尤其是在处理复杂优化问题时。


下载资源

在「小白学视觉」公众号后台回复以下内容,可以下载相关教程和项目:

  • OpenCV-Contrib扩展模块中文版教程

    • 涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
  • Python视觉实战项目52讲

    • 包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目。
  • OpenCV实战项目20讲

    • 基于OpenCV实现20个实战项目,助力OpenCV学习进阶。

  • 欢迎加入「小白学视觉」公众号读者群,参与视觉技术的深度交流。目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等多个微信群,扫描下方二维码加群,备注:“昵称+学校/公司+研究方向”,如:“张三 + 上海交大 + 视觉SLAM”。请勿在群内发送广告,否则会被移出群。

    转载地址:http://tsaq.baihongyu.com/

    你可能感兴趣的文章
    nnU-Net 终极指南
    查看>>
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    NO 157 去掉禅道访问地址中的zentao
    查看>>
    no available service ‘default‘ found, please make sure registry config corre seata
    查看>>
    No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
    查看>>
    no connection could be made because the target machine actively refused it.问题解决
    查看>>
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
    查看>>
    No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
    查看>>
    No module named 'crispy_forms'等使用pycharm开发
    查看>>
    No module named cv2
    查看>>
    No module named tensorboard.main在安装tensorboardX的时候遇到的问题
    查看>>
    No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
    查看>>
    No new migrations found. Your system is up-to-date.
    查看>>
    No qualifying bean of type XXX found for dependency XXX.
    查看>>
    No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
    查看>>
    No resource identifier found for attribute 'srcCompat' in package的解决办法
    查看>>
    no session found for current thread
    查看>>