最速下降法收敛速度

摘自《数值最优化方法》
\qquad已知 设步长为α\alphaα,下降方向为dddf(xk+αd)f(x_{k}+\alpha d)f(xk+αd)xkx_{k}xkTaylorTaylorTaylor展示为
f(xk+1)=f(xk+αd)=f(xk)+αgkTd+O(∣∣αd∣∣2) f(x_{k+1})=f(x_{k}+\alpha d)=f(x_{k})+\alpha g_{k}^{T}d+O(||\alpha d||^{2}) f(xk+1)=f(xk+αd)=f(xk)+αgkTd+O(αd2)为使函数值下降,下降方向满足
gkTd&lt;0 g_{k}^{T}d&lt;0 gkTd<0
\qquad收敛性和收敛速度 收敛性 算法产生的点阵{xk}\{x_{k}\}{xk}在某种范数∣∣⋅∣∣||\cdot||意义下满足
limk→∞∣∣xk−x∗∣∣=0 \mathop{lim}\limits_{k\to\infty}||x_{k}-x^{*}||=0 klimxkx=0称算法是收敛的,当从任意初始点出发时,都能收敛到x∗x^{*}x称为具有全局收敛性,仅当初始点与x∗x_{*}x充分接近时才能收敛到x∗x^{*}x称算法具有局部收敛性
\qquad收敛速度(已知收敛):若
limk→∞∣∣xk+1−x∗∣∣∣∣xk−x∗∣∣=a \mathop{lim}\limits_{k\to\infty}\frac{||x_{k+1}-x^{*}||}{||x_{k}-x^{*}||}=a klimxkxxk+1x=a \qquad0&lt;a&lt;10&lt;a&lt;10<a<1时,迭代点列{xk}\{x_{k}\}{xk}的收敛速度是线性的,这时算法称为线性收敛。当a=0a=0a=0时,{xk}\{x_{k}\}{xk}的收敛速度是超线性的,称为超线性收敛
\qquad二阶收敛:若
limk→∞∣∣xk+1−x∗∣∣∣∣xk−x∗∣∣2=a \mathop{lim}\limits_{k\to\infty}\frac{||x_{k+1}-x^{*}||}{||x_{k}-x^{*}||^{2}}=a klimxkx2xk+1x=a\qquadaaa为任意常数,迭代点列{xk}\{x_{k}\}{xk}的收敛速度是二阶的,这时算法称为二阶收敛。超线性收敛和二阶收敛的收敛速度较快,是理想的收敛速度
\qquad负梯度法和牛顿(Newton)(Newton)(Newton)型方法 NewtonNewtonNewton型方法特殊情形的一种负梯度方法—最速下降法。首先下降方向满足gkTd&lt;0g_{k}^{T}d&lt;0gkTd<0,为使∣gkd∣|g_{k}d|gkd达到最大值,则由Cauchy−SchwarzCauchy-SchwarzCauchySchwarz不等式
∣gkTd∣≤∣∣gk∣∣∣∣d∣∣ |g_{k}^{T}d|\leq||g_{k}||||d|| gkTdgkd知当且仅当d=dk=−gk/∣∣gk∣∣d=d_{k}=-g_{k}/||g_{k}||d=dk=gk/gk时,等式成立,gkTdg_{k}^{T}dgkTd达到最小。考虑在dkd_{k}dk方向上的步长,取其负梯度方向dk=−gkd_{k}=-g_{k}dk=gk
\qquad收敛性分析 1. 给定GGG度量下的范数定义,给出KantorovichKantorovichKantorovich不等式。定义G∈Rn×nG\in\mathbb{R}^{n\times n}GRn×n对称正定,u,v∈Rnu,v\in\mathbb{R}^{n}u,vRnuuuvvvGGG度量意义下的内积(uTv)G(u^{T}v)_{G}(uTv)G的定义为
(uTv)G=uTGv (u^{T}v)_{G}=u^{T}Gv (uTv)G=uTGvuuuGGG度量下的范数定义为∣∣u∣∣G2||u||_{G}^{2}uG2定义为
∣∣u∣∣G2=uTGu ||u||_{G}^{2}=u^{T}Gu uG2=uTGuGGG度量下的Cauchy−SchwarzCauchy-SchwarzCauchySchwarz不等式
∣uTGu∣≤∣∣u∣∣G∣∣v∣∣G |u^{T}Gu|\leq||u||_{G}||v||_{G} uTGuuGvG成立,当且仅当u,vu,vu,v共线时等号成立。
\qquad 2.Kantorovich不等式Kantorovich不等式Kantorovich 对于x∈Rn\{0}x\in\mathbb{R}^{n} \verb|\| \{0\}xRn\{0},有
(xTx)2(xTGx)(xTG−1x)≥4λmaxλmin(λmax+λmin)2 \frac{(x^{T}x)^{2}}{(x^{T}Gx)(x^{T}G^{-1}x)}\ge\frac{4\lambda_{max}\lambda_{min}}{ (\lambda_{max}+ \lambda_{min})^{2}} (xTGx)(xTG1x)(xTx)2(λmax+λmin)24λmaxλminλmax、λmin\lambda_{max}、\lambda_{min}λmaxλmin分别为矩阵GGG的最大、最小特征值。GGG度量的定义下xkx_{k}xk的误差等价于它的目标函数值f(xk)f(x_{k})f(xk)的误差
\qquad最速下降法在GGG度量定义下的收敛速度 给定正定二次函数
f(x)=12xTGx+bTx f(x)=\frac{1}{2}x^{T}Gx+b^{T}x f(x)=21xTGx+bTx由负梯度方向为dk=−gkd_{k}=-g_{k}dk=gk则求解最速下降法步长为
αmin=argminα&gt;0f(xk−αgk) \alpha_{min}=arg\mathop{min}\limits_{\alpha&gt;0}f(x_{k}-\alpha g_{k}) αmin=argα>0minf(xkαgk)其中
f(xk−αgk)=12(xk−αgk)TG(xk−αgk)+bT=f(xk)+12gkTGgkα2+gkT(Gxk+b)α=f(xk)−gkTgkα+12gkTGgkα2 f(x_{k}-\alpha g_{k})=\frac{1}{2}(x_{k}-\alpha g_{k})^{T}G(x_{k}-\alpha g_{k})+b^{T}\\ = f(x_{k})+\frac{1}{2}g_{k}^{T}Gg_{k}\alpha^{2}+g_{k}^{T}(Gx_{k}+b)\alpha \\ = f(x_{k})-g_{k}^{T}g_{k}\alpha+\frac{1}{2}g_{k}^{T}Gg_{k}\alpha^{2} f(xkαgk)=21(xkαgk)TG(xkαgk)+bT=f(xk)+21gkTGgkα2+gkT(Gxk+b)α=f(xk)gkTgkα+21gkTGgkα2α\alphaα求导,由凸函数性质,极小值必要条件,得最优步长
αk=gkTgkgkTGgk \alpha_{k}=\frac{g_{k}^{T}g_{k}}{g^{T}_{k}Gg_{k }} αk=gkTGgkgkTgk\qquad将最优步长带上式中,得到迭代方程(二分之一的来历!!!!,使用泰勒展开为一阶没有二分之一,直接带入原方程中有二分之一,有无受泰勒展开的精度影响)
f(xk+1)=f(xk)−12(gkTgk)2gkTGgk f(x_{k+1})=f(x_{k})-\frac{1}{2}\frac{(g_{k}^{T}g_{k})^{2}}{g_{k}^{T}Gg_{k}} f(xk+1)=f(xk)21gkTGgk(gkTgk)2\qquadGx∗=−bGx^{*}=-bGx=bf(x∗)=−12bTG−1bf(x^{*})=-\frac{1}{2}b^{T}G^{-1}bf(x)=21bTG1b得到
f(xk+1)−f(x∗)f(xk)−f(x∗)=1−(gkTgk)2gkTGgkxkTGxk+2bTxk+bTG−1b=1−(gkTgk)2gkTGgk(Gxk+b)TG−1(Gxk+b)=1−(gkTgk)2(gkTGgk)(gkTG−1gk) \frac{f(x_{k+1})-f(x^{*})}{f(x_{k})-f(x^{*})}=1-\frac{\frac{(g_{k}^{T}g_{k})^{2}}{g_{k}^{T}Gg_{k}}}{x_{k}^{T}Gx_{k}+2b^{T}x_{k}+b^{T}G^{-1}b}\\ = 1-\frac{\frac{(g_{k}^{T}g_{k})^{2}}{g_{k}^{T}Gg_{k}}}{(Gx_{k}+b)^{T}G^{-1}(Gx_{k}+b)}\\ = 1-\frac{(g_{k}^{T}g_{k})^{2}}{(g_{k}^{T}Gg_{k})(g_{k}^{T}G^{-1}g_{k})} f(xk)f(x)f(xk+1)f(x)=1xkTGxk+2bTxk+bTG1bgkTGgk(gkTgk)2=1(Gxk+b)TG1(Gxk+b)gkTGgk(gkTgk)2=1(gkTGgk)(gkTG1gk)(gkTgk)2\qquadGGG度量的定义下xkx_{k}xk的误差等价于它的目标函数值f(xk)f(x_{k})f(xk)的误差。得:
∣∣xk+1−x∗∣∣G2∣∣xk−x∗∣∣G2=1−(gkTgk)2(gkTGgk)(gkTG−1gk) \frac{||x_{k+1}-x^{*}||^{2}_{G}}{||x_{k}-x^{*}||^{2}_{G}}=1-\frac{(g_{k}^{T}g_{k})^{2}}{(g_{k}^{T}Gg_{k})(g_{k}^{T}G^{-1}g_{k})} xkxG2xk+1xG2=1(gkTGgk)(gkTG1gk)(gkTgk)2\qquadKantorovichKantorovichKantorovich不等式得到
∣∣xk+1−x∗∣∣G2∣∣xk−x∗∣∣G2≤(λmax−λminλmax+λmin)2 \frac{||x_{k+1}-x^{*}||^{2}_{G}}{||x_{k}-x^{*}||^{2}_{G}}\leq(\frac{\lambda_{max}-\lambda_{min}}{\lambda_{max}+\lambda_{min}})^{2} xkxG2xk+1xG2(λmax+λminλmaxλmin)2得到最速下降法得收敛速度是线性的,这个速度依赖于G的最大、最小特征值
\qquad条件数 线性方程组Gx+b=0Gx+b=0Gx+b=0是由GGGbbb确定的(求解x∗x^{*}x),当GGGbbb中的数据带有误差时(产生扰动),则两个参数扰动对线性方程组的求解影响由条件数反映条件数的定义!!!\color{#F00}{条件数的定义!!!}
cond(G)=∣∣G∣∣ ∣∣G∣∣−1 cond(G)=||G||\ ||G||^{-1} cond(G)=G G1\qquad称为矩阵GGG的条件数,条件数与范数有关,如
∣∣G∣∣2∣∣G−1∣∣2=λmaxλmin ||G||_{2}||G^{-1}||_{2}=\frac{\lambda_{max}}{\lambda_{min}} G2G12=λminλmax若矩阵GGG的条件数很大,扰动对解的影响就可能很大,这种问题称为病态的
\qquad由最速下降法收敛速度式得:
λmax+λminλmax−λmin=cond(G)−1cond(G)+1=Δμ \frac{\lambda_{max}+\lambda_{min}}{\lambda_{max}-\lambda_{min}}=\frac{cond(G)-1}{cond(G)+1}\mathop{=}\limits^{\Delta}\mu λmaxλminλmax+λmin=cond(G)+1cond(G)1=Δμ\qquad最速下降法收敛速度依赖于GGG得条件数,当条件数接近1时,收敛速度接近超线性收敛,条件数越大,收敛速度越慢

### 多目标优化中最速下降法的收敛速率分析 在多目标优化中,最速下降法是一种经典的数值优化方法。该方法的核心思想是在每次迭代中沿着当前点处的目标函数梯度方向(对于单目标而言)或者某种综合定义的方向(对于多目标而言),寻找使目标函数值减少最快的方向并进行更新。 #### 单目标情况下的最速下降法及其收敛特性 在单目标优化问题中,当目标函数 \( f(x) \) 是强凸且二阶连续可微时,最速下降法具有线性收敛率[^1]。具体来说,如果目标函数满足以下条件: - 存在一个常数 \( m > 0 \),使得 Hessian 矩阵 \( \nabla^2 f(x) \succeq mI \) 对所有 \( x \in \mathbb{R}^n \) 成立; - 存在一个常数 \( L > 0 \),使得 Lipschitz 条件 \( \| \nabla f(y) - \nabla f(x) \|_2 \leq L\|y-x\|_2 \) 对所有 \( x, y \in \mathbb{R}^n \) 成立; 那么,在精确线搜索的情况下,最速下降法的误差界可以表示为: \[ \|x_k - x_*\|^2 \leq (1-\frac{m}{L})^k \|x_0 - x_*\|^2 \] 其中 \( x_* \) 表示最优解,\( k \) 表示迭代次数[^1]。 #### 多目标优化中的扩展 在多目标优化中,通常不存在单一的全局最优解,而是存在一组 Pareto 最优解。因此,传统的最速下降法需要被适配到多目标场景下。一种常见的做法是通过加权求和的方式将多个目标转化为单个目标函数,即: \[ F_w(x) = w_1f_1(x) + w_2f_2(x) + ... + w_mf_m(x), \quad w_i \geq 0 \text{ 且 } \sum_{i=1}^{m}w_i = 1 \] 在这种情况下,可以通过调整权重向量 \( w \) 来逼近不同的 Pareto 解。然而,这种方法可能会导致某些非凸组合难以找到真正的 Pareto 极小值[^2]。 #### 收敛速率的影响因素 针对多目标优化中的最速下降法,其收敛速率受到以下几个方面的影响: 1. **目标函数性质** 如果各个子目标函数均为凸,则整体加权后的目标函数也可能是凸的,从而能够保证算法至少以次线性速度收敛至某个 Pareto 集合内的点。但如果任意一个子目标是非凸的,则可能仅能保证局部收敛行为。 2. **步长策略的选择** 使用固定步长可能导致振荡现象发生,而采用回溯线搜索或其他自适应步长机制有助于改善这一状况,并提升实际计算效率[^1]。 3. **初始猜测的质量** 初始点距离真实Pareto前沿越近,往往意味着更少的迭代次数即可达到满意精度的结果。 以下是基于 Python 的简单实现代码片段用于演示基本原理: ```python import numpy as np def gradient_descent_multi_objective(f_list, grad_f_list, initial_x, weights, learning_rate=0.01, max_iter=1000): """ Perform multi-objective optimization using weighted sum approach and steepest descent method. Parameters: f_list: List of objective functions to be minimized. grad_f_list: Corresponding gradients of the objectives. initial_x: Starting point for iteration process. weights: Weights assigned to each individual function within combined scalarized form. ... Returns: Optimal solution found after specified number iterations or convergence criteria met. """ x = initial_x.copy() history = [initial_x] for _ in range(max_iter): total_grad = sum(w * g(x) for w,g in zip(weights,grad_f_list)) x -= learning_rate * total_grad history.append(x) return np.array(history) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值