Ran Wei/数学系列
English
计算机科学与人工智能的数学基础 — Ran Wei

导数、泰勒近似与敏感性

推导局部线性模型,证明微分规则与中值结论,界定泰勒误差,诊断不可导点和浮点分辨率以下的差分估计。

10 小时4 个时段3 个实验12 道练习与 2 道拓展10 道自测题

完成后你能够

  • 区分差商极限和一阶局部近似并证明等价。
  • 在明确域上求幂、指数、对数和三角函数导数。
  • 按假设证明积、商、链和反函数规则。
  • 用罗尔中值定理,区分驻点、局部与全局极值。
  • 构造泰勒多项式并按光滑性给余项界。
  • 区分差分截断、舍入、尺度与不可导失败。

开始之前

模块 15:量化极限、连续、介值最值定理与几何尾部;模块 01 的幂、弧度和函数复合。

目录

学习计划

10 小时

时间包含练习,是估计值;可按需要拆分时段。可选拓展练习额外需要 35 分钟。进度保存在当前浏览器,中英文版本共享。

1

导数是有依据的局部模型

参数变化会改变训练目标。导数在指定点描述一阶变化,既不是某个有限步长的差分,也不保证大幅参数移动仍符合预测。本课联系差商定义与局部线性近似,推导微分规则,写清驻点、泰勒论证的假设,最后检查何时数值导数证据会误导。

检索检查:回忆模块15的极限、连续定义和最值定理,推导几何尾部。回忆模块01的复合、绝对值不等式与弧度。三个实验只用标准库 Python。

2

差商、局部线性与敏感性

实函数在 a 的开邻域有定义时,导数是有限极限

f′(a)=lim⁡h→0f(a+h)−f(a)h.f'(a)=\lim_{h\to0}\frac{f(a+h)-f(a)}{h}.

h排除零、从两侧接近;端点的单侧导数需要另作明确限定。无穷差商极限不是有限导数。f′(a)、Df(a)、在 a 求值的 df/dx在这里表示同一标量。所有导数存在的点构成导函数自己的定义域。

可导等价于一阶局部模型 f(a+h)=f(a)+Dh+r(h),其中 r(h)/h→0。记 r(h)=o(h),也等价于 |r(h)|/|h|→0。有导数时减去线性项即得余项;反过来将模型除以 h即可得导数 D。余项必须相对于步长更小,仅趋零不够;近似不必精确等于函数,也不会自动给任意误差目标一个认证半径。

例题详解
由差商推导三次函数切线

a=2时,(2+h)³−8=12h+6h²+h³,差商12+6h+h²趋12。切线模型8+12h,精确余项6h²+h³。|h|≤.1时余项绝对值≤6.1h²;h=.1时实际增量1.261,切线预测1.2,误差.061恰是余项。局部斜率不等于精确有限增量。

导数单位是输出单位除输入单位。例如米与秒产生米每秒。输入改为 z=cx、c≠0,对 z 的导数是对 x 导数除以 c,所以不能脱离参数单位、目标缩放比较梯度大小。小导数可能是单位、饱和或真实局部不敏感,不自动认证全局优化已完成。

小绝对扰动 Δx的一阶输出变化为 f′(a)Δx。当 a和f(a)都非零,相对敏感性因子为 |a f′(a)/f(a)|,近似将相对输入变化乘此因子得到相对输出变化。零输入尺度或零输出时表达式未定义,应改用绝对主张,不把除零解读为零敏感性。第一导数零也可保留二阶反应,如零处 x²。

例如 f(x)=x²−1、a=1时输出零,相对误差未定义,但 f(1+h)=2h+h²仍提供有效绝对预测及精确余项。|h|≤.1时余项≤.01,对具体 h可紧化为 h²。exp(x)则在非零 a的相对因子为 |a|,绝对导数 exp(a)可能非常大。两类指标回答不同尺度问题,应写明报告采用哪一种。

可导必连续:有限极限的差商在零附近有界,乘 h得 f(a+h)−f(a)→0。连续未必可导:|x|在零右差商一、左差商−1。对称差商对每个非零 h都是零,双侧导数仍不存在。对称抵消能隐藏不一致单侧变化率。

三次函数割线与切线零中心增量图中真实三次增量、斜率十二切线与零点一处斜率十二点六一割线比较,余项为六h平方加h立方。x³ 在 a=2 的局部模型横轴 h;纵轴增量 f(2+h)−f(2)。蓝:真实;绿:12h;橙:h=.1 的割线。
图 16.1

割线依赖非零步长,切线是极限局部直线,三次函数余项解释二者差异。

