数学笔记6——线性近似和二阶近似

线性近似

  假设一般函数上存在点(x0, f(x0)),当x接近基点x0时,可以使用函数在x0点的切线作为函数的近似线。函数f(x)≈f(x0)+f'(x0)(x- x0)即称为函数f在x0点的线性近似或切线近似。

f(x) ≈ f(x0) + f'(x0)(x- x0)

公式来源

  导数的定义:

  左右两边同时乘以x-x0,并去掉极限符号:

 

  在x≈x0=0时

 

几何意义

  线性近似求解的是近似值,其几何意义是在基点的切线近似于原函数的曲线。

  以f(x)=lnx为例,根据公式,在x0=1,lnx≈x-1,曲线和切线如下图所示:

  在x0=1点附近,曲线近似于直线,x越接近x0,二者的近似度越高。在讨论近似时,只有指定基点才有意义。这很容易理解,x越远离x0,曲线和直线的差距越大;同时,当基点不同时,切线的斜率也不同。

常用线性近似

  x0=0  

  以下是上述线性近似的几何意义:

sinx≈x

 

cosx≈1

ex≈x+1

ln(x+1)≈x

(1+x)n≈1+nx,n=2

化繁为简

  例1:ln(1.1) = ?

  这需要计算器了,但实际工作中往往只需要寻找近似值。

  如果设x=0.1,则 ln(1.1) = ln(1+x),当x≈0时,ln(1+x) ≈ x,在此, 我们认为0.1接近于0,ln(1.1) = ln(1+x) ≈ x = 0.1

  0.1是否接近于0,这是个及其主观的判断,要视具体问题而定。某些时候,0.1可能距离0很远,另一些时候,10也可能距离0很近。

 

  例2:在x≈0时,

这不需要计算器,直接将代入x=0即可,结果为1。然而这种方法太过简陋,如果判断x=0.1≈0,就需要一个更精确的结果,不能直接将0代入。

 

  还是使用线性近似的思路,首先需要把式子转换成我们认识的写法:

  当x≈0时,根据公式f(x) ≈ f'(0)(x) + f(0),重点是计算f’(0):

  对这个长长的式子求导非常麻烦,涉及到多个求导法则,我们希望用简单的方式求解。

  对于本例来说,非常幸运,我们已经知道x≈0时 ex≈1+x,xn≈1+nx,代入本例:

  当x≈0时,高阶函数3x2/2≈0,随着x→0,3x2/2更快地趋近于0,所以上式可舍弃高阶函数:

  通过这两个例子可以看出线性近似的作用——化繁为简。等号左侧的式子是繁,比如ln1.1和,通过线性近似将其转化为简单的式子,0.1和1-7x/2

  在转换过程中当然会损失一些精度,但绝大多数时候我们都无需得到精确的解,例如在x=0.0001的时候,原式的计算量相当大,化简后将极大地简化计算,而付出的代价相当少,几乎可以忽略;某些时候甚至根本无法得到精确解,比如无理数的计算。取而代之,我们求得可接受的近似解,通过近似解化繁为简。

  化繁为简的思路也贯穿于整个数学,后续我们将看到,在求解复杂问题时,采取的方法几乎都是不断寻找近似、舍弃。

  在利用计算机寻找最优解时,几个常用的算法是爬山法、模拟退火算法、遗传算法,这些算法都是采用化繁为简的思路,舍弃全局最优解,寻找可以接受的较好解,故每次得到的结果都会稍有偏差。

二阶近似

公式

几何意义

  二阶近似的几何意义是最接近原函数的抛物线,它比线性近似更为精确。

  以f(x)=ln(1+x)为例,根据公式,在x0=0,

  曲线如下:

ln(1+x)≈x-x2/2

  对比线性近似可以看出,二阶近似在基点附近更贴近原函数。

