机器人中的数值优化|【一】数值优化基础

news2024/9/24 9:22:32

数值优化基础

凸集 Convex Sets

凸集的定义

令X是线性空间。如果对于X的子集S中的所有x和y,并且在区间 [0,1]中的所有t,点 ( 1 − t ) x + t y (1-t)x + ty (1t)x+ty也属于S,则S称为凸集。
不失一般性,对于所有的凸集,其线性组合点都位于凸集内部:
∑ θ i x i ∈ X ∑ θ i = 1 , θ i ≥ 0 , ∀ θ i \sum \theta_{i} x_{i} \in X \\ \sum \theta_i = 1, \theta_i \geq 0, \forall \theta_i θixiXθi=1,θi0,θi

凸集的性质

  • 任意凸集之交为凸集。
  • X的子空间为凸集。若S为凸集,则对X中任何x,x+S亦为凸集。
  • 如果除了端点之外的连接x和y的线段上的每个点都在C的内部,则C是严格凸起的。
  • 凸集相加为凸集
    A + B = { x + y ∣ x ∈ A , y ∈ B } A+B=\{x+y \mid x \in A, y \in B\} A+B={x+yxA,yB}
  • 凸集相乘为凸集
    A × B = { x × y ∣ x ∈ A , y ∈ B } A \times B=\{x \times y \mid x \in A, y \in B\} A×B={x×yxA,yB}
  • 凸集相交不为凸集

High-Order Info of Functions

Functions f ( x ) = f ( x 1 , x 2 , x 3 ) f(x)=f\left(x_1, x_2, x_3\right) f(x)=f(x1,x2,x3)

Gradient ∇ f ( x ) = ( ∂ 1 f ( x ) ∂ 2 f ( x ) ∂ 3 f ( x ) ) \nabla f(x)=\left(\begin{array}{l}\partial_1 f(x) \\ \partial_2 f(x) \\ \partial_3 f(x)\end{array}\right) f(x)= 1f(x)2f(x)3f(x)

Hessian ∇ 2 f ( x ) = ( ∂ 1 2 f ( x ) ∂ 1 ∂ 2 f ( x ) ∂ 1 ∂ 3 f ( x ) ∂ 2 ∂ 1 f ( x ) ∂ 2 2 f ( x ) ∂ 2 ∂ 3 f ( x ) ∂ 3 ∂ 1 f ( x ) ∂ 3 ∂ 2 f ( x ) ∂ 3 2 f ( x ) ) \nabla^2 f(x)=\left(\begin{array}{ccc}\partial_1^2 f(x) & \partial_1 \partial_2 f(x) & \partial_1 \partial_3 f(x) \\ \partial_2 \partial_1 f(x) & \partial_2^2 f(x) & \partial_2 \partial_3 f(x) \\ \partial_3 \partial_1 f(x) & \partial_3 \partial_2 f(x) & \partial_3^2 f(x)\end{array}\right) 2f(x)= 12f(x)21f(x)31f(x)12f(x)22f(x)32f(x)13f(x)23f(x)32f(x)

在0点处的近似:泰勒展开
f ( x ) = f ( 0 ) + x T ∇ f ( 0 ) + 1 2 x T ∇ 2 f ( 0 ) x + O ( ∥ x − x 0 ∥ 3 ) \quad f(x)=f(0)+x^T \nabla f(0)+\frac{1}{2} x^T \nabla^2 f(0) x+O\left(\left\|x-x_0\right\|^3\right) f(x)=f(0)+xTf(0)+21xT2f(0)x+O(xx03)
现在拓展概念,设将 f ( x ) f(x) f(x)为维度从n维到m维的映射,即 f ( x ) : R n → R m f(x): \mathbb{R}^n \rightarrow \mathbb{R}^m f(x):RnRm,则有Jacobian矩阵
在这里插入图片描述

矩阵和向量微分规则与表格

在这里插入图片描述

一些有用的性质