检验理解

f′(a)=0是否说明邻近输出全相等?一个准确中心差分是否证明可导?o(h)到底要求什么?

查看答案

零处x²否定第一项;中心差分可平均不同单侧斜率,不能证明可导。余项除步长需趋零,仅余项自身趋零更弱。

3

基本导数、定义域与基础极限

正整数 n下二项式恒等式给 (a+h)^n−a^n=na^{n−1}h加上至少含h²的项;除 h取极限得导数 nx^{n−1},包括 a=0。常数直接由差商得零;n=0在零处单独处理,不写含糊的零乘x⁻¹。负整数幂需 x≠0,由下一节倒数规则得公式。正 x的实幂定义为 exp(p ln x),由指数、对数、链法则得 px^{p−1}。非正输入需另定义,不无声扩展正域公式。

exp可以严格由级数Σx^k/k!定义,比值判别给每个固定 x绝对收敛。将两个级数相乘、按总次数组合,二项式恒等式给 exp(x+y)=exp(x)exp(y)。这里无限重组有依据:j+k>N的绝对双尾包含在 j>N/2或k>N/2的并集,界为一个趋零绝对尾乘另一全绝对和,再加反向项。因此对角有限和与矩形有限乘积趋同一值,并非假定有限分配律自动覆盖无限情况。

|h|<1时,1+h后的级数余项≤Σ_{k=2}∞|h|^k=h²/(1−|h|),故(exp(h)−1)/h→1。加法恒等式给[exp(a+h)−exp(a)]/h=exp(a)[exp(h)−1]/h,得到 exp′(a)=exp(a),无需未经证明逐项微分。exp(x)exp(−x)=1排除零,exp(x)=exp(x/2)²证明正性;后面的中值定理及正导数给严格递增。正向增长与倒数关系给正值域,允许定义逆函数 ln,域(0,∞)。

三角导数使用弧度。单位圆几何在0<h<π/2给 sin h<h<tan h,所以 cos h<sin h/h<1;余弦连续和夹逼得到 sin h/h→1,负 h由对称性补足。1−cos h=2sin²(h/2)给(cos h−1)/h→0。用加法公式展开差商得到 sin′x=cos x、cos′x=−sin x。若输入按角度,转换为πx/180,链法则额外贡献π/180,不能沿用弧度公式而漏因子。

下一节反函数规则给 ln′x=1/x、x>0。log_b x=ln x/ln b要求 b>0、b≠1,导数1/(x ln b)。b^x在b>0时导数 b^x ln b。负输入不能因导数公式有值就让 ln 有定义;ln|x|是域x≠0的另一个函数,导数也为1/x。其两个不连通域分量不能用跨零中值论证。

例题详解
先检查定义域再用公式

f(x)=ln(1+x)实域x>−1,导数1/(1+x)。零处斜率一,−.9处斜率十,靠近排除边界绝对敏感性更高。sqrt(x)的内部导数1/(2sqrt(x))只在x>0;零处右差商1/sqrt(h)没有有限极限,不能将内部公式代入边界制造导数。

组合公式时保留各部分定义域交集:商排除分母零,对数排除非正内值,反函数在原导数零处可能失去可导性。简化表达式可能在原域外有值,计算表达式与实际函数约定必须同时保留。

检验理解

角度制sin为何有额外因子?ln′x=1/x是否允许负输入?平方根内部公式能否处理零?

查看答案

角度到弧度换坐标贡献π/180。ln实域为正,ln|x|是另一函数。零处需另做单侧差商分析,无有限导数。

4

积、商、链式与反函数规则

可导 f、g的和由极限和规则得导数相加,固定标量同理。积差商加减 f(a+h)g(a),成为 f(a+h)[g(a+h)−g(a)]/h+g(a)[f(a+h)−f(a)]/h。可导保证 f连续,取极限得(fg)′=fg′+gf′。两个因子都变,所以两条路径都要保留;平方导数为2ff′,不是一份ff′。

g(a)≠0时连续性使其邻近非零。倒数差商为−[g(a+h)−g(a)]/[h g(a+h)g(a)],得(1/g)′=−g′/g²,再配积规则得(f/g)′=(f′g−fg′)/g²。非零条件不仅检查点,还支撑局部域;即使简化式能延拓,也不证明原商在删去点有导数。

链法则(f∘g)′(a)=f′(g(a))g′(a)需要g在a、f在g(a)可导,邻近复合有定义。用局部模型避免非法除内增量:写 Δg=g(a+h)−g(a)=g′(a)h+o(h),外增量=f′(g(a))Δg+Δgη(Δg),其中η(u)→0、设η(0)=0。Δg→0且Δg/h有界,故(Δg/h)η(Δg)→0。内增量可能在非零h时也为零,特别是常数内函数;此证明仍覆盖它。

