IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> METHODS FOR NON-LINEAR LEAST SQUARES PROBLEMS 翻译(四) -> 正文阅读

[人工智能]METHODS FOR NON-LINEAR LEAST SQUARES PROBLEMS 翻译(四)

METHODS FOR NON-LINEAR LEAST SQUARES PROBLEMS(四)

3.3. Powell 的 Dog Leg方法

与列文伯格-马尔夸特方法一样,该方法使用高斯-牛顿法和最陡下降方向的组合。但是通过信赖域的半径显式控制两种方法之间的切换,参见第 2.4 节。 Powell 的名字与算法有关,因为他提出了如何找到由 (2.23) 定义的 h t r \pmb{h}_{tr} hhhtr? 的近似值。

给定 f : R n → R m f: \mathbb{R}^n \to \mathbb{R}^m f:RnRm。在当前迭代点 x \pmb{x} xxx 处,高斯-牛顿步长 h g n \pmb{h}_{gn} hhhgn? 是如下线性系统的最小二乘解
J ( x ) h ≈ ? f ( x ) (3.17) \pmb{J}(\pmb{x})\pmb{h} \approx -\pmb{f}(\pmb{x}) \tag{3.17} JJJ(xxx)hhh?f?f??f(xxx)(3.17)

它可以通过求解下面的正规方程来计算
( J ( x ) T J ( x ) ) h g n = ? J ( x ) T f ( x ) (3.18?a) (\pmb{J}(\pmb{x})^T\pmb{J}(\pmb{x}))\pmb{h}_{gn} = -\pmb{J}(\pmb{x})^T\pmb{f}(\pmb{x}) \tag{3.18 a} (JJJ(xxx)TJJJ(xxx))hhhgn?=?JJJ(xxx)Tf?f??f(xxx)(3.18?a)

最陡下降方向由下式给出
h s d = ? g = ? J ( x ) T f ( x ) (3.18?b) \pmb{h}_{sd} = -\pmb{g} = -\pmb{J}(\pmb{x})^T\pmb{f}(x) \tag{3.18 b} hhhsd?=?g?g??g=?JJJ(xxx)Tf?f??f(x)(3.18?b)

这是一个方向,而不是步长,为了知道我们应该走多远,我们观察线性模型
f ( x + α h s d ) ≈ f ( x ) + α J ( x ) h s d f(\pmb{x}+\alpha \pmb{h}_{sd}) \approx \pmb{f}(\pmb{x}) + \alpha \pmb{J}(\pmb{x}) \pmb{h}_{sd} f(xxx+αhhhsd?)f?f??f(xxx)+αJJJ(xxx)hhhsd?

F ( x + α h s d ) = ≈ 1 2 ∣ ∣ f ( x ) + α J ( x ) h s d ∣ ∣ 2 = F ( x ) + α h s d T J ( x ) T f ( x ) + 1 2 α 2 ∣ ∣ J ( x ) h s d ∣ ∣ 2 F(\pmb{x}+\alpha \pmb{h}_{sd}) = \approx \frac{1}{2} ||\pmb{f}(\pmb{x}) + \alpha \pmb{J}(\pmb{x}) \pmb{h}_{sd}||^2 \\ =F(\pmb{x}) + \alpha \pmb{h}_{sd}^T \pmb{J}(\pmb{x})^T \pmb{f}(\pmb{x}) + \frac{1}{2}\alpha^2 ||\pmb{J}(\pmb{x})\pmb{h}_{sd}||^2 F(xxx+αhhhsd?)=21?f?f??f(xxx)+αJJJ(xxx)hhhsd?2=F(xxx)+αhhhsdT?JJJ(xxx)Tf?f??f(xxx)+21?α2JJJ(xxx)hhhsd?2

这个关于 α \alpha α 的函数的最小值为
α = ? h s d T J ( x ) T f ( x ) ∣ ∣ J ( x ) h s d ∣ ∣ 2 = ∣ ∣ g ∣ ∣ 2 ∣ ∣ J ( x ) g ∣ ∣ 2 (3.19) \alpha = - \frac{\pmb{h}_{sd}^T \pmb{J}(\pmb{x}) ^T \pmb{f}(\pmb{x})}{||\pmb{J}(\pmb{x}) \pmb{h}_{sd}||^2} = \frac{||\pmb{g}||^2}{||\pmb{J}(\pmb{x})\pmb{g}||^2} \tag{3.19} α=?JJJ(xxx)hhhsd?2hhhsdT?JJJ(xxx)Tf?f??f(xxx)?=JJJ(xxx)g?g??g2g?g??g2?(3.19)

