最优化理论归纳

什么是最优化问题

通俗地说,就是求一个函数在可行域上的极值。

若函数无约束条件则称为无约束优化;若约束条件为等式则称为等式约束优化;若约束条件为不等式则称为不等式约束优化。


最优性条件

最优性条件即极值点满足的条件。

  • 无约束问题最优性条件

一阶必要条件:一阶导数等于0
二阶必要条件:二阶导数大于等于零

  • 一般约束优化问题的最优性条件
    在这里插入图片描述
    在这里插入图片描述

无约束优化问题的算法框架

  • step0 给定初始化参数及初始迭代点X0,置k=0;
  • step1 若Xk满足终止准则,停止迭代,以Xk作为近似极小点;
  • step2 确定下降方向dk
  • step3 确定步长因子ak,使得f(Xk+ak*dk)<f(Xk);
  • step4 令Xk+1=Xk+ak*dk,k=k+1,转step1;

线搜索

在单变量的情况下可以采用线搜索技术,常用方法有两种:黄金分割法和抛物线法。

黄金分割法
若初始搜索区间为[a0,b0],容许误差为ε, 分别计算区间里两个黄金分割点的值和区间两端的值,比较4个值后舍去一段区间,若不符合容许误差,则将区间继续迭代。

抛物线法
若已知三个点s1,s2,s3,以及它们对应的函数值,就可以以这三个点构造二次函数,并求出对应的极值点,再通过比较这4个点,得到新的区间,若小于容许误差,则停止迭代。


最速下降法

选取一阶导数,也就是,梯度方向作为下降方向,利用线搜索方法确定步长因子ak,当一阶导数小于等于容许误差时停止迭代。

之字形下降,收敛速度慢

牛顿法

基本思想是利用Xk处的一阶导数和二阶导数将目标函数近似为一个二次函数,然后把这个二次函数的极小点作为新的迭代点,如果小于容许误差则停止迭代。

下降方向:
Gk*dk=-gk
Gk是二阶导数,gk是一阶导数

收敛速度较快,但是初始点需要足够靠近极小点,否则可能导致最终无法收敛

共轭梯度法

k=0,pk=rk
k>1,
在这里插入图片描述
rk为一阶导数,pk为下降方向

计算量少,存储方便


最小二乘法

使得目标函数与真值的差的平方和最小的方法,称为最小二乘法。

高斯牛顿法

在这里插入图片描述
βs相当于xk


罚函数法

上面的几种方法都适用于无约束优化问题,罚函数法适用于约束优化问题。

实际上罚函数是通过在目标函数中添加罚函数项,使得约束优化问题转化为无约束优化问题。

比如约束条件是x1+x2=1,那么就可以在函数中加上10000(x1+x2-1)^2这个项,因为10000是一个很大的参数,为了使整个函数尽量小,就必须使这个罚函数项=0。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值