例题详解
嵌套指数的全部依赖路径

exp(x²)的外导数exp(u)、内导数2x,故一阶2x exp(x²)。再用积和链法则得二阶2exp(x²)+4x²exp(x²)=(2+4x²)exp(x²)。x=.7时一阶约2.285242707938。漏内因子会变为exp(.49),漏二阶积路径则连零处曲率也丢失。

反函数规则假设 f在a附近单射、逆函数在b=f(a)附近连续、f′(a)≠0。y→b时x=f⁻¹(y)→a,单射保证y≠b时x≠a。逆割线(x−a)/(f(x)−f(a))是原割线倒数,极限1/f′(a)。非零导数不可省:x³可逆,但立方根在零没有有限导数。exp的局部单调连续保证逆假设,得到对数公式。

正域实幂现在可以求导 exp(p ln x),得 exp(p ln x)p/x=px^{p−1}。p=0在该正域为零,其他输入可使用单独常数定义。整数幂的直接证明本来覆盖更宽域,不需因选用正域证明表示而删除负输入。规则表达依赖,重复出现的参数需要累计路径,嵌套需要每一链因子;后面矩阵微积分将推广为正确形状的乘积与贡献之和。

检验理解

为何链证明不始终除内增量?f′(a)=0为何破坏逆导数?x exp(x)有哪些导数贡献?

查看答案

非零h的内增量可能零;原割线趋零时其倒数不保证有限极限,如零处立方根。积有exp(x)+x exp(x),每个变化因子贡献一项。

5

中值、驻点与极值

内部点a的局部最小在某邻域内比较,全局最小比较全部域输入,严格版本对不同点用严格不等号。驻点是内部可导且f′(a)=0的点。全局最小可在端点或折点,不必驻点;驻点可最大或非极值。

费马必要条件:可导内部局部极值导数零。最小时正h差商非负,负h差商非正,共同极限须同时非负非正,故零。最大时反向。内部、可导都必要:[0,1]上x在零最小但右导数一,|x|在零最小但不可导。

罗尔定理要求闭区间[a,b]连续、开区间(a,b)可导、a<b、端值相等。最值定理给取得最大最小;常数时所有内部导数零,否则某值异于端值,相应极值位于内部,由费马得某c导数零。这是存在主张,不指出c,也不说明全部斜率零。

从 f减去割线,使端值相等,罗尔给c∈(a,b),满足 f′(c)=[f(b)−f(a)]/(b−a),这就是中值定理,保留相同连续可导假设。若整个区间|f′|≤M,则 |f(b)−f(a)|≤M|b−a|,是比单点斜率更强的有限敏感性界。整个区间导数正给严格递增,处处零给常数。ln|x|不能跨其零域空洞;跳跃也可各侧导数零却整体非常数。使用导数界给数值容差时需检查全部路径。

例题详解
三个不同结果的驻点

零处x²严格最小,−x²严格最大,x³二者都不是,一阶都零。二阶分别2、−2、0,正负判别处理前两者,零无结论。x⁴二阶也零却严格最小,所以“无结论”不能换成“非极值”。

若f′(a)=0且邻近二阶连续,下节二阶泰勒给增量=f″(a)h²/2+o(h²)。正二阶使足够小非零增量正,严格局部最小;负则最大;零需高阶或其他分析。闭区间全局极值应比较全部内部驻点和端点,若函数连续却有不可导点还要纳入它们,不可只解一个f′零点或忽略域。

切线也启发牛顿求根:f′(a)≠0时解近似方程 f(a)+f′(a)h=0,更新a−f(a)/f′(a)。推导公式不证明收敛,也不保证新点留在域内。x²−2从一更新到1.5,残差从−1到.25;微小导数可能给巨大步长,切线可能指向对数域外。实现需另给保障和收敛假设。

若已知区间有根c且整个区间 |f′|≥m>0,中值定理给 |f(x)|=|f′(ξ)||x−c|≥m|x−c|,因此根误差≤|f(x)|/m。只在当前x导数非零不提供此证书;根存在、整段域和下界均必要。

检验理解

导数零足够最小吗?端点最小为何能有非零右导数?单点导数何时能给有限变化界?

查看答案

x³、−x²否定充分性;端点不适用内部双侧论证。需整段导数幅度界及中值假设,才能控制有限变化。

6

泰勒多项式与认证近似误差