现在我们从当前点 x \pmb{x} xxx 开始有两个候选步长: a = α h s d \pmb{a} = \alpha \pmb{h}_{sd} aaa=αhhhsd? b = h g n \pmb{b} = \pmb{h}_{gn} bbb=hhhgn?。Powell 建议当信赖域半径为 Δ \Delta Δ 时使用以下策略来选择步长。

i f ∣ ∣ h g n ∣ ∣ ≤ Δ h d l : = h g n e l s e i f ∣ ∣ α h s d ∣ ∣ ≥ Δ h d l : = ( Δ ∣ ∣ h s d ∣ ∣ ) h s d e l s e h d l : = α h s d + β ( h g n ? α h s d ) (3.20?a) \quad \quad \quad \quad if \quad ||\pmb{h}_{gn}|| \leq \Delta \\ \quad \quad \quad \quad \pmb{h}_{dl}:= \pmb{h}_{gn} \\ \quad \quad \quad \quad \quad \quad elseif \quad ||\alpha \pmb{h}_{sd}|| \geq \Delta \\ \quad \quad \quad \quad \quad \quad \quad \pmb{h}_{dl}:=(\frac{\Delta}{||\pmb{h}_{sd}||})\pmb{h}_{sd} \\ else \\ \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \pmb{h}_{dl}:= \alpha \pmb{h}_{sd} + \beta(\pmb{h}_{gn - \alpha \pmb{h}_{sd}}) \tag{3.20 a} ifhhhgn?Δhhhdl?:=hhhgn?elseifαhhhsd?Δhhhdl?:=(hhhsd?Δ?)hhhsd?elsehhhdl?:=αhhhsd?+β(hhhgn?αhhhsd??)(3.20?a)

其中选择 β β β 的选择需要满足使 ∣ ∣ h d l ∣ ∣ = Δ ||\pmb{h}_{dl}|| = \Delta hhhdl?=Δ

图 3.4 说明了策略中的最后一种情况。

请添加图片描述

Dog Leg 的名称取自高尔夫:“Dog leg” 处的球道形状为从 x \pmb{x} xxx(开球点)通过 a \pmb{a} aaa 的终点到 h d l \pmb{h}_{dl} hhhdl? 的终点(球洞)的线。Powell 是一位热心的高尔夫球手!

使用上面定义的 a \pmb{a} aaa b \pmb{b} bbb,并且 c = a T ( b ? a ) c = \pmb{a}^T(\pmb{b}-\pmb{a}) c=aaaT(bbb?aaa) 我们可以写出
ψ ( β ) = ∣ ∣ a + β ( b ? a ) ∣ ∣ 2 ? Δ 2 = ∣ ∣ b ? a ∣ ∣ 2 β 2 + 2 c β + ∣ ∣ a 2 ∣ ∣ ? Δ 2 \psi(\beta) = ||\pmb{a} + \beta(\pmb{b}-\pmb{a})||^2 - \Delta^2= ||\pmb{b}-\pmb{a}||^2\beta^2 + 2c\beta +||\pmb{a}^2|| - \Delta^2 ψ(β)=aaa+β(bbb?aaa)2?Δ2=bbb?aaa2β2+2cβ+aaa2?Δ2

