首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

机器学习笔记之优化算法(六)线搜索方法(步长角度;非精确搜索;Glodstein Condition)引言

  • 23-09-05 19:02
  • 2565
  • 6335
blog.csdn.net

机器学习笔记之优化算法——线搜索方法[步长角度,非精确搜索,Glodstein Condition]

  • 引言
    • 回顾: Armijo Condition ext{Armijo Condition} Armijo Condition
    • 关于 Armijo Condition ext{Armijo Condition} Armijo Condition的弊端
    • Glodstein Condition ext{Glodstein Condition} Glodstein Condition
    • Goldstein Condition ext{Goldstein Condition} Goldstein Condition的弊端

引言

上一节介绍了 Armijo ext{Armijo} Armijo准则 ( Armijo Condition ) ( ext{Armijo Condition}) (Armijo Condition),本节将继续介绍 Glodstein ext{Glodstein} Glodstein准则 ( Glodstein Condition ) ( ext{Glodstein Condition}) (Glodstein Condition)。

回顾: Armijo Condition ext{Armijo Condition} Armijo Condition

首先,希望数值解对应的目标函数结果 { f ( x k ) } k = 0 ∞ {f(x_k)}_{k=0}^{infty} {f(xk​)}k=0∞​收敛至最优解 f ∗ f^* f∗:
{ f ( x k ) } k = 0 ∞ ⇒ f ∗ {f(x_k)}_{k=0}^{infty} Rightarrow f^* {f(xk​)}k=0∞​⇒f∗
而数值解对应的目标函数结果满足严格的单调性是一项不可忽视的重要因素:
{ f ( x k + 1 ) = f ( x k + α ⋅ P k ) = ϕ ( α ) ϕ ( α ) = f ( x k + 1 ) < f ( x k ) = ϕ ( 0 ) {f(xk+1)=f(xk+α⋅Pk)=ϕ(α)ϕ(α)=f(xk+1)<f(xk)=ϕ(0)

{f(xk+1)=f(xk+α⋅Pk)=ϕ(α)ϕ(α)=f(xk+1)<f(xk)=ϕ(0)
{​f(xk+1​)=f(xk​+α⋅Pk​)=ϕ(α)ϕ(α)=f(xk+1​)<f(xk​)=ϕ(0)​​
但仅仅满足 { f ( x k ) } k = 0 ∞ {f(x_k)}_{k=0}^{infty} {f(xk​)}k=0∞​服从严格的单调性不足以证明 { f ( x k ) } k = 0 ∞ ⇒ f ∗ {f(x_k)}_{k=0}^{infty} Rightarrow f^* {f(xk​)}k=0∞​⇒f∗。也就是说:后者是前者的必要不充分条件。
关于不充分性质的反例,见传送门

Armijo ext{Armijo} Armijo准则产生的动机在于:条件 f ( x k + 1 ) < f ( x k ) f(x_{k+1}) < f(x_k) f(xk+1​)<f(xk​)的约束能力太松散。而具体表现在: ϕ ( α ) phi(alpha) ϕ(α)函数中,满足条件 f ( x k + 1 ) < f ( x k ) f(x_{k+1})< f(x_k) f(xk+1​)<f(xk​)的 α alpha α值过多,反而对优秀步长结果的选择产生阻碍:
基础条件涵盖范围
观察上图,其中:

  • 蓝色曲线表示 ϕ ( α ) phi(alpha) ϕ(α)的函数曲线;
  • 红色虚线表示步长 α alpha α的划分边界 ϕ ( α ) = f ( x k ) phi(alpha) = f(x_k) ϕ(α)=f(xk​)。因而 f ( x k + 1 ) < f ( x k ) f(x_{k+1})< f(x_k) f(xk+1​)<f(xk​)描述的是红色虚线下方的部分,具体对应步长 α alpha α的选择范围见 α alpha α轴上的红色实线。

Armijo Condition ext{Armijo Condition} Armijo Condition关于 f ( x k + 1 ) < f ( x k ) f(x_{k+1})< f(x_k) f(xk+1​)<f(xk​)条件过于松散的处理方法是:相比于上图中的红色虚线,尝试找到一条更优的直线对 ϕ ( α ) phi(alpha) ϕ(α)进行划分,最终使步长 α alpha α的选择范围明显降低。

它选择了 ϕ ( α ) = f ( x k ) phi(alpha) = f(x_k) ϕ(α)=f(xk​)与 ϕ ( α ) phi(alpha) ϕ(α)在 α = 0 alpha=0 α=0处的切线函数: l ( α ) = f ( x k ) + [ ∇ f ( x k ) ] T P k ⋅ α l(alpha) = f(x_k) + [ abla f(x_k)]^T mathcal P_k cdot alpha l(α)=f(xk​)+[∇f(xk​)]TPk​⋅α进行组合,其划分边界函数表示为:
L ( α ) = f ( x k ) + C 1 ⋅ [ ∇ f ( x k ) ] T P k ⋅ α C 1 ∈ ( 0 , 1 ) mathcal L(alpha) = f(x_k) + mathcal C_1 cdot [ abla f(x_k)]^T mathcal P_k cdot alpha quad mathcal C_1 in (0,1) L(α)=f(xk​)+C1​⋅[∇f(xk​)]TPk​⋅αC1​∈(0,1)
由于 C 1 > 0 , α > 0 mathcal C_1 >0,alpha>0 C1​>0,α>0(步长的物理意义);并且 [ ∇ f ( x k ) ] T P k < 0 left[ abla f(x_k) ight]^T mathcal P_k < 0 [∇f(xk​)]TPk​<0,因此函数 L ( α ) mathcal L(alpha) L(α)的斜率存在:
关于 [ ∇ f ( x k ) ] T P k < 0 [ abla f(x_k)]^T mathcal P_k < 0 [∇f(xk​)]TPk​<0详见优化算法——下降方向的推导过程

  • 上界: 0 0 0(无法取到),此时 L ( α ) mathcal L(alpha) L(α)的函数图像与 ϕ ( α ) = f ( x k ) phi(alpha) = f(x_k) ϕ(α)=f(xk​)的函数图像重合;
  • 下界: [ ∇ f ( x k ) ] T P k [ abla f(x_k)]^T mathcal P_k [∇f(xk​)]TPk​(无法取到),此时 L ( α ) mathcal L(alpha) L(α)的函数图像与 l ( α ) l(alpha) l(α)的函数图像重合。

对应函数图像表示如下。可以看到:相比上图, α alpha α轴上绿色实线描述的步长 α alpha α的选择范围明显小于上图中红色实线描述的范围。从而对最优步长 α alpha α的选择进行优化。
这里并没有涉及证明过程,仅是从逻辑角度进行描述。
Armijo Condition效果
关于为什么要选择 l ( α ) l(alpha) l(α)的斜率 [ ∇ f ( x k ) ] T P k [ abla f(x_k)]^T mathcal P_k [∇f(xk​)]TPk​作为下界的描述 ? ? ?主要是因为:该切线函数在局部范围内的函数图像(凸函数)中不存在位于该切线下方的函数结果。但这仅仅作用于局部范围。因为我们对完整的 ϕ ( α ) phi(alpha) ϕ(α)函数未知,在全局范围中可能存在函数信息位于 l ( α ) l(alpha) l(α)下方。例如下图描述的 ϕ ( α ) phi(alpha) ϕ(α)函数:
初始点对应的切线斜率不是绝对下界
因此,斜率 [ ∇ f ( x k ) ] T P k [ abla f(x_k)]^T mathcal P_k [∇f(xk​)]TPk​并不是绝对下界。但不否认的是: l ( α ) l(alpha) l(α)的斜率用于划分有效的 α alpha α步长来说是苛刻的,至少比 ϕ ( α ) = f ( x k ) phi(alpha) = f(x_k) ϕ(α)=f(xk​)描述的范围更加严格。

关于 Armijo Condition ext{Armijo Condition} Armijo Condition的弊端

关于 Armijo ext{Armijo} Armijo规则,我们仅从 L ( α ) mathcal L(alpha) L(α)公式的角度也能看出它相比 f ( x k + 1 ) < f ( x k ) f(x_{k+1}) f(xk+1​)<f(xk​)更加严格:
f ( x k + 1 ) = ϕ ( α ) < L ( α ) = f ( x k ) + C 1 ⋅ [ ∇ f ( x k ) ] T P k ⋅ α ⏟ < 0 < f ( x k ) f(x_{k+1}) = phi(alpha) < mathcal L(alpha) = f(x_k) + underbrace{mathcal C_1cdot [ abla f(x_k)]^T mathcal P_k cdot alpha}_{<0} f(xk+1​)=ϕ(α)<L(α)=f(xk​)+<0 C1​⋅[∇f(xk​)]TPk​⋅α​​<f(xk​)
但 Armijo ext{Armijo} Armijo规则依然存在弊端:在 C 1 ∈ ( 0 , 1 ) mathcal C_1 in (0,1) C1​∈(0,1)的选择过程中,依然存在:满足 ϕ ( α ) < L ( α ) phi(alpha) < mathcal L(alpha) ϕ(α)<L(α)的 α alpha α结果过少,从而这些样本点包含的 α alpha α范围过小。例如:
其中绿色实线描述 L ( α ) mathcal L(alpha) L(α),其对应的有效范围见 α alpha α轴上的绿色实线。可以看出,覆盖的 α alpha α范围极小并且对应的 ϕ ( α ) phi(alpha) ϕ(α)结果也不够优秀。
包含a范围过小
上述情况是有可能出现的,虽然我们并不执著最小值一定位于 ϕ ( α ) < L ( α ) phi(alpha) < mathcal L(alpha) ϕ(α)<L(α)所描述的 α alpha α范围内(因为是求数值解),但我们同样希望:排除掉类似这种 α alpha α较小,并且质量不高的情况,或者:我们更希望 ϕ ( α ) phi(alpha) ϕ(α)的核心部分有机会出现在范围内。

Glodstein Condition ext{Glodstein Condition} Glodstein Condition

Glodstein Consition ext{Glodstein Consition} Glodstein Consition是在 Armijo Condition ext{Armijo Condition} Armijo Condition的基础上,给 ϕ ( α ) phi(alpha) ϕ(α)的范围加上一个下界:
{ Glodstein Condition :  f ( x k ) + C 2 ⋅ [ ∇ f ( x k ) ] T P k ⋅ α ⏟ Lower Bound ≤ ϕ ( α ) ≤ f ( x k ) + C 1 ⋅ [ ∇ f ( x k ) ] T P k ⋅ α ⏟ Upper Bound;Armijo Condition C 1 + C 2 = 1 {Glodstein Condition : f(xk)+C2⋅[∇f(xk)]TPk⋅α⏟Lower Bound≤ϕ(α)≤f(xk)+C1⋅[∇f(xk)]TPk⋅α⏟Upper Bound;Armijo ConditionC1+C2=1

⎩ ⎨ ⎧​Glodstein Condition : Lower Bound f(xk​)+C2​⋅[∇f(xk​)]TPk​⋅α​​≤ϕ(α)≤Upper Bound;Armijo Condition f(xk​)+C1​⋅[∇f(xk​)]TPk​⋅α​​C1​+C2​=1​
经过整理,使用一个参数 C mathcal C C对上述范围进行描述:
f ( x k ) + ( 1 − C ) [ ∇ f ( x k ) ] T P k ⋅ α ≤ ϕ ( α ) ≤ f ( x k ) + C ⋅ [ ∇ f ( x k ) ] T P k α C ∈ ( 0 , 1 2 ) f(x_k) + (1 - mathcal C) [ abla f(x_k)]^T mathcal P_k cdot alpha leq phi(alpha) leq f(x_k) + mathcal C cdot [ abla f(x_k)]^T mathcal P_k alpha quad mathcal C in left(0,frac{1}{2} ight) f(xk​)+(1−C)[∇f(xk​)]TPk​⋅α≤ϕ(α)≤f(xk​)+C⋅[∇f(xk​)]TPk​αC∈(0,21​)
对应的函数图像表示如下:
Goldstein Condition示例
其中两条绿色实线关于 f ( x k ) + 1 2 [ ∇ f ( x k ) ] T P k ⋅ α f(xk)+12[∇f(xk)]TPk⋅α
f(xk​)+21​[∇f(xk​)]TPk​⋅α​
(蓝色虚线)对称,两条绿色实线之间的范围就是 ϕ ( α ) phi(alpha) ϕ(α)有效的选择范围。其对应的 α alpha α选择范围见上图 α alpha α轴上的绿色实线。

从而可以通过修改 C mathcal C C的数值,从而调整上图绿色实线之间的夹角。这种 ϕ ( α ) phi(alpha) ϕ(α)的选择方式极大程度地将 ϕ ( α ) phi(alpha) ϕ(α)的核心部分包含在选择范围内。从而缓解了 Armijo Condition ext{Armijo Condition} Armijo Condition的弊端。

Goldstein Condition ext{Goldstein Condition} Goldstein Condition的弊端

即便 Goldstein Condition ext{Goldstein Condition} Goldstein Condition缓解了 Armijo Condition ext{Armijo Condition} Armijo Condition的弊端。但其自身也同样存在弊端:当参数 C mathcal C C接近 1 2 12

21​​时,上下界均会朝着中心轴 f ( x k ) + 1 2 [ ∇ f ( x k ) ] T P k ⋅ α f(xk)+12[∇f(xk)]TPk⋅α
f(xk​)+21​[∇f(xk​)]TPk​⋅α​
方向靠拢
。最终可能得到如下效果:

  • 虽然这里描述的 ϕ ( α ) phi(alpha) ϕ(α)范围还比较优秀,但这只是特例。在两条绿线之间的夹角极小时,我们映射出的 ϕ ( α ) phi(alpha) ϕ(α)范围以及对应的 α alpha α范围都非常小,后面可能导致其将一些优质的 α alpha α结果给过滤掉。
  • 但与 Armijo Condition ext{Armijo Condition} Armijo Condition相比, Goldstein Condition ext{Goldstein Condition} Goldstein Condition确实将选择范围集中在 ϕ ( α ) phi(alpha) ϕ(α)的核心位置,而不是数量少的,较偏的 ϕ ( α ) phi(alpha) ϕ(α)位置上。
    Goldstein Condition的弊端

下一节针对 Glodstein Condition ext{Glodstein Condition} Glodstein Condition因 C mathcal C C值过于接近 1 2 12

21​​而导致优质 α alpha α结果被误杀的情况,我们介绍 Wolfe Condition ext{Wolfe Condition} Wolfe Condition。

相关参考:
【优化算法】线搜索方法-步长-Glodstein Condition

注:本文转载自blog.csdn.net的静静的喝酒的文章"https://blog.csdn.net/qq_34758157/article/details/132035932"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top