怎么建设影视卡网站设计师a 网站
news/
2025/9/22 23:15:29/
文章来源:
怎么建设影视卡网站,设计师a 网站,wordpress html5主题,手机端制作游戏的app本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等#xff0c;本系列文章篇数较多#xff0c;不定期更新#xff0c;上半部分介绍无约束优化#xff0c;… 本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等本系列文章篇数较多不定期更新上半部分介绍无约束优化下半部分介绍带约束的优化中间会穿插一些路径规划方面的应用实例 3BFGS公式 ① 严格凸函数的BFGS方法 BFGS公式或者说 BFGS方法是 Broyden、Fletcher、Gold-farb和Shanno分别独立提出来的。 B k 1 B F G S B k y k y k T y k T s k − B k s k s k T B k s k T B k s k . B_{k1}^{\mathrm{BFGS}}B_k\frac{y_ky_k^{\mathrm{T}}}{y_k^{\mathrm{T}}s_k}-\frac{B_k s_k s_k^{\mathrm{T}}B_k}{s_k^{\mathrm{T}}B_k s_k}. Bk1BFGSBkykTskykykT−skTBkskBkskskTBk. 采用 BFGS公式来修正矩阵的拟 Newton方法称为 BFGS方法。假定 B k 1 B F G S B_{k1}^{\mathrm{BFGS}} Bk1BFGS与 B k B F G S B_{k}^{\mathrm{BFGS}} BkBFGS都可逆。根据Shermann-Morrison-Woodbury公式,由上式可导出 H k H_k Hk的修正公式 H k 1 B F G S H k ( 1 y k T H k y k y k T s k ) s k s k T y k T s k − ( s k y k T H k H k y k s k T y k T s k ) . H_{k1}^{\mathrm{BFGS}}H_k\left(1\dfrac{y_k^{\mathrm{T}}H_k y_k}{y_k^{\mathrm{T}}s_k}\right)\dfrac{s_k s_k^{\mathrm{T}}}{y_k^{\mathrm{T}}s_k}-\left(\dfrac{s_k y_k^{\mathrm{T}}H_kH_k y_k s_k^{\mathrm{T}}}{y_k^{\mathrm{T}}s_k}\right). Hk1BFGSHk(1ykTskykTHkyk)ykTskskskT−(ykTskskykTHkHkykskT). 通过观察可知分别将DFP方法的 H k 1 D F P H_{k1}^{\mathrm{DFP}} Hk1DFP公式和 B k 1 D F P B_{k1}^{\mathrm{DFP}} Bk1DFP公式中的 B k B_k Bk与 H k H_k Hk对换 s k s_k sk与 y k y_k yk对换就可以得到 BFGS方法的 B k 1 B F G S B_{k1}^{\mathrm{BFGS}} Bk1BFGS和 H k 1 B F G S H_{k1}^{\mathrm{BFGS}} Hk1BFGS公式。因而 BFGS方法与DFP方法是互为对偶的方法,而 SR1方法为自对偶的方法。 上式也可写成如下形式 H k 1 B F G S ( I − Δ x Δ g T Δ g T Δ x ) H k ( I − Δ g Δ x T Δ g T Δ x ) Δ x Δ x T Δ g T Δ x H_{k1}^{\mathrm{BFGS}}\left(I-\dfrac{\Delta x\Delta g^T}{\Delta g^T\Delta x}\right)H_k\left(I-\dfrac{\Delta g\Delta x^T}{\Delta g^T\Delta x}\right)\dfrac{\Delta x\Delta x^T}{\Delta g^T\Delta x} Hk1BFGS(I−ΔgTΔxΔxΔgT)Hk(I−ΔgTΔxΔgΔxT)ΔgTΔxΔxΔxT 其中 H 0 I , Δ x x k 1 − x k , Δ g ∇ f ( x k 1 ) − ∇ f ( x k ) \begin{aligned}H_0I,\Delta xx^{k1}-x^k,\Delta g\nabla f\bigl(x^{k1}\bigr)-\nabla f\bigl(x^k\bigr)\end{aligned} H0I,Δxxk1−xk,Δg∇f(xk1)−∇f(xk) H 0 H_0 H0初始化为单位阵是正定的若 Δ g T Δ x 0 \Delta g^T\Delta x0 ΔgTΔx0则当 H i H_i Hi正定时由上式得到的 H i 1 H_{i1} Hi1也正定。即当 Δ g T Δ x 0 \Delta g^T\Delta x0 ΔgTΔx0时可以保证迭代中的 H i H_i Hi正定都是严格正定的。 下图中的例子对牛顿法和采用BFGS方法的拟牛顿法进行了比较虽然牛顿法的迭代速度更快但其复杂度高为 n 3 n^3 n3图中例子的维度为100迭代次数为12可用12x 10 0 3 100^3 100312000000来评价同理BFGS可用150x 10 0 2 100^2 10021500000来评价因此可以认为在下面的例子中BFGS的综合效果更好。 – 上述采用Armijo搜索准则利用BFGS方法的拟牛顿法仅适合于严格凸函数它存在以下的缺陷 ①严格梯度单调性在一般情况下不成立 ②曲率信息远未达到最优在较远的地方可能有负曲率 ③迭代代价为二次型计算复杂度为 n 2 n^2 n2 ④对非凸函数的适用性尚待验证 ⑤对非光滑函数的适用性尚待验证 ② 可能非凸函数的BFGS方法 上文中提到当 Δ g T Δ x 0 \Delta g^T\Delta x0 ΔgTΔx0时可以保证迭代中的 H i H_i Hi正定都是严格正定的当线搜索满足Wolfe准则时必有 Δ g T Δ x 0 \Delta g^T\Delta x0 ΔgTΔx0成立所以当线搜索满足Wolfe准则时迭代中的 H i H_i Hi正定都是严格正定的即可以保证迭代方向是下降方向。 针对非凸函数Wolfe条件不能保证BFGS的收敛性即不能保证一定收敛到最优解若下述cautious update(Li and Fukushima 2001)条件满足则可保证 H k 1 { ( I − Δ x Δ g T Δ g T Δ x ) H k ( I − Δ g Δ x T Δ g T Δ x ) Δ x Δ x T Δ g T Δ x if Δ g T Δ x ϵ ∣ ∣ g k ∣ ∣ Δ x T Δ x , ϵ 1 0 − 6 H k otherwise H_{k1}\begin{cases}\left(I-\dfrac{\Delta x\Delta g^T}{\Delta g^T\Delta x}\right)H_k\left(I-\dfrac{\Delta g\Delta x^T}{\Delta g^T\Delta x}\right)\dfrac{\Delta x\Delta x^T}{\Delta g^T\Delta x}\quad\text{if}\Delta g^T\Delta x\epsilon||g_k||\Delta x^T\Delta x,\epsilon10^{-6}\\ H_k\quad\text{otherwise}\end{cases} Hk1⎩ ⎨ ⎧(I−ΔgTΔxΔxΔgT)Hk(I−ΔgTΔxΔgΔxT)ΔgTΔxΔxΔxTifΔgTΔxϵ∣∣gk∣∣ΔxTΔx,ϵ10−6Hkotherwise 但是BFGS本身的特性导致其发散的情况一般都在优化的初期一般发生在前10步或者前50步BFGS自身的优良稳定性使其在靠近局部极小值的附件时几乎一定会满足上述cautious update(Li and Fukushima 2001)条件所以不需要加上以上条件就可以让BFGS较好的收敛所以在工程上即使不加以上条件也是挺稳定的一些优化库中也没有加以上条件当然加上会使算法更稳定。 下面的例子中对上述BFGS方法与牛顿法进行了比较结果表明上述BFGS方法是一种很有效的拟牛顿算法 ③ L-BFGS方法 我们拿BFGS去迭代更新它始终会保留所有历史的 Δ x \Delta x Δx和 Δ g \Delta g Δg的信息但这样并不是必要的迭代次数足够长以后得到的H阵是一个稠密的阵不能将复杂度从O( n 2 n^2 n2)降到O( n n n)并不是所有的历史数据都有用所以可以设置一个限制丢弃掉太老的信息使其仅使用最近m次的 Δ x \Delta x Δx和 Δ g \Delta g Δg信息。 因此我们可以维护一个历史的滑动窗口长度为m1个x和m1个g即m对 Δ x \Delta x Δx和 Δ g \Delta g Δg为方便描述就像前文那样将 Δ x \Delta x Δx和 Δ g \Delta g Δg分别用 s k s_k sk和 y k y_k yk表示即储存从 s k − m 1 s_{k-m1} sk−m1和 y k − m 1 y_{k-m1} yk−m1到 s k s_{k} sk和 y k y_{k} yk的m组数据在计算当前 H k H_k Hk时先初始化 H 0 H_0 H0为单位阵 I I I然后从滑动窗口初始处 s k − m 1 s_{k-m1} sk−m1、 y k − m 1 y_{k-m1} yk−m1开始利用这m组数据进行m次迭代得到窗口结束处 s k s_k sk、 y k y_k yk的 H m H_m Hm即当前要求的 H k H_k Hk。 如果每次都从窗口里额外的跑一遍BFGS本来从 H k H_k Hk到 H k 1 H_{k1} Hk1需要迭代一次现在需要迭代m次时间复杂度会从O( n 2 n^2 n2)升为O( m n 2 mn^2 mn2)如下面的左图所示然而这并不是必要的我们采用巧妙的结构实现以上方法如下面右图所示而将时间复杂度降为O( m n mn mn)m是一个有限常数因此可以认为时间复杂度近似于O( n n n)。 下面的例子对牛顿法BFGSL-BFGS进行了比较L-BFGS的收敛速度近似于BFGS但时间复杂度降为O( m n mn mn)且更加灵活一般取mn/2。 所以L-BFGS几乎是高效光滑非凸优化的首选。 ④ 非凸非平滑函数的BFGS方法 如果函数是非光滑的呢即存在以下问题 梯度可能不存在、负次级梯度不下降、曲率可能非常大 L-BFGS算法能不能用于非光滑函数 非凸非光滑函数的求解速度较慢我们只期待经过有限次迭代后可以得到解而不会报错。 如果直接将L-BFGS算法用于非光滑情况强Wolfe准则会出现问题因为其梯度是不连续的可能没有在0附近的梯度使得解为空集如下面的右图所示 – 但是如果使用一般的Wolfe准则则不会有以上问题如下图所示
– 针对非光滑的情况一般不使用二次或三次拟合的方法去求合适的步长因为拟合效果并不理想不能很快的收敛我们可以采用如下的Lewis Overton线搜索策略 注c1常取 1 0 − 4 10^{-4} 10−4c2常取 0.9 0.9 0.9 即初始化步长区间为【0正无穷】试探性初始化步长为a1若不满足Wolfe准则的第一个条件Sa如假此时a位于下图中的①处则将步长区间缩小为【0a】并将 a修改为区间【0a】的中值处进行下一次循环直至两个条件都满足返回步长a。若满足Wolfe准则的第一个条件而不满足Wolfe准则的第二个条件Ca如假设此时a位于下图中的②处则将步长区间的下限L更改为a并将步长扩大为2L进行下一次循环直至两个条件都满足返回步长a。 将上述搜索步长的策略用于BFGS和L-BFGS算法的效果如下所示只要 x 0 x_0 x0处的导数存在使用Lewis Overton线搜索策略的BFGS和L-BFGS算法几乎不可能遇到梯度不可导的点所以他就可以正确的工作正确的拟合。 – 当函数的条件数很大时BFGS和L-BFGS算法依然可以较好的收敛如下所示
– ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ 现在来汇总一下怎样完成一个鲁棒性好稳定性好计算复杂度较低的拟牛顿算法采用Lewis Overton线搜索策略求取合适的步长LBFGS采用滑动窗口有限内存版本的更新方式且检查是否满足cautious update条件 – 4Broyden族公式 根据 H k 1 D F P H_{k1}^{\mathrm{DFP}} Hk1DFP公式和 H k 1 B F G S H_{k1}^{\mathrm{BFGS}} Hk1BFGS公式,可以构造出一族拟Newton方法的修正公式我们称之为Broyden族公式 H k 1 φ ( 1 − φ ) H k 1 D F P φ H k 1 B F G S , H_{k1}^{\varphi}(1-\varphi)H_{k1}^{\mathrm{DFP}}\varphi H_{k1}^{\mathrm{BFGS}}, Hk1φ(1−φ)Hk1DFPφHk1BFGS, 其中ψ ≥ 0. DFP公式与 BFGS 公式均是 Broyden族公式的特殊情形,分别对应于ψ 0与ψ 1.通常将用Broyden族公式来修正矩阵的拟Newton方法称为 Broyden族方法.这一族方法有许多共同的性质,故可以作为一个整体进行讨论. 我们还可以把上式写如下的形式 H k 1 φ H k 1 D F P φ ( H k 1 B F G S − H k 1 D F P ) H k 1 D F P φ v k v k T , \begin{array}{c}H_{k1}^{\varphi}H_{k1}^{\mathrm{DFP}}\varphi\big(H_{k1}^{\mathrm{BFGS}}-H_{k1}^{\mathrm{DFP}}\big)\\ H_{k1}^{\mathrm{DFP}}\varphi v_k v_k^{\mathrm{T}},\end{array} Hk1φHk1DFPφ(Hk1BFGS−Hk1DFP)Hk1DFPφvkvkT, 其中 v k ( y k T H k y k ) 1 / 2 ( s k s k T y k − H k y k y k T H k y k ) v_{k}(y_{k}^{\mathrm{T}}H_{k}y_{k})^{1/2}\bigg(\frac{s_{k}}{s_{k}^{\mathrm{T}}y_{k}}-\frac{H_{k}y_{k}}{y_{k}^{\mathrm{T}}H_{k}y_{k}}\bigg) vk(ykTHkyk)1/2(skTyksk−ykTHkykHkyk) 这表明 Broyden族公式的所有矩阵 H k 1 φ H_{k1}^{\varphi} Hk1φ的差别仅在于秩1矩阵 φ v k v k T \varphi v_k v_k^{\mathrm{T}} φvkvkT 十一、BB方法 最速下降方法与 BB方法都是负梯度方法,它们的不同仅在于步长的选取方式.最速下降方法是一种古老的方法.许多年来,最速下降方法由于收敛速度太慢而无法受到人们的重视。1988年,Barzilai和 Borwein提出了一种新的负梯度方法,即BB方法. BB方法诞生后人们对负梯度方法产生了浓厚的兴趣尽管该方法尚有许多理论问题没有解决,然而依然是一种有效的负梯度方法。 我们仅考虑用BB方法求解正定二次函数求极小值的问题如下式所示对一般的最优化问题,由于BB方法需要使用非单调线搜索的技巧,这里暂不进行讨论。 min f ( x ) 1 2 x T G x b T x , \min f(x)\dfrac{1}{2}x^{\mathrm T}Gxb^{\mathrm T}x, minf(x)21xTGxbTx, 其中 G ∈ R n × n G∈R^{n×n} G∈Rn×n对称正定,考虑如下负梯度迭代: x k 1 x k − α k g k , x_{k1}x_k-\alpha_k g_k, xk1xk−αkgk, 其中 g k G x k b g_kGx_kb gkGxkb如何选取合适的 α k α_k αk呢 BB方法选取 α k α_k αk的基本思想源于拟 Newton方法,它是将 Hesse矩阵 G k G_k Gk和Hesse逆矩阵 G k − 1 G^{-1}_k Gk−1的近似矩阵 B k B_k Bk和 H k H_k Hk。分别取为 α − 1 I α^{-1}I α−1I和 α I αI αI,使得拟Newton条件在2范数意义下取极小,即要求 α k α_k αk为 α k arg min α 0 ∥ α − 1 s k − 1 − y k − 1 ∥ 2 2 \alpha_k\arg\min\limits_{\alpha0}\|\alpha^{-1}s_{k-1}-y_{k-1}\|_2^2 αkargα0min∥α−1sk−1−yk−1∥22 或 α k arg min α 0 ∥ s k − 1 − α y k − 1 ∥ 2 2 , \alpha_k\arg\min\limits_{\alpha0}\|s_{k-1}-\alpha y_{k-1}\|_2^2, αkargα0min∥sk−1−αyk−1∥22, 其中 s k − 1 x k − x k − 1 , y k − 1 g k − g k − 1 s_{k-1}x_{k}-x_{k-1},y_{k-1} g_{k}-g_{k-1} sk−1xk−xk−1,yk−1gk−gk−1解上述两个极小值问题把对解分别记作 α k B B 1 α^{BB1}_k αkBB1和 α k B B 2 α^{BB2}_k αkBB2并将其对应的方法分别记作BB1方法和BB2方法 α k B B 1 s k − 1 T s k − 1 s k − 1 T y k − 1 , α k B B 2 s k − 1 T y k − 1 y k − 1 T y k − 1 . \alpha_k^{\mathrm{BB1}}\frac{s_{k-1}^\mathrm{T}s_{k-1}}{s_{k-1}^\mathrm{T}y_{k-1}},\quad\alpha_k^{\mathrm{BB2}}\frac{s_{k-1}^\mathrm{T}y_{k-1}}{y_{k-1}^\mathrm{T}y_{k-1}}. αkBB1sk−1Tyk−1sk−1Tsk−1,αkBB2yk−1Tyk−1sk−1Tyk−1. 对于上述二次极小值问题 g k G x k b g_kGx_kb gkGxkb则 s k − 1 x k − x k − 1 − α k − 1 g k − 1 , y k − 1 g k − g k − 1 − α k − 1 G g k − 1 . \begin{array}{c}s_{k-1}x_k-x_{k-1}-\alpha_{k-1}g_{k-1},\\ \\ y_{k-1}g_k-g_{k-1}-\alpha_{k-1}Gg_{k-1}.\end{array} sk−1xk−xk−1−αk−1gk−1,yk−1gk−gk−1−αk−1Ggk−1. 因此BB方法的两个步长公式可分别化为 α k B B 1 g k − 1 T g k − 1 g k − 1 T G g k − 1 , \alpha_k^{\mathrm{BB1}}\frac{g_{k-1}^{\mathrm{T}}g_{k-1}}{g_{k-1}^{\mathrm{T}}G g_{k-1}}, αkBB1gk−1TGgk−1gk−1Tgk−1, α k B B 2 g k − 1 T G g k − 1 g k − 1 T G 2 g k − 1 . \alpha_k^{\mathrm{BB2}}\frac{g_{k-1}^{\mathrm{T}}G g_{k-1}}{g_{k-1}^{\mathrm{T}}G^2g_{k-1}}. αkBB2gk−1TG2gk−1gk−1TGgk−1. 步长 α k B B 1 α^{BB1}_k αkBB1和 α k B B 2 α^{BB2}_k αkBB2与最速下降法SD、最小梯度法MG的步长的联系如下 α k S D arg min α 0 f ( x k − α g k ) g k T g k g k T G g k ; \alpha_k^{\mathrm{SD}}\arg\min\limits_{\alpha0}f(x_k-\alpha g_k)\dfrac{g_k^{\mathrm{T}}g_k}{g_k^{\mathrm{T}}G g_k}; αkSDargα0minf(xk−αgk)gkTGgkgkTgk; α k M G arg min α 0 ∣ ∣ g ( x k − α g k ) ∣ ∣ 2 2 g k T G g k g k T G 2 g k . \alpha_k^{\mathrm{MG}}\arg\min\limits_{\alpha0}||g(x_k-\alpha g_k)||_2^2\dfrac{g_k^{\mathrm{T}}G g_k}{g_k^{\mathrm{T}}G^2g_k}. αkMGargα0min∣∣g(xk−αgk)∣∣22gkTG2gkgkTGgk. 通过观察可以有如下结论 α k B B 1 α k − 1 S D , α k B B 2 α k − 1 M G . \alpha_k^{\mathrm{BB1}}\alpha_{k-1}^{\mathrm{SD}},\quad\alpha_k^{\mathrm{BB2}}\alpha_{k-1}^{\mathrm{MG}}. αkBB1αk−1SD,αkBB2αk−1MG. 这两个式子表明BB1方法和 BB2方法的当前步长分别是 SD方法和MG方法的前一步步长.虽然BB方法仅将SD方法或MG方法的步长延后一步使用,但是在实际计算中,BB方法的数值表现通常明显好于SD方法和 MG方法 另一方面,SD方法或者MG方法产生的向量序列{ − g k -g_k −gk}可能出现在两个方向之间来回震荡的情况而BB方法的下降方向可能不是有规则的.这说明,选取合适的步长,可以避免规则下降方向的出现我们已经得到了BB方法在收敛性方面的一些结果,然而令人遗憾的是至今未能从理论上解释BB方法为什么能够明显地超越SD方法和MG方法. 不过对一般的非线性函数BB方法产生的迭代序列可能发散.为了保证算法的全局收敛性,Raydan[提出了将 BB方法与 GLL非单调线搜索结合起来的方法。 参考资料 1、数值最优化方法高立 编著 2、机器人中的数值优化
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910711.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!