信赖域方法

除了之前讲过的线搜索方法,信赖域方法(trust region)也是数值优化中的一类重要的方法。在信赖域方法中我们需要定义一个信赖域,在这个信赖域中使用替代函数来代替原来的目标函数,通过优化替代函数来优化目标函数。本文和书中一致,采用二次函数来作为替代函数(model function mkm_kmk​)。mkm_kmk​是原函数fff在xkx_kxk​这点处的泰勒级数展开。

f(xk+p)=fk+gkTp+12pT∇2f(xk+tp)pf(x_k+p)=f_k+g^T_kp+\frac{1}{2}p^T \nabla^2f(x_k+tp)p f(xk​+p)=fk​+gkT​p+21​pT∇2f(xk​+tp)pmk(p)=fk+gkTp+12pTBkpm_k(p)=f_k+g^T_kp+\frac{1}{2}p^TB_kp mk​(p)=fk​+gkT​p+21​pTBk​p

信赖域大小调节

既然有了信赖域,我们就需要定义信赖域的大小。我们需要使用一个评判标准来告知信赖域的设定是否合理,我们使用ρk\rho_kρk​来判断。

ρk=f(xk)−f(xk+pk)mk(0)−mk(pk)\rho_k=\frac{f(x_k)-f(x_k+p_k)}{m_k(0)-m_k(p_k)} ρk​=mk​(0)−mk​(pk​)f(xk​)−f(xk​+pk​)​

分子为实际减小量,分母为预测减小量。当两者越接近1说明替代函数的效果越好。当信赖域大小导致不好的时候,需要减小信赖域,信赖域效果很好的时候需要增加信赖域范围。

优化替代函数问题

在信赖域方法中,我们需要对子问题进行求解。

求解这类问题可以求解精确解或者求解近似解。

精确解

当上述的条件符合时,4.8b只有两种可能,λ=0\lambda=0λ=0或者∇−∥p∗∥=0\nabla-\left\| p^*\right\|=0∇−∥p∗∥=0。假设子问题的解在信赖域内,那么只可能是λ=0\lambda=0λ=0。此时我们有Bp∗=−gBp^*=-gBp∗=−g(B是半正定的)。当另一种情况时∇−∥p∗∥=0\nabla-\left\| p^*\right\|=0∇−∥p∗∥=0,可以得到λp∗=−Bp∗−g=−∇m(p∗)\lambda p^*=-Bp^*-g=-\nabla m(p^*)λp∗=−Bp∗−g=−∇m(p∗),此时解的方向和m的负梯度方向是相同的。

近似解

cauchy point:cauthy point 这个点就是mk在最速下降方向上的最小值,同时受到信赖域的约束。

第一个方法是dogleg方法,使用dogleg方法的前提是B必须是正定的。第二个方法是two-dimensional subspace minimization,当B不是正定时也可以使用。

在这里和前面不同的是我们并没有使用泰勒展开中的二次项,而是只展开到了一次项。所以说这是一个近似的解。引进τk\tau_kτk​的目的是为了保证信赖域的约束,并且使得mk(τpks)m_k(\tau p^s_k)mk​(τpks​)在置信域内有最小值。(4.9)问题的解是pkc=−τkΔk∥gk∥gkp^c_k=-\tau_k \frac{\Delta_k}{\left\| g_k \right\|}g_kpkc​=−τk​∥gk​∥Δk​​gk​。我们需要讨论gkTBkgk≤0g^T_k B_k g_k \leq0gkT​Bk​gk​≤0和gkTBkgk>0g^T_k B_k g_k >0gkT​Bk​gk​>0的情况。