关于a的n阶多项式T_n(x)=Σ_{k=0}^n f^{(k)}(a)(x−a)^k/k!,f^{(0)}=f、0!=1。零阶常数、一阶切线、高阶加入曲率等局部信息。这是有限多项式,与无限泰勒级数等于函数是不同主张。所有阶光滑本身不保证无限级数相等,还需余项随阶数消失的证据。

方便的充分条件是f在包含a到x闭线段的开区间上有连续导数至n+1阶。泰勒定理给f(x)−T_n(x)=f^{(n+1)}(ξ)(x−a)^{n+1}/(n+1)!,ξ在不同a、x之间;x=a时余项直接零。若整段|f^{(n+1)}|≤M,则误差≤M|x−a|^{n+1}/(n+1)!。未知ξ不是允许用中心导数替换的理由。

证明用重复罗尔:x≠a时设C=[f(x)−T_n(x)]/(x−a)^{n+1},r(t)=f(t)−T_n(t)−C(t−a)^{n+1}。r(a)=r(x)=0且r′(a)至r^{(n)}(a)均零。罗尔先给内部r′零点,再与a处r′零点一起给更小段r″零点,重复得到r^{(n+1)}(ξ)=0。该阶T_n导数零,故C=f^{(n+1)}(ξ)/(n+1)!。光滑性保障每次罗尔,对两种线段方向都有效。

例题详解
带整段界的对数近似

ln(1+x)在零的T₂=x−x²/2。[0,.2]上f‴(t)=2/(1+t)³幅度≤2,x=.2误差界2(.2)³/6=.002666667。多项式.18,真实约.182321557,误差.002321557在界内。负段[−.2,0]导数界增为2/.8³,不能沿用正侧界。

k≥1时f^{(k)}(a)=(−1)^{k−1}(k−1)!/(1+a)^k、a>−1,所以T_n=ln(1+a)+Σ_{k=1}^n(−1)^{k−1}(x−a)^k/[k(1+a)^k]。用线段最小1+t得到误差≤|x−a|^{n+1}/[(n+1)(1+min(a,x))^{n+1}]。靠近−1可很保守却仍有效。换中心同时改变系数与距离,提高阶数不能修复域外输入。

对数泰勒模型零中心对数真实曲线与零一二阶多项式比较,远离中心时偏差增加,真实域仍为x大于负一。同一中心的不同有限模型蓝 ln(1+x);灰 T₀;绿 T₁;橙 T₂。中心 a=0;真实函数仍要求 x>−1。
图 16.2

常数、切线、二次对数模型同中心,远处不同;每个阶数仍有实际函数定义域边界。

交互演示

选择对数展开中心、阶数和评价点,比较真实值、多项式、数值实际误差与整段拉格朗日界,也可检查域外失败。

exp全部导数还是exp,整段余项≤exp(max(a,x))|x−a|^{n+1}/(n+1)!。固定有限位移时该界随n趋零,因为阶乘分母的相邻项比值最终小于一,认证其全实线泰勒级数。对数有限界可在 |x−a|/(1+min(a,x))<1时认证余项消失,是充分区域,不必最大区域。本课用有限模型与合法界,不未经证明声称完整收敛半径。

泰勒截断与算术误差不同:定理界定真实多项式,计算系数、运算可舍入,高阶可能抵消或大幂放大。Horner可减运算次数,仍不证明任意阶数对任意大段有用。报告近似需写中心、阶数、域、余项假设和算术约定。

检验理解

能始终以a处导数代ξ吗?大上界是否证明大实际误差?任意光滑函数是否等于其无限泰勒级数?

查看答案

不能,需整段导数界。保守上界大不说明实际误差大。光滑不足保证无限相等,还需余项趋零。

7

差分、折点与数值证据

前向[f(a+h)−f(a)]/h与中心[f(a+h)−f(a−h)]/(2h)是非零有限步长估计,不自动等于导数。前向段|f″|≤M₂时一阶泰勒给截断≤M₂|h|/2;对称段|f‴|≤M₃时两侧二阶展开相减,二次项抵消、两个三次余项给中心误差≤M₃h²/6。常见一阶与二阶速率有明确光滑、整段条件。

若每个函数返回值绝对算术误差≤E,中心分子误差≤2E,除2|h|得到E/|h|;前向两独立舍入给2E/|h|。示意中心总界M₃h²/6+E/|h|还需加入输入构造和除法误差。小h减少截断却放大值误差;平衡中心两项产生立方根步长尺度,前向为平方根尺度。这依赖模型,不是适用于全部函数实现的固定常数。

