关于优化公式的小白理解

article/2025/10/8 6:14:49

在这里插入图片描述

1、为什么要将e(x)写成e(x+dx)的形式?
2、J(x)是什么对什么的导数?

理解
1、形式上来说,e(x)和e(x+dx)并没有任何区别,以为dx本身就是小量,只要x+dx还在作用域?内,函数的意思就是一样的。
更土一点的解析,假设定义域是在[-100,100],那么只要x+dx在这个范围内,函数表示的意思就一样。

既然意思一样,为何要写成这个形式?
因为我们接下来要做的是进行迭代优化,迭代优化需要指定一个起点,即这里的e(x+dx)的x在某次迭代中,是固定的,那么e(x+dx)就变成了dx的函数了。
为何要把原本是x的函数变成是dx的函数呢?
迭代的含义是,在每一步都找到最好的变化量。像这个公式,在某次迭代中指定了x,使得e(x+dx)在x=x0附近,这段小范围的曲线(假设e(x)是一个曲线),最低点在哪里?只需要对dx求导就可以得知了。

2、J是谁对谁的?
这里的J是函数e(x)对x的求导。上面说了,迭代会指定一个x=x0,在这里开始处理,找到最优的一个dx,将dx叠加到x上,形成新的x1,再继续。
所以,这个J描述的是在x=x0处,函数e(x)的导数的具体的值,这个具体的值描述了变量随自变量的变化程度,而dx就是自变量的变化程度。
用J也是对e(x)这个函数的线性化的方法,用了这个方法后,可以将e(x+dx)展开成为dx的函数:
e(x+dx)=e(x)+J*dx,因为这里的x是指定的等于x0,J是可以计算的,所以在某次迭代中整个就成为了:e(x0)+J(x0)dx,就是dx的函数。
如果要优化的就是这个e(x0)+J(x0)dx,好像没法开展,所以会有最小二乘,即:
(e(x0)+J
dx) * (e(x0)+J
dx)
这个展开来就是关于dx的二次函数了,对dx求导并令导数为0,即可求出dx的值。

求出的这个dx的值含义是什么?
就是在该次迭代中,指定的x0附近对应的那段曲线,如果x0加上计算出来的dx,就可以得到这一小段曲线的最小值。为什么不是整体的最小值?因为J是对原函数e(x)的线性近似,只有在展开点(某次迭代点x0)处的近似才是相对准确的。当然如果e(x)本身就是线性函数,那也不用这么麻烦了,直接求导就可以知道了。

通过上面逐次迭代,不断的找出一小段曲线的对应的最低点,最终逼近整段曲线的最低点。

如果曲线是多波浪的,初值的取值就非常重要,不然就可能最终停留在非全局最低的地方,这也是为什么用imu来做预估,再用点云匹配的原因。让点云匹配在合适的地方进行。
尤其是对应阶梯,每个阶梯都是一样的,如果没有准确的估计值(估计值离真值差距起码小于半个阶梯),那么就可能错位匹配了。

3、再补充一个问题
对于 f ( x ) = x 2 + 3 x f(x)=x^2 +3x f(x)=x2+3x
怎么找极值?
直接求导。 上面的最小二乘,就是将 e 2 ( x ) e^2(x) e2(x)
通过指定迭代点展开成: e 2 ( x + d x ) e^2(x+dx) e2(x+dx) 指定展开点x0,变成:
e 2 ( x 0 + d x ) e^2(x_0+dx) e2(x0+dx)
得到类似上二次方程的形式,得到x(即dx)。

就是说,在将原问题在某点展开线性化后,就成为了简单的求导求极值计算的问题。

当然,如果就要对 f ( x ) = x 2 + 3 x f(x)=x^2+3x f(x)=x2+3x 利用迭代方式求解,也可以。用梯度方法,不断逼近。
即,同样假设一个初值x0,计算该处的梯度,然后指定一个步长lamda,计算下一个点:
x1=x0-f’(x0)*lamda .
直到满足要求为止。
不过显然,对于这种简单凸函数,简单处理即可。


http://chatgpt.dhexx.cn/article/YPLqw0fH.shtml

相关文章

x 的平方根(牛顿迭代法)

x 的平方根 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。也就是说向下取整. 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根…

025 导数的四则求导法则之u+v、uv、u/v求导

025 导数的四则求导法则之uv及uv u/v求导

幂函数导数公式的推导

1 幂函数的定义域 【引理】 设幂函数 f ( x ) x α ( α ∈ R ) f(x)x^\alpha(\alpha\in R) f(x)xα(α∈R) 的定义域为 D α D_\alpha Dα​,则 (1)当 α 0 \alpha 0 α0, D α { x ∣ x ≠ 0 } D_\alpha\{x|x\neq 0\} Dα…

深度学习代码学习笔记(一)——阶跃函数与激活函数的python代码实现

今天正式开始学习深度学习,看的书是《深度学习入门——基于python的理论与实现》。 感知机使用阶跃函数作为激活函数,而神经网络使用 sigmoid 函数作为激活函数。 下面分别来用代码实现并绘制阶跃函数和激活函数的图形。 一、阶跃函数 阶跃函数以阈值…