d A = 0 d ( α X ) = α ( d X ) d ( A X B ) = A ( d X ) B d ( X + Y ) = d X + d Y d ( X T ) = ( d X ) T d ( X Y ) = ( d X ) Y + X ( d Y ) d < X , Y > = < d X , Y > + < X , d Y > d ( X ϕ ) = ϕ d X − ( d ϕ ) X ϕ 2 d t r X = I d f ( g ( x ) ) = f g d ˙ g ( x ) dA = 0\\ d(\alpha X) = \alpha (dX)\\ d(AXB) = A(dX)B\\ d(X+Y) = dX + dY\\ d(X^T) = (dX)^T\\ d(XY) = (dX)Y + X(dY)\\ d<X,Y> = <dX,Y> + <X,dY>\\ d(\frac{X}{\phi}) = \frac{\phi dX - (d\phi)X}{\phi^2}\\ dtrX = I\\ df(g(x)) = \frac{f}{g} \dot dg(x) dA=0d(αX)=α(dX)d(AXB)=A(dX)Bd(X+Y)=dX+dYd(XT)=(dX)Td(XY)=(dX)Y+X(dY)d<X,Y>=<dX,Y>+<X,dY>d(ϕX)=ϕ2ϕdX(dϕ)XdtrX=Idf(g(x))=gfd˙g(x)
规则可以参考wikipedia网站MATRIX CALCULUS

凸函数的性质 Convex Functions

Jensen不等式

凸函数满足Jensen不等式,如下所示
f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) f(\theta x+(1-\theta) y) \leq \theta f(x)+(1-\theta) f(y) f(θx+(1θ)y)θf(x)+(1θ)f(y)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一阶条件 First-order conditions

f ( y ) ≥ f ( x ) + ∇ f ( x ) T ( y − x ) f(y) \geq f(x)+\nabla f(x)^T(y-x) f(y)f(x)+f(x)T(yx)
∇ f ( x ) T = 0 \nabla f(x)^T=0 f(x)T=0时,有 f ( y ) ≥ f ( x ) f(y) \geq f(x) f(y)f(x)

二阶条件 Second-order conditions

一个光滑函数为凸函数,当且仅当
∇ 2 f ( x ) ⪰ 0 , ∀ x \nabla^2 f(x) \succeq 0, \forall x 2f(x)0,x
即函数的二阶导数半正定
对于非凸函数,局部最小值满足
∇ 2 f ( x ∗ ) ⪰ 0 , \nabla^2 f(x^*) \succeq 0, 2f(x)0,
在这里插入图片描述

强凸性 strong convexity

f ( y ) ≥ f ( x ) + ( y − x ) T ∇ f ( x ) + m 2 ∥ y − x ∥ 2 f(y) \geq f(x)+(y-x)^T \nabla f(x)+\frac{m}{2}\|y-x\|^2 f(y)f(x)+(yx)Tf(x)+2myx2
式中前两部分对所有凸函数适用,第三部分也就是最后一部分为min curvature
f ( x ) f(x) f(x)有Hessian阵时,有
f ( y ) ≈ f ( x ) + ( y − x ) T ∇ f ( x ) + 1 2 ( y − x ) T ∇ 2 f ( x ) ( y − x ) ≥ f ( x ) + ( y − x ) T ∇ f ( x ) + λ min ⁡ 2 ∥ y − x ∥ 2 \begin{aligned} f(y) & \approx f(x)+(y-x)^T \nabla f(x)+\frac{1}{2}(y-x)^T \nabla^2 f(x)(y-x) \\ & \geq f(x)+(y-x)^T \nabla f(x)+\frac{\lambda_{\min }}{2}\|y-x\|^2 \end{aligned} f(y)f(x)+(yx)Tf(x)+21(yx)T2f(x)(yx)f(x)+(yx)Tf(x)+2λminyx2
则有
∇ 2 f ( x ) ⪰ m I \nabla^2 f(x) \succeq m I 2f(x)mI

Lipchitz常数

Lipchitz常数满足
∥ ∇ f ( x ) − ∇ f ( y ) ∥ ≤ M ∥ y − x ∥ \|\nabla f(x)-\nabla f(y)\| \leq M\|y-x\| ∥∇f(x)f(y)Myx
由近似展开可以得到
f ( y ) ≤ f ( x ) + ( y − x ) T ∇ f ( x ) + M 2 ∥ y − x ∥ 2 f(y) \leq f(x)+(y-x)^T \nabla f(x)+\frac{M}{2}\|y-x\|^2 f(y)f(x)+(yx)Tf(x)+2Myx2