例题详解
极小步长能抹去目标扰动

二进制64位在a=1、h=10⁻¹⁶时可能将a+h舍为a。平方函数前向分子零,估计零,而解析导数二。实际存储正步长零,是输入分辨率失败,不是实数差商极限变化。实验3同时打印名义与实际步长,并用适中中心步长比较。

差分误差权衡示意而非实验拟合的误差模型,步长降低时平方截断项下降、反比舍入项上升,二者和有中间最小。示意误差模型:h² + 10⁻⁸/h10^-510^-410^-310^-210^-110^0横:h 对数;纵:误差对数;绿截断、橙舍入、蓝总和。
图 16.3

截断随步长降低,算术放大随步长缩小而增加,有用区域位于过大和不可分辨之间。

添加巨大常数也能让输出差不可分辨。实数f、f+C导数相同,浮点大相近输出相减可丢变化。实验1给exp(x²)加10¹⁶,使原本有用中心步长估计零。差分不一致不自动证明解析导数错,应检查尺度、实际输入、光滑、函数值计算与多个步长;单点单步一致也不证明全域公式。

不可导点不能用光滑中心界。零处|x|左右斜率−1、一,中心稳定零;ReLU左右零、一,中心稳定.5,都不是双侧导数。库可为反向传播在折点选一个值,这是约定,后面可联系次梯度,却不使经典导数存在。先比较单侧差商与函数定义再解释自动结果。

绝对值与ReLU的单侧斜率绝对值左右斜率负一正一,ReLU左右零一;中心差分分别稳定零和零点五,但都没有双侧导数。中心平均不能证明折点可导|x|ReLU(x)左 −1,右 +1左 0,右 1中心 = 0;不可导中心 = 0.5;不可导
图 16.4

绝对值与ReLU中心估计平均不相同单侧斜率,稳定估计不会消除折点。

标量敏感性问数学输出对输入扰动的反应;泰勒误差问有限局部多项式逼近数学输出的效果;数值导数误差问计算估计如何逼近首先必须存在的导数。陡峭光滑函数可以高敏感而经适当尺度有可靠导数;平坦显示轨迹则可能隐藏舍入或遗漏分支。

为后续优化检查目标时,先写域、找折点和排除边界,在合法位置推导解析局部模型。用可表示且适当尺度的多种步长检查前向、中心行为,有界时比较证书。驻点只是候选,需要曲率或其他分类。有限实验提供具体证据,全称数学证明仍有自己的作用。

检验理解

中心O(h²)需要什么?加常数为何能改变计算估计?ReLU零处.5是否导数?

查看答案

整个对称段的三阶界支持截断结论;巨大偏移能抹掉浮点输出差。ReLU单侧斜率不等,.5只是平均。

8

常见误解

主张 修正
导数是一次有限差商。 有限极限,等价一阶局部模型。
连续总可导。 绝对值有连续折点。
小变化可省链因子。 一阶模型也包含全部依赖。
零导数就是最小。 可最大或驻点拐点。
泰勒余项只用中心导数。 拉格朗日界控制整段。
更小h总更好。 舍入和不可分辨输入可主导。
稳定折点估计制造导数。 对称平均不等于相同单侧极限。
9

三个可复现实验

实验1 · 解析、前向与中心变化率

下载 lab1_difference_quotients.py

"""Compare exact scalar derivatives with two finite-difference formulas."""
import math

def f(x):
    return math.exp(x*x)

x = 0.7
analytic = 2*x*f(x)
print(f"exp(x*x), x={x}, analytic derivative={analytic:.12f}")
print("h          forward          central          forward error     central error")
for h in [1e-1, 1e-2, 1e-4, 1e-6, 1e-8, 1e-10, 1e-12, 1e-16]:
    forward = (f(x+h)-f(x))/h
    central = (f(x+h)-f(x-h))/(2*h)
    print(f"{h:.0e} {forward:16.10f} {central:16.10f} {abs(forward-analytic):16.8e} {abs(central-analytic):16.8e}")
    if h == 1e-4:
        assert abs(central-analytic) < 1e-6
        assert abs(central-analytic) < abs(forward-analytic)

