二次优化问题dfp_优化算法综述

d32f053b243bfe1fb20539c1f38bb6d4.png

本文主要对计算机视觉图像配准中搜索空间算法引发讨论,即当图片配准后,讨论下一步怎么办,往哪个方向,多大步长的进行搜索。是一种优化算法

本文将介绍设计到的基本的数学知识、一阶优化算法、针对多阶方程的梯度下降法以及他的改进、牛顿法以及他的改进,神经网络的优化算法等。

本文所有的知识全部来自于B站一位老师的讲解视频以及《优化算法》,现在本人也有许多不理解之处,后续会慢慢修改,接下来的文章我将用最简单的语言解释这复杂的算法

最优化导论 第4版.pdf
32.7M
·
百度网盘
哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili​space.bilibili.com

基础数学知识:基础数学知识

1、梯度

导数相信大家都知道了,作用在一元方程中名字通常就叫斜率,作用在二元方程中,针对X,就是对X的偏导;针对Y,就是对Y的偏导。对X的二次导,对Y的二次导数等等。

梯度:就是对X、Y、Z等偏导的数组。他的现实中的意义就是在多维度的平面中,观察他的下降趋势。

类似于登山,对自己坐标做一个XY坐标轴,梯度就是当前X方向、Y方向的倾斜程度,判断山是否倾斜的一个量化

2、黑塞矩阵

黑塞矩阵是什么?简单来说就是在多维的情况下对梯度的导数,我们可以看出,一个N元方程做一次导数,变成了n维的数组,这个时候,对n维的数组再做一次导数,就变成了NXN的矩阵。这就是黑塞矩阵。

3、雅各比矩阵

雅各比矩阵,他的运算并不是对X、Y等求偏导,而是针对n维的向量函数的

简单理解就是:黑塞矩阵式=雅各比矩阵(一阶偏导数组)

4、泰勒公式

后面我们方式涉及到牛顿法、伪牛顿法等,都是以泰勒公式为核心

泰勒公式简单来说就是,把任意一个方程,都可以写成很多很多项的和

a0500c16a38d6a03f002c1c80b01017f.png
泰勒公式

我们可以看到里面由一次导数、二次导数等等,我们是否可以利用它来进行极值点的判断

Tip:他们有什么用?

众所周知:导数,表示一个曲线的变化趋势,二阶导数表示一阶导数的变化趋势问题,简单的求极值问题中,导数为零表示有极大或者极小值,这个情况下,二阶导数的正负表示函数的凹凸性,进一步判断这个点是极大值还是极小值。

推广到多维中,多个方向->梯度数组;两两配合的二阶导数,变成了一个N*N的矩阵->黑塞矩阵


极值点的条件

1、一阶必要条件:

当在内部时:

要求所有的导数全等于0

56b5f84f281a824ac3d1970e76182aad.png

c844e184049880f3d7125accb7647185.png
梯度数组全为0

当在边界时:

同样,在可行方向上,全等于零

861bce62d242a2968240a92aee2b5d15.png

c844e184049880f3d7125accb7647185.png

2、二阶必要条件

如下面公式

724485f77e32e6cd63014f484055ba12.png
引入黑塞矩阵,d为方向向量

此时:d表示方向向量,H表示黑塞矩阵。右面是证明过程。

3、充分必要条件:

上述并不是充分条件。因为黑塞矩阵可能不是正定的(本征值不一定为正数)

何时?:当一阶导数等于零,H大于零


迭代算法的基础知识

首先,我们需要知道什么是迭代算法,迭代算法类似于我们通过条件求解出的结果,变成了下一步的条件,并且以相同的方式进行求解。也就是一个螺旋向上的过程。

优化算法的要素:

起始点的选择:选用所有的极值点(导数为零的点)、尽可能的接近目标、选择

方向的确定就是我们说讨论的优化算法:目标函数【分割】、一阶导数【二分法】、二阶导数【牛顿法等】

步长的确定:其表示每一次迭代的距离。

目标是否能够达成:收敛条件、总能量是否足够小【每一次优化后,是否变化的不明显】、步长是否足够的小【结构是否稳定】、导数是否足够小【变化趋势变化不明显】


优化算法:黄金分割法【一维】【一维无方向,确定步长】

本方法的根本思路就是:二维平面,一元函数,对其进行结果的逼近方法。类似于二分法。他的前提条件是:是一个单峰函数

0f41e8618fcafa329f58d5c0ac609b32.png
不断地对极值逼近

我们自己算一个函数值,这个时候就可以建立一元二次函数:

fd67a7c62a0f4a80345bb4d6f6b5297e.png

如图发现,这个数就是黄金分割比例


优化算法:斐波那契数列【步长】

我们进一步对黄金分割法进行更大的优化
我们每次压缩的比例ρ是变化的,这个时候迭代的关系:

a61194ceec9ac801fa97c81148689303.png

那么怎么样选取可变的ρ呢?

数学家告诉我们:斐波那契数列(1、2、3、5、8、13等)

0.618-0.5


优化算法:二分法【步长】

需要一个额外的信息:一阶导数的正负,决定他往哪儿去。

这个时候用二分法,压缩比最大

638b22a2741afae3b40395dc64e8ff6b.png

385f3a0dfcb386f2cea20e8094515ba5.png

优化算法:牛顿法与割线法【一维】【步长】

注:他是基于二次型目标函数,是找关键点的第一步

步骤:

泰勒展开:

0d3ad51a9a9d00d5975e9467cd5cf4b4.png
泰勒展开式

求:

c5e660551867d775484ae8b5c91ecbca.png
目标函数

对其求导:

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值