最优化学习笔记(四)——最速下降法

最优化学习笔记(四)——最速下降法一 最速下降法的理念 nbsp nbsp nbsp nbsp 最速下降法是梯度方法的一种实现 它的理念是在每次的迭代过程中 选取一个合适的步长 k alpha k 使得目标函数的值能够最大程度的减小 k alpha k 可以认为是函数 k f x k f x k phi k alpha f x k alpha nablaf x k 的极小值点 k argminf x k

一、最速下降法的理念

     最速下降法是梯度方法的一种实现,它的理念是在每次的迭代过程中,选取一个合适的步长 αk ,使得目标函数的值能够最大程度的减小。 αk 可以认为是函数 ϕk(α)=f(x(k)αf(x(k))) 的极小值点:

αk=argminf(x(k)αf(x(k))),α0



由梯度迭代公式可知: x(k+1)=x(k)αf(x(k)) , 上式的解释是找到最优的迭代点 x(k+1) , 使得函数 f(x) 取得极小值时,求出步长 αk
     概述最速下降法的过程:在每一步的迭代中,从点 x(k) 出发,沿着梯度的负方向(求极小值点)展开一维搜索,直到找到步长最优值,确定新的迭代点 x(k+1) 最速下降法的相邻搜索方向都是正交的

二、最速下降法的两个命题和停止条件

2.1 最速下降法的两个命题

命题1 利用最速下降法搜索函数 f:R2R 的极小值点,迭代过程产生的序列为 {
x(k)}k=0
, 那么, x(k+1)x(k) x(k+2)x(k+1) 正交对所有 k0 都成立。

命题2 利用最速下降法搜索函数 f:RnR 的极小值点,迭代过程产生的序列为 {
x(k)}k=0
, 如果 f(x(k))0 , 那么 f(x(k+1))<f(x(k))

     命题1说明在迭代过程中,没产生一个新点,对应的目标函数值都会下降。命题2说明了最速下降法的下降特性:只要 f(x(k))0 , 就有 f(x(k+1))<f(x(k)) 。对于某个 k , 如果

f(x(k))=0
,说明 x(k) 满足局部极小点的一阶必要条件,此时 x(k+1)=x(k) ,这可以作为停止规则的基础。

2.2 几种停止规则

     在实际中,采用数值计算的方法很难恰好得到梯度为0的结果,因此以梯度为0作为停止规则很不恰当。以下, ϵ>0

1. |f(x(k+1))f(x(k))|<ϵ

2. ||x(k+1)x(k)||<ϵ

3. |f(x(k+1))f(x(k))||f(x(k))|<ϵ

4. ||x(k+1)x(k)||||x(k)||<ϵ

5. |f(x(k+1))f(x(k))|max{
1,|f(x(k))|}
<ϵ

6. ||x(k+1)x(k)||max{
1,||x(k)||}
<ϵ

上边的3,4式为1,2式的相对值,而5,6式是为了避免3,4式中的分母过小进行的修改。

三、二次型中最速下降法的应用

f(x)=12xTQxbTx


其中, QbRn,xRn, 故有:

f(x)=Qxb


令:

g(k)=f(x(k))=Qx(k)b


则,最速下降法的迭代公式:

x(k+1)=x(k)αkg(k)


其中,

αk=argminα0f(x(k)αg(k))ϕk(α)=f(x(k)αg(k))


当目标函数是二次型函数时,可以确定 x(k) 处的步长 αk 的解析式。当 g(k)=0 时,迭代停止,当 g(k)0 时,利用局部极小点的一阶必要条件可得:

ϕk(α)=(x(k)αg(k))TQ(g(k))bT(g(k))


ϕk(α)=0 时, αg(k)TQg(k)=(x(k)TQbT)g(k) ,因为 Q 对称, Q=QT ,得:

x(k)TQbT=g(k)T


所以:

αk=g(k)Tg(k)g(k)TQg(k)


所以,目标函数为二次型函数时,最速下降法的迭代公式为:

x(k+1)=x(k)g(k)Tg(k)g(k)TQg(k)g(k)


其中,

g(k)=f(x(k))=Qx(k)b





















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229614.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午4:18
下一篇 2026年3月16日 下午4:18


相关推荐

  • UDP攻击是什么呢

    UDP攻击是什么呢用户数据报协议(UDP)是一个无连接协议。当数据包经由UDP协议发送时,发送双方无需通过三次握手建立连接,接收方必须接收处理该资料包。因此大量的发往受害主机UDP报文能使网络饱和。在一起UDP洪流攻击中,UDP报文发往受害系统的随机或指定端口。通常,UDP洪流攻击设定成指向目标的随机端口。这使得受害系统必须对流入数据进行分析以确定哪个应用服务请求了数据。如果受害系统在某个被攻击埠没有运行服务,它将用ICMP报文响应一个“目标端口不可达”消息。通常,攻击中的DDOS工具会伪造攻击包的源IP地址。这有助于隐藏

    2022年10月2日
    5
  • Intellij IDEA 2021 Maven 配置指南「建议收藏」

    Intellij IDEA 2021 Maven 配置指南「建议收藏」Maven是Java一个不错的项目管理工具,但在IntellijIDEA软件中配置它却并非一件省心的事情,不少小萌新会配置失败。所以,我打算分享这篇教程,帮助萌新们在IntellijIDEA中配置好Maven~

    2022年5月28日
    180
  • 今天在 AGI Bar,与智谱核心研发面对面

    今天在 AGI Bar,与智谱核心研发面对面

    2026年3月12日
    3
  • 静态vlan的配置方式_实例方法与静态方法的区别

    静态vlan的配置方式_实例方法与静态方法的区别文章目录1VLAN的概念及优势2VLAN的种类2.1VLAN的范围2.2静态VLAN和动态VLAN3静态VLAN的配置4Trunk介绍与配置5实例1VLAN的概念及优势物理分隔。将网络从物理上划分为若干个小网络,然后使用能隔离广播的路由设备将不同的网络连接起来实现通信。逻辑分隔。将网络从逻辑上划分为若干个小的虚拟网络,即VLAN(VirtualLocalAreaNetwork,虚拟局域网)。VLAN工作在OSI参考模型的数据链路层,一个VLAN就是一个交换网络,其中的所有用户都

    2026年1月21日
    6
  • InnoDB学习之死锁[通俗易懂]

    InnoDB学习之死锁[通俗易懂]InooDB的死锁例子和死锁检测机制。

    2025年6月4日
    3
  • 在Eclipse中怎样公布创建的JavaWebproject

    在Eclipse中怎样公布创建的JavaWebproject

    2021年11月28日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号