# A constant offset leaves the real derivative unchanged but can make the
# output difference impossible to resolve in binary floating point.
offset = 1e16
shifted = ((offset+f(x+1e-4))-(offset+f(x-1e-4)))/(2e-4)
print("Derivative estimate after adding 1e16:", shifted)
assert shifted == 0.0 and analytic > 2
print("Inspect a range of h; neither smaller steps nor unchanged formulas guarantee accuracy.")
输出
exp(x*x), x=0.7, analytic derivative=2.285242707938
h          forward          central          forward error     central error
1e-01     2.6416465935     2.3157573237   3.56403886e-01   3.05146158e-02
1e-02     2.3178684415     2.2855459031   3.26257336e-02   3.03195156e-04
1e-04     2.2855659369     2.2852427383   3.23228931e-04   3.03171701e-08
1e-06     2.2852459398     2.2852427080   3.23187730e-06   1.80735427e-11
1e-08     2.2852427506     2.2852427173   4.26506377e-08   9.34394695e-09
1e-10     2.2852431059     2.2852431059   3.97922006e-07   3.97922006e-07
1e-12     2.2852830739     2.2852830739   4.03659509e-05   4.03659509e-05
1e-16     2.2204460493     2.2204460493   6.47966587e-02   6.47966587e-02
Derivative estimate after adding 1e16: 0.0
Inspect a range of h; neither smaller steps nor unchanged formulas guarantee accuracy.

先推导exp(x²)导数,比较不同步长误差,找中心速率改善与舍入主导区域,解释偏移实验。断言检查一个有用区间,不宣称所有更小步长更准确。

实验2 · 移动泰勒中心

下载 lab2_taylor_error.py

"""Finite log Taylor polynomials with a theorem-based error certificate."""
import math

def log_taylor(x, centre, order):
    displacement = x-centre
    return math.log1p(centre)+sum(
        (-1)**(k-1)*displacement**k/(k*(1+centre)**k)
        for k in range(1, order+1)
    )

print("ln(1+x): polynomial and Lagrange bound on the centre-to-input interval")
print("centre x     order   actual error      certified bound")
for centre, x in [(0.0, 0.2), (0.0, -0.2), (0.5, 0.7), (0.5, -0.2)]:
    for order in [1, 2, 3, 5]:
        approximation = log_taylor(x, centre, order)
        error = abs(math.log1p(x)-approximation)
        # |f^(n+1)| <= n!/(1+min(centre,x))^(n+1).
        denominator = 1+min(centre, x)
        bound = abs(x-centre)**(order+1)/((order+1)*denominator**(order+1))
        print(f"{centre:4.1f} {x:4.1f} {order:5d} {error:16.8e} {bound:16.8e}")
        assert error <= bound+1e-14

try:
    math.log1p(-1.0)
except ValueError:
    print("x=-1 is outside the real log domain; Taylor formulas do not repair that boundary.")
print("A valid bound may be conservative, especially far from the centre.")
输出
ln(1+x): polynomial and Lagrange bound on the centre-to-input interval
centre x     order   actual error      certified bound
 0.0  0.2     1   1.76784432e-02   2.00000000e-02
 0.0  0.2     2   2.32155679e-03   2.66666667e-03
 0.0  0.2     3   3.45109873e-04   4.00000000e-04
 0.0  0.2     5   9.10987271e-06   1.06666667e-05
 0.0 -0.2     1   2.31435513e-02   3.12500000e-02
 0.0 -0.2     2   3.14355131e-03   5.20833333e-03
 0.0 -0.2     3   4.76884648e-04   9.76562500e-04
 0.0 -0.2     5   1.28846475e-05   4.06901042e-05
 0.5  0.7     1   8.17019038e-03   8.88888889e-03
 0.5  0.7     2   7.18698510e-04   7.90123457e-04
 0.5  0.7     3   7.14249472e-05   7.90123457e-05
 0.5  0.7     5   8.40585089e-07   9.36442615e-07
 0.5 -0.2     1   1.61941993e-01   3.82812500e-01
 0.5 -0.2     2   5.30531039e-02   2.23307292e-01
 0.5 -0.2     3   1.91765607e-02   1.46545410e-01
 0.5 -0.2     5   2.89323555e-03   7.47992198e-02
x=-1 is outside the real log domain; Taylor formulas do not repair that boundary.
A valid bound may be conservative, especially far from the centre.

依据各线段最小1+t重建对数导数界,比较两种符号、两个中心的真实误差和保守界。解释x=−1为何不能通过提高阶数修复。

实验3 · 折点与抹去增量

下载 lab3_kinks_and_rounding.py

"""A symmetric average at a kink and a vanishing input perturbation."""
import math

functions = [("absolute value", abs), ("ReLU", lambda x: max(0.0, x))]
for name, f in functions:
    print(name, "at zero: h, left quotient, right quotient, central estimate")
    for h in [0.1, 0.001, 1e-6]:
        left = (f(-h)-f(0.0))/(-h)
        right = (f(h)-f(0.0))/h
        central = (f(h)-f(-h))/(2*h)
        print(h, left, right, central)
        assert left != right
        assert central == (left+right)/2