f ( y ) − f ( x ⋆ ) ≥ m 2 ∥ y − x ⋆ ∥ 2 f(y)-f\left(x^{\star}\right) \geq \frac{m}{2}\left\|y-x^{\star}\right\|^2 f(y)f(x)2myx2
f ( y ) − f ( x ⋆ ) ≤ M 2 ∥ y − x ⋆ ∥ 2 f(y)-f\left(x^{\star}\right) \leq \frac{M}{2}\left\|y-x^{\star}\right\|^2 f(y)f(x)2Myx2

条件数 condition number

对于任何函数,有 κ = m a j o r a x i s m i n o r a x i s \kappa=\frac{major \quad axis}{minor \quad axis} κ=minoraxismajoraxis
对于光滑函数,有 κ ≈ c o n d ( ∇ 2 f ( x ) ) \kappa \approx cond(\nabla^2f(x)) κcond(2f(x))
对于可微函数,有 κ = M / m \kappa = M/m κ=M/m

Sub-differential

对于不光滑的函数,其导数在一点左右不相等,我们称之为sub differential
在这里插入图片描述

记为 ∂ f ( x ) = { g : f ( y ) > f ( x ) + ( y − x ) T g , ∀ y } \partial f(x)=\left\{g: f(y)>f(x)+(y-x)^T g, \forall y\right\} f(x)={g:f(y)>f(x)+(yx)Tg,y}
在这里插入图片描述

sub-differential的方向不唯一,但是最速下降的方向是负sub-diff中模长最小的方向

单调性Monotonicity

无约束非凸函数优化

min ⁡ f ( x ) x = ( x 1 , . . . , x n ) ∈ R n : o p t i m i z a t i o n v a r i a b l e s f : R n → R : o b j e c t i v e f u n c t i o n \min f(x)\\ x = (x_1,...,x_n) \in \mathbb{R}^n : optimization variables\\ f:\mathbb{R}^n \rightarrow \mathbb{R} : objective function minf(x)x=(x1,...,xn)Rn:optimizationvariablesf:RnR:objectivefunction

线性搜索最速梯度下降 Line-Search Steepest Gradient Descent

在这里插入图片描述

最速梯度下降的迭代形式如下所示
x k + 1 = x k − τ ∇ f ( x k ) x^{k+1}=x^k-\tau \nabla f\left(x^k\right) xk+1=xkτf(xk)
其中 τ \tau τ为步长。
选择步长的方法有多种,如下所示

  • 1.常数 constant step size
    τ = c \tau = c τ=c
  • 2.随着时间减小 diminishing step size
    τ = c / k \tau = c/k τ=c/k
  • 3.精确线性搜索 exact line search
    τ = arg ⁡ min ⁡ α f ( x k + α d ) \tau = \arg \min_{\alpha} f(x^k + \alpha d) τ=argαminf(xk+αd)
  • 4.非精确线性搜索 inexact line search
    τ ∈ { α ∣ f ( x k ) − f ( x k + α d ) ≥ − c ⋅ α d T ∇ f ( x k ) } \tau \in\left\{\alpha \mid f\left(x^k\right)-f\left(x^k+\alpha d\right) \geq-c \cdot \alpha d^{\mathrm{T}} \nabla f\left(x^k\right)\right\} τ{αf(xk)f(xk+αd)cαdTf(xk)}
    其中方法1过于代办,方法2需要满足robbins-monro规则,方法3不具备可行性,方法4需要满足Armijo条件,较为容易满足

Backtracking/Armijo line search

  1. 选择搜索方向: d = − ∇ f ( x k ) d=-\nabla f\left(x^k\right) d=f(xk)
  2. f ( x k + τ d ) > f ( x k ) + c ⋅ τ d T ∇ f ( x k ) f\left(x^k+\tau d\right)>f\left(x^k\right)+c \cdot \tau d^T \nabla f\left(x^k\right) f(xk+τd)>f(xk)+cτdTf(xk)时,重复 τ ← τ / 2 \tau \leftarrow \tau/2 ττ/2
  3. 迭代 x k + 1 = x k + τ d x^{k+1}=x^k+\tau d xk+1=xk+τd

重复直至梯度很小或者sub-diff包含0时。

改进牛顿法 Modified Damped Newton’s Method