我们为这个二阶多项式求根,并注意当 β → ? ∞ \beta \to - \infty β? ψ → ∞ \psi \to \infty ψ ψ ( 0 ) = ∣ ∣ a ∣ ∣ 2 ? Δ 2 < 0 \psi(0) = ||\pmb{a}||^2 - \Delta^2 < 0 ψ(0)=aaa2?Δ2<0; ψ ( 1 ) = ∣ ∣ h g n ∣ ∣ 2 ? Δ 2 > 0 \psi(1) = ||\pmb{h}_{gn}||^2 - \Delta^2 > 0 ψ(1)=hhhgn?2?Δ2>0。因此, ψ \psi ψ ] 0 , 1 [ ]0, 1[ ]0,1[ 中有一个负根和一个根。我们寻求后者,其最准确的计算值由下式给出

根据二次函数的形式 ] 0 , 1 [ ]0, 1[ ]0,1[ 应该表示 0 的左边和 0-1 之间,但这个表示方法确实没见过

i f c < 0 β = ( ? c + c 2 + ∣ ∣ b ? a ∣ ∣ 2 ( Δ 2 ? ∣ ∣ a ∣ ∣ 2 ) ) / ∣ ∣ b ? a ∣ ∣ 2 e l s e β = ( Δ 2 ? ∣ ∣ a ∣ ∣ 2 ) / ( c + c 2 + ∣ ∣ b ? a ∣ ∣ 2 ( Δ 2 ? ∣ ∣ a ∣ ∣ 2 ) ) (3.20?b) if \quad c<0 \\ \beta = (-c + \sqrt{c^2 + ||\pmb{b}-\pmb{a}|| ^2 (\Delta^2 - ||\pmb{a}||^2)}) / ||\pmb{b}-\pmb{a}||^2 \\ else \\ \beta = (\Delta ^2 - ||\pmb{a}||^2 )/ (c+ \sqrt{c^2 + ||\pmb{b}-\pmb{a}|| ^2 (\Delta^2 - ||\pmb{a}||^2)}) \tag{3.20 b} ifc<0β=(?c+c2+bbb?aaa2(Δ2?aaa2) ?)/bbb?aaa2elseβ=(Δ2?aaa2)/(c+c2+bbb?aaa2(Δ2?aaa2) ?)(3.20?b)

与 L-M 方法一样,我们可以使用增益比率
? = F ( x ) ? F ( x + h d l ) L ( 0 ) ? L ( h d l ) \wp = \frac{F(x) - F(x+h_{dl})}{L(0) - L(h_{dl})} ?=L(0)?L(hdl?)F(x)?F(x+hdl?)?

来控制迭代。同样, L L L 是线性模型
L ( h ) = 1 2 ∣ ∣ f ( x ) + J ( x ) h ∣ ∣ 2 L(\pmb{h}) = \frac{1}{2} ||\pmb{f}(\pmb{x}) + \pmb{J}(\pmb{x})\pmb{h}||^2 L(hhh)=21?f?f??f(xxx)+JJJ(xxx)hhh2

在 L-M 方法中,我们使用 ? \wp ? 来控制阻尼参数的大小。在这里,我们使用它来控制信赖域的半径 Δ \Delta Δ。较大的 ? \wp ? 值表示线性模型良好。我们可以增加 Δ \Delta Δ 从而使用更长的步长,它们将更接近高斯-牛顿方向。如果 ? \wp ? 很小(甚至可能是负数),那么我们会减小 Δ \Delta Δ,这意味着更小的步长,更接近最陡的下降方向。下面我们总结一下算法。

请添加图片描述

我们有以下说明。

  1. 初始化。 x 0 \pmb{x}_0 xxx0? Δ 0 \Delta_0 Δ0? 应由用户提供。
  2. 我们使用补充了 ∣ ∣ f ( x ) ∣ ∣ ∞ ≤ ? 3 ||\pmb{f}(\pmb{x})||_{\infty} \leq \epsilon_3 f?f??f(xxx)??3? 的停止准则 (3.15),体现了 m = n m = n m=n f ( x ? ) = 0 \pmb{f}(\pmb{x}^*) = 0 f?f??f(xxx?)=0 的情况,即非线性方程组的求解问题。
  3. 如果 m = n m = n m=n,那么 ≈ \approx = = = 代替,参见(3.6),并且我们不使用正规方程(3.18a)对应的迂回策略;见例 3.9
  4. 对应于(3.20a)中的三种情况,我们可以证明
    L ( 0 ) ? L ( h d l ) = { F ( x ) i f h d l = h g n Δ ( 2 ∣ ∣ α g ∣ ∣ ? Δ ) 2 α i f h d l = ? Δ ∣ ∣ g ∣ ∣ g 1 2 α ( 1 ? β ) 2 ∣ ∣ g ∣ ∣ 2 + β ( 2 ? β ) F ( x ) o t h e r w i s e L(\pmb{0}) - L(\pmb{h}_{dl}) = \begin{cases} F(\pmb{x}) \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad if \quad \pmb{h}_{dl} = \pmb{h}_{gn} \\ \frac{\Delta(2||\alpha \pmb{g}|| - \Delta)}{2 \alpha} \quad \quad \quad \quad \quad \quad \quad \quad if \quad \pmb{h}_{dl} = \frac{-\Delta}{||\pmb{g}||} \pmb{g} \\ \frac{1}{2} \alpha (1-\beta)^2 ||\pmb{g}||^2 + \beta(2-\beta) F(\pmb{x}) \quad otherwise\end{cases} L(000)?L(hhhdl?)=??????F(xxx)ifhhhdl?=hhhgn?2αΔ(2αg?g??g?Δ)?ifhhhdl?=g?g??g?Δ?g?g??g21?α(1?β)2g?g??g2+β(2?β)F(xxx)otherwise?
  5. 策略(2.19)用于更新信赖域半径。
  6. 额外的停止标准。如果 Δ ≤ ? 2 ( ∣ ∣ x ∣ ∣ + ? 2 ) \Delta \leq \epsilon_2 (||\pmb{x}|| + \epsilon_2) Δ?2?(xxx+?2?),那么在下一步中肯定会满足(3.15b)。

示例 3.9.

在示例 3.6 中,我们简要讨论了步长 h l m \pmb{h}_{lm} hhhlm? 的计算并认为我们不妨通过正规方程(3.13)来计算它。假设 μ \mu μ 不是非常小,则矩阵的条件相当好,并且不会有舍入误差的过度影响。

Dog Leg 方法也适用于求解非线性方程组,即其中 (3.17) 是如下线性方程组的平方系统
J ( x ) h = ? f ( x ) \pmb{J}(\pmb{x})\pmb{h} = -\pmb{f}(\pmb{x}) JJJ(xxx)hhh=?f?f??f(xxx)

h = h n r \pmb{h} = \pmb{h}_{nr} hhh=hhhnr?,牛顿-拉夫森步长,参见示例 3.2。雅各比矩阵 J \pmb{J} JJJ 可能是病态的(甚至是奇异的),在这种情况下,如果我们使用(3.18a)计算 h g n \pmb{h}_{gn} hhhgn?,则舍入误差往往会主导解。

在 immoptibox 中的 dogleg 实现中,针对这些问题计算了 (3.17) 的解。如果 J ( x ) \pmb{J}(\pmb{x}) JJJ(xxx) 的列不是显著线性独立的,则最小二乘解 h \pmb{h} hhh 不是唯一的,并且 h g n \pmb{h}_{gn} hhhgn? 为具有最小范数的 h \pmb{h} hhh。该计算的一些细节在附录 B 中给出。

示例 3.10.

图 3.5 说明了Dog Leg方法应用于示例 3.2 和 3.8 中的 Powell 问题的性能,起点 x 0 = [ 3 , 1 ] T \pmb{x}_0 = [3, 1]^T xxx0?=[3,1]T Δ 0 = 1 \Delta_0 = 1 Δ0?=1,停止标准由 ? 1 = ? 2 = 1 0 ? 15 \epsilon_1 = \epsilon_2 = 10^{?15} ?1?=?2?=10?15, ? 3 = 1 0 ? 20 \epsilon_3= 10^{?20} ?3?=10?20 k m a x = 100 k_{max} = 100 kmax?=100 给出。

请添加图片描述

由于梯度很小,迭代在 37 步后停止,返回 x = [ ? 2.41 ? 1 0 ? 35 , 1.26 ? 1 0 ? 9 ] T \pmb{x} = [ ?2.41\cdot 10^{?35}, 1.26\cdot 10^{?9} ]^T xxx=[?2.41?10?35,1.26?10?9]T,这是 x ? = 0 \pmb{x}^? = 0 xxx?=0 的一个很好的近似值。如图 3.5 所示最终收敛是线性的(由 J ( x ? ) \pmb{J}(\pmb{x}^*) JJJ(xxx?) 的奇异性引起),但比马尔夸特方法快得多。

示例 3.11.

我们在示例 1.1、3.4 和 3.7 中的数据拟合问题上使用了算法 3.21。与示例 3.7 一样,我们使用起点 x 0 = [ ? 1 , ? 2 , 1 , ? 1 ] T \pmb{x}_0 = [-1, -2, 1, -1]^T xxx0?=[?1,?2,1,?1]T,并取 Δ 0 = 1 \Delta_0 = 1 Δ0?=1 ? 1 = ? 2 = ? 3 = 1 0 ? 8 \epsilon_1 = \epsilon_2 = \epsilon_3 = 10^{-8} ?1?=?2?=?3?=10?8 k m a x = 200 k_{max} = 200 kmax?=200 给出的停止迭代标准。 算法在 x ≈ [ ? 4 , ? 5 , 4 , ? 4 ] T \pmb{x}\approx [?4, ?5, 4, ?4]^T xxx[?4,?5,4,?4]T 对应的的 30 次迭代步骤后停止。性能如下图所示。如图 3.6 所示,我们注意到最终收敛速度非常快。

请添加图片描述

最后两个例子似乎表明 Dog Leg 方法明显优于列文伯格-马尔夸特方法。当最小二乘问题由非线性方程组产生时,这是正确的。 Dog Leg 方法目前被认为是求解非线性方程组的最佳方法。

对于通用最小二乘问题,Dog Leg 方法与 L-M 方法具有相同的缺点:如果 F ( x ? ) ≠ 0 F(\pmb{x}^*) \neq 0 F(xxx?)?=0,则最终收敛可以预期是线性的(并且缓慢的)。对于给定的问题和给定的初始猜测 x 0 \pmb{x}_0 xxx0? 无法事先说这两种方法中的哪一种会更快。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-03 09:23:54  更:2022-05-03 09:24:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:31:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码