print("A stable central estimate at zero does not create a derivative at a kink.")

x, h = 1.0, 1e-16
stored = x+h
forward = (stored*stored-x*x)/h
print("Nominal / actual positive input step:", h, stored-x)
print("Square forward estimate / analytic derivative:", forward, 2*x)
assert stored == x and forward == 0.0
reasonable = 1e-4
central = ((x+reasonable)**2-(x-reasonable)**2)/(2*reasonable)
assert abs(central-2) < 1e-10
print("Square central estimate with h=1e-4:", central)

# Interior stationarity is not sufficient to establish a minimum.
print("Stationary examples at zero: x^2 minimum, -x^2 maximum, x^3 neither.")
assert (-0.1)**3 < 0 < 0.1**3
输出
absolute value at zero: h, left quotient, right quotient, central estimate
0.1 -1.0 1.0 0.0
0.001 -1.0 1.0 0.0
1e-06 -1.0 1.0 0.0
ReLU at zero: h, left quotient, right quotient, central estimate
0.1 -0.0 1.0 0.5
0.001 -0.0 1.0 0.5
1e-06 -0.0 1.0 0.5
A stable central estimate at zero does not create a derivative at a kink.
Nominal / actual positive input step: 1e-16 0.0
Square forward estimate / analytic derivative: 0.0 2.0
Square central estimate with h=1e-4: 1.9999999999992246
Stationary examples at zero: x^2 minimum, -x^2 maximum, x^3 neither.

先预测每个函数零处单侧斜率,再解释稳定平均。检查平方例的真实输入变化,用数学论证分类最后驻点,而非仅看到打印零导数。

10

十四道练习与完整解答

1–12必做,13–14选做额外35分钟,不计入十小时核心安排。

练习 1★★★计算6 分钟

从差商求x²在a=3的导数及精确线性余项。

查看解答

差商[(3+h)²−9]/h=6+h趋六。模型9+6h,余h²,除h趋零;h=.1余.01不是零。

练习 2★★★计算6 分钟

求x²exp(3x)、ln(1+x²)导数并给实域。

查看解答

分别exp(3x)(2x+3x²)、2x/(1+x²)。二者全实域可导,因指数实域且1+x²严格正;第一项保留两积路径与因子三。

练习 3★★★计算6 分钟

求零处exp(x)的T₂,并用[0,.1]导数界界定.1处误差。

查看解答

T₂=1+x+x²/2,值1.105。三阶exp(t)≤exp(.1),误差≤exp(.1)(.1)³/6≈.000184195;真实约.000170186。只用中心exp(0)=1不是整段证书。

练习 4★★★计算6 分钟

分类零处x²、−x²、x³、x⁴,说明二阶能证明什么。

查看解答

分别严格最小、严格最大、非极值、严格最小。二阶2、−2、0、0,前两符号可判别,后两零无结论,直接看增量符号解决。

练习 5★★★proof14 分钟

由差商证明积法则,标明连续性作用。

查看解答

加减f(a+h)g(a),差商成为f(a+h)乘g差商加g(a)乘f差商。可导保证f(a+h)→f(a),两个差商趋对应导数,极限积和规则给fg′+gf′。缺连续步骤则第一变化因子未被控制。

练习 6★★★proof14 分钟

用局部模型证明链法则,覆盖非零h但内增量零。

查看解答

Δg=g′(a)h+o(h),外增量=f′(g(a))Δg+Δgη(Δg),η(u)→0、η(0)=0。除h后主项趋f′g′,余项(Δg/h)η(Δg)中前因子有界、后趋零,故余趋零。无需除Δg,覆盖零内增量。

练习 7★★★proof14 分钟

由两侧泰勒余项推导中心误差M₃h²/6,写条件。

查看解答

假设包含[a−|h|,a+|h|]的开区间上f为C³,三阶幅度≤M₃。各二阶展开余项≤M₃|h|³/6;相减消常数二次项,剩2hf′(a)及≤M₃|h|³/3余项。除2|h|得界。这是精确截断,算术另加。

练习 8★★★application10 分钟

零中心ln(1+x)二阶近似−.2,求界并比较真实值。

查看解答

T₂=−.22,负段三阶界2/.8³=3.90625,误差界.005208333。真实ln(.8)≈−.223143551,误差.003143551;正侧界二不可直接沿用。

练习 9★★★application10 分钟

在[−2,2]找x³−3x全部全局极值,区分驻点与端点。

查看解答