根据泰勒二阶展开,有
f ( x ) ≈ f ^ ( x ) = f ( x k ) + ∇ f ( x k ) T ( x − x k ) + 1 2 ( x − x k ) T ∇ 2 f ( x k ) ( x − x k ) f(x) \approx \hat{f}(x) = f(x_k) + \nabla f(x_k)^T(x - x_k) + \frac{1}{2}(x-x_k)^T \nabla^2 f(x_k)(x-x_k) f(x)f^(x)=f(xk)+f(xk)T(xxk)+21(xxk)T2f(xk)(xxk)
最小化二阶近似
∇ f ^ ( x ) = ∇ 2 f ( x k ) ( x − x k ) + ∇ f ( x k ) = 0 \nabla \hat{f}(x) = \nabla^2 f(x_k)(x - x_k) + \nabla f(x_k) = 0 f^(x)=2f(xk)(xxk)+f(xk)=0
得到给定 ∇ 2 f ( x k ) ≻ 0 \nabla^2 f(x_k) \succ 0 2f(xk)0时,有
x = x k − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) x = x_k - [\nabla^2 f(x_k)]^{-1} \nabla f(x_k) x=xk[2f(xk)]1f(xk)
牛顿步骤为
x k + 1 = x k − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) x_{k+1} = x_k - [\nabla^2 f(x_k)]^{-1} \nabla f(x_k) xk+1=xk[2f(xk)]1f(xk)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/137574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Zookeeper详解(二)——API 事件监听

Java API znode是zooKeeper集合的核心组件&#xff0c;zookeeper API提供了一小组方法使用zookeeper集合来操纵znode的所有细节。 客户端应该遵循以下步骤&#xff0c;与zookeeper服务器进行清晰和干净的交互。 连接到zookeeper服务器。zookeeper服务器为客户端分配会话ID。…

uniapp 之 接入小程序客服

目录 前言 小程序客服 代码只需要一步 配置也需要一步​​​​​​​ 前言 小程序客服 因老大 看到别人家有在线客服这个功能&#xff0c;就让我也做一个&#xff0c;这个功能很简单 效果图1 代码只需要一步 <button type"default" open-type"con…

MATLAB | 绘图复刻(六) | 分组环形热图

有粉丝问我Ecology Letters, (2021) 24: 1018–1028 Soil carbon persistence governed by plant input and mineral protection at regional and global scales 这篇文章中的Figure 2咋画&#xff0c;原图长这样&#xff1a; 复刻效果&#xff1a; 完整步骤 0 数据定义 按…

node.js创建网站实例1

1.node.js安装 我的电脑环境&#xff1a;win10 网址&#xff1a;https://nodejs.org/en/ 我下载了18.12.1版本 一路next默认安装&#xff0c;安装完成后&#xff0c;运行cmd&#xff0c;查看版本号 会同时安装npm&#xff0c;也可以同时查看版本号 2.创建第一个网站实例hell…

内卷对于2022是一种无奈,也是一种修行

其实我们谁也不知道2023年对于我们普通的开发人员来说会有什么样的试炼&#xff0c;因为2022年身边有太多的人&#xff0c;为了工作&#xff0c;为了生活&#xff0c;为了家庭&#xff0c;为了理想&#xff0c;不得不选择走向别人看似很卷的那条路。 对于我们周围的人来说&…

【Vim】基本操作及命令集详解

概述 Vim 是从 vi 发展出来的一个文本编辑器。vi 内置在Linux系统中&#xff0c;是vim的简化版编辑器&#xff0c;vim则需要进行安装使用。Vim代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;可以实现高效率移动和高效的输入&#xff0c;在程序员中被广泛使用。…

CPT203-Software Engineering(3)

文章目录9. Software Design9.1 Architecture Design9.1.1 Architectural patterns9.2 Component-level Design9.2.1 Component9.2.2 Views of component9.2.3 Component-level design process9.3 User Interface Design9.3.1 Interface Design Process9.3.2 Interface Design …

蓝桥杯Python练习题16-最大最小公倍数

资源限制   内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述   已知一个正整数N&#xff0c;问从1~N中任选出三个数&#xff0c;他们的最小公倍数最大可以为多少。 输入格式   输入一…

三维数学(一)

视频教程&#xff1a;https://www.bilibili.com/video/BV12s411g7gU?p155 向量 一个数字列表&#xff0c;表示各个维度上的有向位移&#xff1b;同时也是一个有大小有方向的物理量&#xff0c;大小及向量的模长&#xff0c;而方向即空间中向量的指向&#xff0c;可以表示物体…

TikTok Shop 越南站点收入已达Lazada 的 80%

