研究一个算法收敛性的意义

研究算法收敛性的意义

Created time: June 25, 2023 6:37 PM

算法的收敛性

指某个算法能否在迭代时间趋于无穷的假设下,最终找到问题的全局最优解。能一次性求解的算法不在收敛讨论范围内。

局部收敛算法:初始值靠近极小点产生的迭代序列才能收敛到 X ∗ X^{*} X的算法。

全局收敛算法:初始值在任意位置产生的迭代序列都能收敛到 X ∗ X^{*} X的算法。

算法的收敛速度

数值分析中, 一个收敛序列向其极限逼近的速度称为收敛速度(Rate of convergence). 该概念多用于最优化算法中; 其被定义为一个迭代序列向其局部最优值逼近 (假设计算过程收敛, 并能达到最优值) 的速度, 是评价一个迭代法于该问题中发挥的性能的一个重要指针.

指经过多少次迭代才能得到最优解,收敛性好就指使用较少的迭代次数就可以得到相对精确的值,或是在允许的时间内得到满意的结果。

实用收敛性算法

研究能否收敛

最优解未知,知道的只有迭代点 X k X_{k} Xk。常用中止条件为:

  1. 两次迭代的绝对误差
  2. 两次迭代的相对误差
  3. 梯度模足够小 ∥ ▽ f ( X k + 1 ) ∥ ≤ ϵ \left \| \bigtriangledown f(X_{k+1}) \right \| \le \epsilon f(Xk+1)ϵ ,其中epsilon为给定的一个小值

理论收敛性算法

研究收敛速度(迭代次数, or数量级)

定义:由算法A产生的迭代序列

lim ⁡ k → ∞ ∥ X k + 1 − X ∗ ∥ ∥ X k − X ∗   ∥ = β   \lim_{k \to \infty} \frac{\left \| X_{k+1}-X^{*} \right \| }{\left \|X_{k}-X^{*}  \right \| } = \beta  klimXkX Xk+1X=β 

存在。则:

  1. 当β=0时,称{XK}具体超线性收敛速度或算法A为超线性收敛;
  2. 当0<β<1时,称{Xk}具有线性收敛速度,或算法A为线性收敛;
  3. 当β=1时,称{Xk}具有次线性收敛速度或算法A为次线性收敛。

定义:由算法A产生的迭代序列

lim ⁡ k → ∞ ∥ X k + 1 − X ∗ ∥ ∥ X k − X ∗ ∥ α = β \lim_{k \to \infty} \frac{\left \| X_{k+1}-X^{*} \right \| }{\left \|X_{k}-X^{*} \right \| ^{\alpha}} = \beta klimXkXαXk+1X=β

则称算法是α收敛的,或称算法A所产生的迭代序列{Xk}具有α阶收敛速度。α=1,称算法A为一阶收敛,α=2时为二阶收敛,一般α>1时都称为好算法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值