为什么会出现1/2

  为什么会出现1/2呢?

  二级近似的几何意义是最接近曲线的抛物线,如果原曲线本身就是抛物线,则二阶近似就是原曲线本身。

  原函数f(x) = a + bx + cx2

  f’(x) = b + 2cx

  f’’(x) = 2c

  当x = 0时,

  f(0) = a,  f’(0) = b , f’’(0) = 2c

  二阶近似 f(x) ≈ a + bx + 2cx2/2 = a + b + cx2

  这就是出现1/2的原因,当然,仅当f(x) = a + bx + cx2时才能如此精确。

常用二阶近似

  x0=0

   以下是上述线性近似的几何意义:

 

sinx≈x

 

cosx≈1-x2/2

 

ex≈1+x+x2/2

 

ln(1+x)≈x-x2/2

示例

在x≈0时,e-3x(1+x)-1/2=?

根据ex≈1+x+x2/2 和  (1+x)n≈1+nx+n(n-1) x2/2

e-3x(1+x)-1/2≈(1-3x+(-3x/2)2)(1-x/2+(-1/2)(-3/2)x2/2) 

舍弃3阶和4阶函数,e-3x(1+x)-1/2≈1-7x/2+51x2/8

 总结


  作者:我是8位的

  出处:http://www.cnblogs.com/bigmonkey

  本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途! 

 


### 局部二次近似数学定义 局部二次近似是一种通过多项式拟合来逼近函数的方法,在优化问题中广泛应用。其核心思想是在某个点附近用二阶泰勒展开表示目标函数 \( f(x) \),从而简化复杂函数的分析过程。 对于单变量函数 \( f(x) \),假设在某一点 \( x_0 \) 处可导,则可以写成如下形式: \[ f(x) \approx f(x_0) + f'(x_0)(x-x_0) + \frac{1}{2}f''(x_0)(x-x_0)^2 \] 这里,\( f'(x_0) \) \( f''(x_0) \) 分别代表一阶二阶导数[^3]。该表达式的含义是:在 \( x_0 \) 的邻域内,可以用一个抛物线形状的二次函数去近似原函数的行为。 当扩展到多维空间时,设向量 \( \mathbf{x} \in \mathbb{R}^n \),则对应的二次近似为: \[ f(\mathbf{x}) \approx f(\mathbf{x}_0) + (\mathbf{x}-\mathbf{x}_0)^T\nabla f(\mathbf{x}_0)+\frac{1}{2}(\mathbf{x}-\mathbf{x}_0)^TH(\mathbf{x}_0)(\mathbf{x}-\mathbf{x}_0) \] 其中: - \( \nabla f(\mathbf{x}_0) \) 是梯度; - \( H(\mathbf{x}_0) \) 表示黑塞矩阵 (Hessian Matrix)[^4]。 这种技术广泛应用于牛顿法及其变体之中用于求解无约束最优化问题。 ### 算法实现 下面给出基于上述理论的一个简单 Python 实现例子,演示如何计算并应用局部二次近似于特定的一元函数上: ```python import numpy as np def func(x): return x**4 - 3*x**3 + 2 def derivative(f, h=1e-6): """数值微分""" def df_dx(x): return (f(x+h)-f(x-h))/(2*h) return df_dx def second_derivative(f, h=1e-6): """数值二阶微分""" def ddf_dx(x): return (f(x+h) - 2*f(x) + f(x-h)) / (h ** 2) return ddf_dx # 定义初始位置以及步长参数 x_start = 1.5 learning_rate = 0.1 first_deri = derivative(func) second_deri = second_derivative(func) for _ in range(10): # 进行十次迭代更新 grad_val = first_deri(x_start) hesse_val = second_deri(x_start) delta_x = -(grad_val)/hesse_val x_new = x_start + learning_rate * delta_x print("当前x:", round(x_start, 4)) x_start = x_new ``` 此脚本展示了怎样运用有限差分方法估算任意连续可微实值函数的一阶与二阶偏导数,并据此构建局部二次模型指导下一步搜索方向的选择。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是8位的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值