让我们一起来看看今日都有哪些新鲜事吧&#xff01;01 TikTok Shop 越南站点收入已达Lazada 的 80% 据越南电商平台数据分析软件Metric.vn 统计&#xff0c;Shopee、Lazada、Tiki 和 Sendo 仍然主导着越南电子商务市场&#xff0c;1-11 月&#xff0c;共销售了 13 亿件产品。其…

简化开发小技巧-Mybatis-Plus的使用和常用操作

目录 简介 快速使用 pom 代码 mapper service 使用 常用操作 简单或操作查询 多条件或查询 更新字段为null 方法一&#xff0c;如果要更新的字段是String类型&#xff0c; 方法二&#xff0c; 使用mybatis-plus的字段注入。 方法三&#xff0c;使用UpdateWrapper…

基于R的Bilibili视频数据建模及分析——预处理篇

基于R的Bilibili视频数据建模及分析——预处理篇 文章目录基于R的Bilibili视频数据建模及分析——预处理篇0、写在前面1、项目介绍1.1 项目背景1.2 数据来源1.3 数据集展示2、数据预处理2.1 删除空数据2.2 增加id字段2.3 处理数值字段3、参考资料0、写在前面 实验环境 Python版…

Stable Diffusion背后原理(Latent Diffusion Models)

前言 2023年第一篇博客&#xff0c;大家新年好呀~ 这次来关注一下Stable Diffusion背后的原理&#xff0c;即 High-Resolution Image Synthesis with Latent Diffusion Models 这篇论文。 之前关注的那些工作只能工作到 256256256 \times 256256256 像素(resize成这个后才输…

设计模式简介

一、设计模式简介 编写软件过程中&#xff0c;程序员面临着来自耦合性&#xff0c;内聚性 以及可维护性&#xff0c;可扩展性&#xff0c;重用性&#xff0c;灵活性等多方面的挑战&#xff0c;设计模式是为了让程序&#xff08;软件&#xff09;&#xff0c;具有更好的&#xf…

04SpringCloudAlibaba服务注册中心—Consul

目录 Consul简介 Consul是什么What is Consul? | Consul by HashiCorp Consul能做什么 Consul下载&#xff1a;Downloads | Consul by HashiCorp Consul使用&#xff1a;Spring Cloud Consul 中文文档 参考手册 中文版 安装并运行Consul 1、官网安装说明&#xff1a;In…

开发板测试手册——系统启动、文件传送操作步骤详解(1)

目 录 前 言 4 1 评估板快速测试 5 1.1 系统启动测试 5 1.2 文件传送测试 11 1.2.1 通过 Linux 系统启动卡 11 1.2.2 通过 OpenSSH 12 1.3 LED 测试 15 1.4 KEY 测试 15 1.5 DDR 读写测试 16 1.6 SD 卡读写测试 17 1.7 eMMC 读写测试 18 前 言 本指导文档适用开发…

2022 CSDN年度报告已出炉

2022年已过&#xff0c;我们迎来了2023年&#xff0c;那么在2022年&#xff0c;你在CSDN平台都做了些什么&#xff0c;收获了什么呢&#xff1f;2022 CSDN年度报告已出炉&#xff0c;来看看你的2022年度报告吧。 点此查看2022年度报告 或扫码查看你的2022 CSDN年度报告哦&…

23种设计模式(三)——策略模式【组件协作】

文章目录意图什么时候使用策略真实世界类比策略模式的实现策略模式的优缺点亦称&#xff1a;Strategy 意图 定义了一组策略&#xff0c;分别在不同类中封装起来&#xff0c;每种策略都可以根据当前场景相互替换&#xff0c;从而使策略的变化可以独立于操作者。比如我们要去某个…

Type-challenges: tuple to object / union

type-challenges/README.zh-CN.md at main type-challenges/type-challenges GitHub https://github.com/TIMPICKLE/type-challenges/blob/main/questions/00010-medium-tuple-to-union/README.zh-CN.md lets do it , mate! 首先概念澄清&#xff1a; JS&#xff1a; con…

TKE 注册节点,IDC 轻量云原生上云的最佳路径

林顺利&#xff0c;腾讯云原生产品经理&#xff0c;负责分布式云产品迭代和注册节点客户扩展&#xff0c;专注于云原生混合云新形态的推广实践。 背景 企业在持续业务运维过程中&#xff0c;感受到腾讯云 TKE 带来的便捷性和极致的使用体验&#xff0c;将新业务的发布以及老业…