导数3x²−3给−1、1。−2、−1、1、2的值分别−2、2、−2、2。全局最小−2在−2和1,最大2在−1和2。二阶6x分类−1局部最大、1局部最小;端点即使非内部驻点也需比较。

练习 10★★★application10 分钟

sqrt(x)在a=4的绝对一阶敏感性、相对因子是多少?零边界如何?

查看解答

导数1/4,扰动Δx近似给Δx/4。相对因子|4(.25)/2|=.5。零处相对表达未定义,右差商1/sqrt(h)无界,无有限导数,需另作绝对与域限定分析。

练习 11★★★diagnosis10 分钟

中心差分对零处|x|始终零、ReLU始终.5,程序宣称可导。修正。

查看解答

绝对值单侧−1、一,ReLU零、一,不同故双侧导数不存在。中心平均可以恒定却非导数。折点反向值需作为约定报告,不能用光滑泰勒差分界。

练习 12★★★diagnosis10 分钟

平方在一用h=10⁻¹⁶估计零,断言解析二错误。诊断与修复。

查看解答

看实际存储步长,二进制64位可能1+h仍一、分子零,扰动不可分辨而非实导数改变。用多个可表示步长与适当尺度,适中中心步长得约二。分清截断、输入输出算术误差,不从一次数值样本推出全称恒等式。

练习 13★★★extension15 分钟

正h、A、E下最小化示意界Ah²+E/h,解释假设与步长尺度。

查看解答

导数2Ah−E/h²零给h=(E/(2A))^{1/3}。二阶2A+2E/h³>0且两端趋无穷,所以唯一全局最小。模型假设合法中心截断系数、统一绝对值误差并忽略其他误差,不适用于折点或不可分辨输入。A=M₃/6时尺度(3E/M₃)^{1/3},要求M₃>0。

练习 14★★★extension20 分钟

证明区间上可导且导数处处零则常数,给不连通域反例。

查看解答

任两输入a<b,闭段连续、开段可导,中值给f(b)−f(a)=f′(c)(b−a)=0。实线排除零,定义负侧零、正侧一,处处域内导数零却不跨分量常数,因为跨零段不满足定理假设。

11

十题自检

1
a处可导需要什么?
2
哪种余项表达一阶局部模型?
3
exp(x²)导数是什么?
4
局部逆的非零原导数条件允许什么?
5
哪个单独条件识别最小?
6
中值定理需要什么?
7
泰勒余项需要哪种控制?
8
更小差分步长总提高精度吗?
9
零处ReLU中心估计.5是什么?
查看答案

一阶2x exp(x²),二阶(2+4x²)exp(x²)。x>−1下零中心T₂=x−x²/2,−.2处−.22,负段三阶界2/.8³给误差≤.005208333。折点平均、不可分辨小步长、巨大输出偏移抵消都可误导。数值检查仅说明测试输入,不代替域假设或证明。

12

有目标的阅读

阅读一手MIT OpenCourseWare微积分课程的微分、中值和泰勒材料,复习Python3.11官方浮点教程的表示例。规则、定理和余项论证为本课独立推导。

时间 选读与问题
第1次 · 20分钟 导数定义:哪种差商极限、哪些域限定?
第4次 · 20分钟 泰勒与浮点:什么控制截断,什么抹去计算变化?
13

检索结业任务与下一步

推导差商与局部模型等价、积链规则、从罗尔到中值、有限泰勒余项界。分类驻点端点,解释差分权衡与折点失败。

结业任务:ln(1+x)在零斜率一、曲率−1给T₂=x−x²/2。指定x>−1内区间给误差界,解释负侧变化,区分有限认证与未经证明全域无限级数主张。

可以继续:你能推导标量局部模型并写有效性条件。下一模块积分将变化率联系累积量,后续多元微积分推广依赖规则到梯度与计算图。见总览。

14

符号与双语术语

术语或符号 含义 English
f′、差商 有限极限斜率、有限步变化率 Derivative, difference quotient
o(h) 余项除h趋零 Little-o remainder
切线、敏感性 一阶直线、扰动反应 Tangent, sensitivity
积、链、反函数法则 带域假设的依赖规则 Product, chain, inverse rule
驻点、局部、全局 内部零导数、邻近、全部域比较 Stationary, local, global
罗尔、中值 中间斜率的存在性 Rolle, mean value
T_n、拉格朗日余项 有限导数多项式、中间导数误差 Taylor polynomial, remainder
前向、中心差分 单侧、对称有限估计 Forward, central difference
折点、舍入 不可导连接、有限表示误差 Kink, rounding