TensorFlow2.0自动求导机制(tf.GradientTape的用法)

文章目录 1 使用tf.GradientTape()计算 y x 2 yx^2 yx2的导数2 当使用常量tf.constant时3 对多个数求导时4 使用求导机制进行线性回归的案例 在机器学习中,我们经常需要计算函数的导数,Tensorflow提供了自动求导机制来计算导数。 1 使用tf.GradientTape…

矩阵求导运算

基本公式:Y A * X --> DY/DX AY X * A --> DY/DX AY A * X * B --> DY/DX A * BY A * X * B --> DY/DX B * A 1. 矩阵Y对标量x求导: 相当于每个元素求导数后转置一下,注意MN矩阵求导后变成NM了 Y [y(ij)] --> dY/dx …

autograd-自动求导系统

torch.autograd 权值的更新需要求解梯度,pytorch提供了自动求导系统,我们只需要搭建前向传播计算图,由autograd的方法就可以得到所有张量的梯度。 其中最常用的方法是backward torch.autograd.backward() 功能:自动求取各个节点…

导数与微分 — 高等数学

文章目录 考点一:导数的定义函数在一点处的导数单侧导数(1)左导数(2)右导数 充要条件笔记 考点二:可导与连续的关系知识点笔记 考点三:导数的几何意义知识点切线方程、法线方程笔记 考点四&…

05 指数函数求导

2^x的求导 前面我们探索了一些常见函数的导数,但是指数函数是非常重要的一种类型。 1. 从几何上探索 设t为天数,P(t)为人口数量。离散的图 要想图像连续就得转成质量,所以P(t)换成M(t)。dM/dt就是质量的微小变化率和天数的微小变化量的比例…

23微分方程和exp(At)

预备知识 1.1 一阶线性齐次微分方程的解 d y d x P ( x ) y 0 (1) \frac{dy}{dx}P(x)y0\tag{1} dxdy​P(x)y0(1) 其齐次通解为: y C e − ∫ P ( x ) d x (2) yCe^{-\int P(x)dx}\tag{2} yCe−∫P(x)dx(2) 令 P ( x ) − λ P(x)-\lambda P(x)−λ&#xff0c…

人工智能数学基础:无理数e的由来以及对数、指数函数的求导

一、e的由来 函数(11/x)x在x一>∞时的极限 由于数列{xn}(11/n)n在n一>∞时存在极限。 证明如下: 当将上述极限推广到n为实数x时也成立,因为任意一个实数都能找到一个n和n1,使得x∈[n,n…

x的1/x次方的导数是多少?怎么算?

方法一: 原式化为e的[1/x•ln(x)]次幂,再根据复合函数求导法则求解。 方法二:

c语言x的n次方导数,a的x次方的导数

a的x次方的导数2019-12-07 13:56:28文/董月 指数函数的求导公式:(a^x)(lna)(a^x),实质上,求导就是一个求极限的过程,导数的四则运算法则也来源于极限的四则运算法则。反之,已知导函数也可以倒过来求原来的函数&#xf…

软件流程图及功能节点图

需求分析 根据产品原型图,为了弄清楚产品的业务流程以及确定项目中存在的功能点及其具体规则和要求,绘制出软件流程图以及功能节点图,本文以赞赞羊项目为例。 1.软件流程图:作用是弄清楚项目的业务流程。 流程图符号说明&#xff…

软件工程 -- 程序流程图

1.程序流程图:表示了程序的操作顺序,用于对控制流程的描述 1.1 符号 1.2 三种基本控制结构 1.2.1 顺序结构 1.2.2 分支结构 多分支结构 1.2.3 循环结构

QT案例 使用QGraphicsView和命令模式设计完成流程图功能软件,参考QT官方流程图案例【diagramscene】

之前总结资料时候,看到一个Qt实现流程的专栏,后面就想着参考这个项目和官方的【diagramscene】项目,自己再写一个流程图软件来总结学习下,于是就想到使用QGraphicsView来完成相关功能,再使用命令模式来优化使用过程&am…

软件工程-系统流程图

在软件工程可行性研究中需要建立新系统的高层逻辑模型,这个就需要系统流程图了。 作用 系统流程图时描述物理系统的工具 物理系统 所谓物理系统,就是一个具体实现的系统。 与程序流程图的区别 在系统流程图中某些符号与程序流程图中符号形式相同&#…

软件工程 可行性研究、系统流程图、数据流图。

第二章:可行性研究 1.1研究方案的可行性 (1)技术可行性 (2)操作可行性 (3)经济可行性 1.2系统流程图 系统流程图表达的是系统各部件间的流动情况,不是对信息进行加工处理的控制…

ipadpro画流程图_流程图制作软件,这款软件让你5分钟就能搞定流程图

流程图制作软件,这款软件让你5分钟就能搞定流程图 2019-08-05 16:34:24 3点赞 16收藏 0评论 流程图是用来表示算法、工作流的一种框图图示,其广泛应用于分析、设计和记录等领域。市面上绘制流程图的工具并不多,找到一款适合自己的软件变得尤其…