优化理论05----最速下降法最速下降法思想python实现

Posted 炫云云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优化理论05----最速下降法最速下降法思想python实现相关的知识,希望对你有一定的参考价值。

无约束优化-----最速下降法


最优化知识笔记整理汇总,超级棒

最速下降法思想

无约束最优化问题:
( P )     min ⁡     f ( x ) s.t.     x ∈ X ⊆ R n \\begin{aligned} (P) ~ ~ ~ \\min &~ ~ ~ f(x)\\\\ \\text{s.t.} &~ ~ ~x ∈ X ⊆ R^n \\end{aligned} (P)   mins.t.   f(x)   xXRn

其中f(x)是可微的。如果 x = x ˉ x = \\bar{x} x=xˉ是一个给定的点,在 ∥ d ∥ \\|d\\| d足够小的时候,f(x)可近似为:
f ( x ˉ + d ) ≈ f ( x ˉ ) + ▽ f ( x ˉ ) T d (1) f(\\bar{x}+d) \\approx f(\\bar{x}) + \\triangledown f(\\bar{x})^Td\\tag{1} f(xˉ+d)f(xˉ)+f(xˉ)Td(1)
现在请注意,如果上面表达式的近似是好的,那么我们要选择 d d d使得内积 ▽ f ( x ˉ ) T d \\triangledown f(\\bar{x})^Td f(xˉ)Td 也是足够小的。

函数 f ( x ) f(x) f(x) 在点x处沿方向d的变化率可用方向导数表 示,当函数可微时有,方向导数
D f ( x , d ) = ∇ f ( x ) T d (2) D f(x, d)=\\nabla f(x)^{T} d\\tag{2} Df(x,d)=f(x)Td(2)
求函数 f ( x ) f(x) f(x)在点 x x x处下降最快的方向,归结为求
min ⁡ ∇ f ( x ) T d  s.t  ∥ d ∥ ≤ 1 (3) \\begin{array}{l} \\min \\quad \\nabla f(x)^{T} d \\\\ \\text { s.t } \\quad\\|d\\| \\leq 1 \\end{array}\\tag{3} minf(x)Td s.t d1(3)
由Schwartz不等式,
∣ ∇ f ( x ) T d ∣ ≤ ∥ ∇ f ( x ) ∥ ∥ d ∥ ≤ ∥ ∇ f ( x ) ∥ \\left|\\nabla f(x)^{T} d\\right| \\leq\\|\\nabla f(x)\\|\\|d\\| \\leq\\|\\nabla f(x)\\| f(x)Tdf(x)df(x)
⇒ ∇ f ( x ) T d ≥ − ∥ ∇ f ( x ) ∥ \\Rightarrow \\nabla f(x)^{T} d \\geq-\\|\\nabla f(x)\\| f(x)Tdf(x)

让我们把d标准化 ∥ d ∥ = 1 \\|d\\|=1 d=1。在所有方向标椎化 ∥ d ∥ = 1 \\|d\\|=1 d=1,所以当方向为:
d ~ = − ▽ f ( x ˉ ) ∥ ▽ f ( x ˉ ) ∥ (4) \\tilde{d}=\\frac{- \\triangledown f(\\bar{x})}{\\|\\triangledown f(\\bar{x})\\|}\\tag{4} d~=f(xˉ)f(xˉ)(4)
时(4)的等号成立,使其与梯度 ▽ f ( x ˉ ) \\triangledown f(\\bar{x}) f(xˉ)的内积最小。这一事实源自下列不等式:
▽ f ( x ˉ ) T d ≥ − ∥ ▽ f ( x ˉ ) ∥ ∥ d ∥ = ▽ f ( x ˉ ) T ( − ▽ f ( x ˉ ) ∥ ▽ f ( x ˉ ) ∥ ) = − ▽ f ( x ˉ ) T d ~ (5) \\triangledown f(\\bar{x})^Td \\geq -\\|\\triangledown f(\\bar{x})\\|\\|d\\| =\\triangledown f(\\bar{x})^T\\left (\\frac{- \\triangledown f(\\bar{x})}{\\|\\triangledown f(\\bar{x})\\|} \\right ) = -\\triangledown f(\\bar{x})^T\\tilde{d}\\tag{5} f(xˉ)Tdf(xˉ)d=f(xˉ)T(f(xˉ)f(xˉ))=f(xˉ)Td~(5)

因此未归一化方向为:
d ˉ = − ▽ f ( x ˉ ) (6) \\bar{d}=-\\triangledown f(\\bar{x})\\tag{6} dˉ=f(xˉ)(6)
称为 x ˉ \\bar{x} xˉ处的最速下降方向。

注意, d ˉ = − ▽ f ( x ˉ ) \\bar{d}=-\\triangledown f(\\bar{x}) dˉ=f(xˉ)是一个只要 ▽ f ( x ˉ ) ≠ 0 \\triangledown f(\\bar{x}) \\neq0 f(xˉ)=0的下降方向。可以看出, d ˉ T ▽ f ( x ˉ ) = − ( ▽ f ( x ˉ ) ) T ▽ f ( x ˉ ) < 0 \\bar{d}^T\\triangledown f(\\bar{x})=-(\\triangledown f(\\bar{x}))^T\\triangledown f(\\bar{x})<0 dˉTf(xˉ)=(f(xˉ))Tf(xˉ)<0,只要 ▽ f ( x ˉ ) ≠ 0 \\triangledown f(\\bar{x}) \\neq0 f(xˉ)=0

最速下降法的目标函数

所谓的最速下降法,就是在确定下降方向后,从下降方向中找到下降程度最大的一点进行下降。

梯度下降法是先求出梯度,再根据预先设定的learning rate完成下降,那么就完成了一轮的优化;

而最速下降法在求出梯度之后,要进行另外一个 最 小 化 优 化 问 题 \\large\\color{#70f3ff}{\\boxed{\\color{green}{最小化优化问题}}} 最速梯度下降

优化理论09-----线性等式约束问题的投影方法投影最速下降算法解决方向查找问题(DFP)牛顿法的修正在线性等式约束变度量法

最速梯度下降法及matlab实践

最速梯度下降法及matlab实践

关于对率回归的求解,梯度下降和解析解相比有啥特点和优势,为啥?

最优化学习 最速下降法(steepest Descent)