τk={1if gkTBkgk≤0min⁡(∥gk∥3/(ΔkgkTBkgk),1)otherwise \tau_{k}= \begin{cases}1 & \text { if } g_{k}^{T} B_{k} g_{k} \leq 0 \\ \min \left(\left\|g_{k}\right\|^{3} /\left(\Delta_{k} g_{k}^{T} B_{k} g_{k}\right), 1\right) & \text { otherwise }\end{cases} τk​={1min(∥gk​∥3/(Δk​gkT​Bk​gk​),1)​ if gkT​Bk​gk​≤0 otherwise ​

初看这个式子可能不太清楚其由来,其实是二次函数求极值的问题的解。当第一种情况时,函数随着τ\tauτ单调递减,为了在信赖域以内,我们能取的最大的τ\tauτ为1。另一种情况时,需要代入τpks\tau p^s_kτpks​到函数中去,求导数令其等于零。,可以解出τ=∥gk∥3ΔkgkTBgk\tau=\frac{\left\| g_k \right\|^3}{\Delta_kg_k^TBg_k}τ=Δk​gkT​Bgk​∥gk​∥3​,当这个值大于了信赖域边界时不能直接取这个值,此时导数恒小于零,函数单调递减,所以τ\tauτ取值为1。

dogleg method

当B是正定的时候,我们可以比较简单的知道,无约束最小化函数值的m为pB=−B−1gp^B=-B^{-1}gpB=−B−1g。当这个点是可达的时候,这是问题的解

p∗(Δ)=pB,whenΔ≥∥pB∥p^*(\Delta)=p^B,\quad when \,\Delta \geq \left\| p^B \right\| p∗(Δ)=pB,whenΔ≥∥∥​pB∥∥​

当Δ\DeltaΔ的值比pBp^BpB小很多的时候,我们忽略二次项,得到一个近似的解

p∗(Δ)≈−Δg∥g∥,whenΔissmallp^*(\Delta)\approx-\Delta\frac{g}{\left\| g \right\|}, \quad when\,\Delta \,is\,small p∗(Δ)≈−Δ∥g∥g​,whenΔissmall

当Δ\DeltaΔ的值属于中等大小的时候,dgoleg方法使用两个路径合起来来寻找近似最优解。

第一条线是从起始点到最速下降方向的最小点。

pU=−gTggTBggp^U=-\frac{g^Tg}{g^TBg}g pU=−gTBggTg​g

第二条是从pUp^UpU到pBp^BpB,我们把总的轨迹用下列公式表示

p~(τ)={τpU0≤τ≤1pU+(τ−1)(pB−pU)1≤τ≤2\begin{equation} \tilde{p}(\tau)= \begin{cases} \tau p^U \quad 0\leq\tau\leq1\\ p^U+(\tau-1)(p^B-p^U)\quad 1\leq\tau\leq2 \end{cases} \nonumber \end{equation} p~​(τ)={τpU0≤τ≤1pU+(τ−1)(pB−pU)1≤τ≤2​​

书中这里讲的不是很详细,我看了一篇博客讲的不错,链接放到文末了。

参考资料

①:Numerical Optimization

②:暴力拆解《Numerical Optimization》之信任域方法(下)——Dogleg(狗腿方法)_xiaopihaierletian的博客-CSDN博客

数值优化-信赖域方法相关推荐

  1. 数值优化 Ch.4 信赖域方法

    目录 信赖域方法 信赖域方法概述 基于柯西点的算法 柯西点 为什么要改良柯西法 狗腿法 二维子空间极小化 全局收敛性 柯西点收益 平稳点的收敛性 子问题的迭代解法 困难的情况 定理4.1的证明 基于近 ...

  2. 最小二乘优化整理(信赖域方法)

    信赖域方法和线搜索类似都是迭代方法,与其不同的是,每次迭代时,在一个选定的可信赖区域内,选择当前迭代点的近似模型 mkmk ,然后计算最优步长:如果步长不合适,可以对区域进行缩放.该小结主要介绍: 信 ...

  3. matlab中信赖域法,第8讲信赖域方法.ppt

    第8讲信赖域方法 3.6 信赖域方法( Trust-Region Methods) * 基本思想 线性搜索与信赖域方法的联系 信赖域方法思想 信赖域半径的选择 信赖域算法 信赖域方法的收敛性 解信赖域 ...

  4. 迭代求解最优化问题——信赖域方法

    信赖域方法 前面提到了Line Search算法分为两步,首先确定方向,然后确定步长,实际上是假设近似模型在某一方向上可以较好的代表真实模型.Trust region算法则在此基础上,假设在一个选定的 ...

  5. 基于Dogleg思想和精确Hessian的信赖域方法及实例(附MATLAB程序)

    关于信赖域方法的完整介绍,请参照博客信赖域方法. 优化问题简介 此处我们简要介绍理论计算: 给定无约束优化问题min⁡x∈Rnf(x),\min\limits_{x\in \mathbb{R}^n}f ...

  6. 最优化理论——信赖域方法

    最优化理论--信赖域方法 算法思想 算法步骤 子问题 算法步骤 代码 示例 原问题代码 示例 算法思想 算法步骤 子问题 算法步骤 代码 function [d,val,lam,k]=trustq(g ...

  7. 信赖域狗腿(dogleg)方法

    信赖域狗腿方法 信赖域方法(Trust-region methods)又称为TR方法,它是一种最优化方法,能够保证最优化方法总体收敛.现今,信赖域算法广泛应用于应用数学.物理.化学.工程学.计算机科学 ...

  8. 数值最优化—无约束问题信赖域算法

    目录 一.参考 二.线性搜索与信赖域算法区别 三.信赖域算法 四.信赖域子问题的求解 1. 精确求解方法 2. 折线方法(Dogleg Method 狗腿法) 一.参考 <数值最优化算法与理论& ...

  9. 【优化算法】信赖域折线(狗腿)法(Trust Region Dogleg Method)

    出发点 刘红英老师的最优化课程需要用到信赖域方法,求解问题并画图,网上找到的中文内容的矩阵实验室(MATLAB)信赖域折线(狗腿)法求解代码,都很繁琐,而且心理感觉不可靠(手动狗头),而且我没心思一点 ...

最新文章

  1. NB-IOT: Anchor Carrier 锚点载波
  2. Xamarin XAML语言教程使用Xamarin Studio创建XAML(二)
  3. 一些来自STL的好东西
  4. C# winform post请求数据
  5. cad在曲线上一点画垂线lisp_【每日问答24】pdf转CAD的第一种方法(内含往期)
  6. 语音识别概念午后大跌 语音识别概念股一览表
  7. windows连接linux共享文件夹,windows访问linux共享文件夹
  8. SQL Server 数据库学习
  9. mysql jemalloc_jemalloc优化MySQL、Nginx内存管理
  10. Minimax博弈算法设计井字棋AI(Golang)
  11. echart曲线图的使用
  12. 人机大战三周年:围棋界发生了哪些巨变?
  13. excel常用快捷键详解
  14. python-LASSO回归模型
  15. php 直接显示缩略图,PHP自动生成缩略图函数的源码示例
  16. 第一章 开启网络安全态势感知的旅程
  17. 2021最新CSGO国服能取回皮肤的国内开箱网站大全
  18. 学板绘的绘画技能提升步骤?
  19. 简单工厂和抽象工厂区别
  20. 【鉴黄师赞美】工夫.av:看到最后我默默地穿上了裤子

热门文章

  1. php 防止爬虫,服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站
  2. 一个专科生学习JAVA目标月薪2万是否不切实际? 1
  3. java基础巩固-宇宙第一AiYWM:为了维持生计,做项目经验之~SSM项目错误集锦Part3(项目蹦+pg数据库坏+100%-->线上故障排查经验【业务bug第一步一定是先看日志,写好日志】)~整起
  4. Python学习日志08 - 字典
  5. poi导出自定义文字水印excel文件
  6. u盘装linux sas,巧用U盘八步安装Linux系统
  7. 80386为32位机
  8. openlayer加载矢量切片
  9. 数据库题目之并发控制
  10. 淘宝抖音美团头条都在用的推荐系统到底是什么呢?