微分学(Differential Calculus)

阶段1 · 微积分与分析 · 第8章 | 预计学习时间: 4小时 | 难度: 🟢 基础

📋 前置知识

导数(derivative)是用极限把"瞬时变化率"写出来的方法。它同时是几何的(切线斜率)、物理的(瞬时速度)、信息的(敏感度)、代数的(线性主部)。一旦掌握了这个对象,你就拿到了打开整个现代分析、最优化、机器学习的同一把钥匙。

导数 = 函数在一点的最佳线性近似。把曲线放大到无穷小尺度看,它就是一条直线,那条直线的斜率就是导数。

1. 导数的定义

导数:差商的极限

函数 $f$ 在点 $a$ 处可导,若下列极限存在:

$$f'(a) \;=\; \lim_{h\to 0}\frac{f(a+h) - f(a)}{h} \;=\; \lim_{x\to a}\frac{f(x)-f(a)}{x-a}.$$

分子 $\Delta f = f(a+h)-f(a)$ 是函数变化量、分母 $h$ 是自变量变化量。差商 $\Delta f / h$ 是割线斜率;当 $h\to 0$ 时割线变成切线,斜率就是 $f'(a)$。

等价记法:$\dfrac{df}{dx}\bigg|_{x=a}$、$Df(a)$、$\dot f(a)$(物理)。

可导 ⟹ 连续(反之不真)

若 $f$ 在 $a$ 可导,则 $f$ 在 $a$ 连续。证明:$f(x)-f(a) = \tfrac{f(x)-f(a)}{x-a}\cdot(x-a) \to f'(a)\cdot 0 = 0$。

反例:$|x|$ 在 $0$ 连续但不可导(左斜率 $-1$,右斜率 $+1$,不相等)。"光滑"是比"连续"更高的要求。

图解 1:割线如何变成切线

$\textcolor{5d6d7e}{x}$
$\textcolor{5d6d7e}{y}$
$\textcolor{2c3e50}{y=f(x)}$
$\textcolor{3a7bc8}{P}$
$\textcolor{5d6d7e}{a}$
$\textcolor{999999}{Q_1}$
$\textcolor{5d6d7e}{Q_2}$
$\textcolor{5d6d7e}{Q_3}$
切线 (slope=$\textcolor{e67e22}{f'(a)}$)
$\textcolor{27ae60}{h}$
$\textcolor{27ae60}{\Delta f}$
$\textcolor{2c3e50}{\displaystyle f'(a) = \lim_{h\to 0}\frac{f(a+h)-f(a)}{h}}$ —— 当 $\textcolor{2c3e50}{Q\to P}$,割线 $\textcolor{2c3e50}{\to}$ 切线
$\textcolor{5d6d7e}{Q_1\to Q_2 \to Q_3 \to P}$:割线斜率 $\textcolor{5d6d7e}{\to}$ 切线斜率 $\textcolor{5d6d7e}{f'(a)}$

例 1:用定义算 $f(x)=x^2$ 的导数

$\frac{(a+h)^2-a^2}{h} = \frac{2ah+h^2}{h} = 2a + h \xrightarrow{h\to 0} 2a$。所以 $f'(a)=2a$,即 $(x^2)' = 2x$。

2. 求导法则(Differentiation Rules)

基本法则

  1. 线性:$(\alpha f + \beta g)' = \alpha f' + \beta g'$
  2. 积法则:$(fg)' = f'g + fg'$
  3. 商法则:$\left(\dfrac{f}{g}\right)' = \dfrac{f'g - fg'}{g^2}$($g\neq 0$)
  4. 幂法则:$(x^n)' = n x^{n-1}$(对一切实 $n$)
  5. 指对:$(e^x)' = e^x$、$(\ln x)' = 1/x$
  6. 三角:$(\sin x)' = \cos x$、$(\cos x)' = -\sin x$

例 2:积法则示范

$\dfrac{d}{dx}\big[x^2 \sin x\big] = 2x\sin x + x^2 \cos x$。

3. 链式法则(Chain Rule)

复合函数求导

若 $u = f(x)$ 在 $x$ 可导,$y = g(u)$ 在 $u=f(x)$ 可导,则复合 $y = g(f(x))$ 在 $x$ 可导,且

$$\big(g\circ f\big)'(x) \;=\; g'\!\big(f(x)\big)\cdot f'(x), \qquad \frac{dy}{dx} = \frac{dy}{du}\cdot \frac{du}{dx}.$$

直觉:把 $f$ 看作"自变量到中间量的局部缩放因子 $f'(x)$",$g$ 看作"中间量到因变量的局部缩放因子 $g'(u)$"——两段缩放级联,总缩放就是乘积

图解 2:链式法则 = 局部缩放因子的连乘(齿轮传动)

$\textcolor{3a7bc8}{x}$
输入
$\textcolor{e67e22}{u}$
中间量 $\textcolor{5d6d7e}{u=f(x)}$
$\textcolor{27ae60}{y}$
输出 $\textcolor{5d6d7e}{y=g(u)}$
$\textcolor{3a7bc8}{f}$
$\textcolor{3a7bc8}{g}$
缩放 $\textcolor{e67e22}{f'(x) = \dfrac{du}{dx}}$
缩放 $\textcolor{e67e22}{g'(u) = \dfrac{dy}{du}}$
总缩放 $\textcolor{27ae60}{\dfrac{dy}{dx} = \dfrac{dy}{du}\cdot\dfrac{du}{dx} = g'(f(x))\cdot f'(x)}$
类比:齿轮传动比 = 各齿轮齿数比的乘积

例 3:链式法则实战

计算 $\dfrac{d}{dx}\sin(x^2)$。设 $u=x^2$,$y=\sin u$。$\dfrac{dy}{du} = \cos u$,$\dfrac{du}{dx} = 2x$。所以 $\dfrac{dy}{dx} = \cos(x^2)\cdot 2x$。

多重复合:$\dfrac{d}{dx}e^{\sin(x^2)} = e^{\sin(x^2)} \cdot \cos(x^2)\cdot 2x$ —— 三层链式。

4. 隐函数定理(Implicit Function Theorem)

不是所有曲线都能写成 $y = f(x)$ 的形式。比如圆 $x^2 + y^2 = 1$ 整体不是函数(一个 $x$ 对应两个 $y$)。隐函数定理告诉我们:在哪些点可以"局部"解出 $y$

隐函数定理(一维版本)

设 $F(x,y)$ 在点 $(x_0, y_0)$ 附近连续可微,且 $F(x_0, y_0) = 0$、$\dfrac{\partial F}{\partial y}(x_0, y_0) \neq 0$。则存在 $x_0$ 的邻域与唯一可微函数 $y = \varphi(x)$,使得 $F(x, \varphi(x)) \equiv 0$,并且

$$\varphi'(x) \;=\; -\,\frac{\partial F/\partial x}{\partial F/\partial y}.$$

条件 $F_y \neq 0$ 几何上意味着切线非竖直——只要切线不竖直,邻近的曲线就长得像一个函数图像。

图解 3:圆上的隐函数定理

$\textcolor{5d6d7e}{x}$
$\textcolor{5d6d7e}{y}$
$\textcolor{3a7bc8}{F(x,y)=x^2+y^2-1=0}$
$\textcolor{27ae60}{P}$
局部可解 $\textcolor{27ae60}{y=\varphi(x)}$,$\textcolor{27ae60}{F_y\neq 0}$ ✓
$\textcolor{e74c3c}{Q=(1,0)}$
竖直切线,$\textcolor{e74c3c}{F_y=2y=0}$ ✗
$\textcolor{e74c3c}{Q'=(-1,0)}$
$\textcolor{2c3e50}{\varphi'(x) = -\dfrac{F_x}{F_y} = -\dfrac{2x}{2y} = -\dfrac{x}{y}}$,仅当 $\textcolor{2c3e50}{y\neq 0}$ 有意义

5. 高阶导数与 Taylor 逼近

高阶导数

$f''(x) = (f')'(x)$,$f^{(n)}(x) = (f^{(n-1)})'(x)$。$f''$ 描述变化率的变化率——加速度、曲率、凹凸。

Taylor 公式(带 Peano 余项)

若 $f$ 在 $a$ 附近有 $n$ 阶导数:

$$f(a+h) \;=\; \sum_{k=0}^n \frac{f^{(k)}(a)}{k!} h^k + o(h^n).$$

这是把函数分解为常数项、线性项、二次项 ⋯⋯ 的展开。前两项 $f(a) + f'(a)h$ 就是线性化(切线);加上 $\tfrac{f''(a)}{2}h^2$ 得到二次逼近

例 4:常用展开

6. 极值与凹凸(Extrema & Convexity)

Fermat 一阶必要条件

若 $f$ 在内点 $a$ 取得极值且 $f$ 在 $a$ 可导,则 $f'(a) = 0$。这种点称为临界点(critical point)。

逆不真:$f(x) = x^3$ 有 $f'(0)=0$ 但 $0$ 不是极值。

二阶判别(凹凸)

设 $f'(a)=0$、$f''(a)$ 存在。$f''(a)>0 \Rightarrow$ $a$ 是极小值(曲线凹向上);$f''(a)<0 \Rightarrow$ $a$ 是极大值(凹向下);$f''(a)=0 \Rightarrow$ 不能判定。

更一般地:$f$ 在区间上(convex)⟺ $f'' \ge 0$ ⟺ 任何弦在曲线上方。

例 5:求 $f(x) = x^3 - 3x$ 的极值

$f'(x) = 3x^2 - 3 = 0 \Rightarrow x = \pm 1$。$f''(x) = 6x$,$f''(1)=6>0$(极小,值 $-2$);$f''(-1)=-6<0$(极大,值 $2$)。

现实世界:自动驾驶 = 链式法则 + 梯度下降

偏离车道 → 损失 → 梯度 → 调整方向

把"方向盘角度 $\theta$"作为输入,"轨迹偏差 $u(\theta)$"作为中间量,"行车损失 $L(u)$"作为输出:$L = L(u(\theta))$。

系统持续计算 $\dfrac{dL}{d\theta} = \dfrac{dL}{du}\cdot\dfrac{du}{d\theta}$(链式法则),然后逆梯度方向微调 $\theta$(梯度下降)。这就是从巡航控制到端到端神经驾驶的统一原理——所有"自动调节"系统的灵魂都是导数

7. 练习

练习 1(用定义求导)

用导数定义计算 $f(x)=\sqrt{x}$ 在 $a > 0$ 处的导数。

提示

$\dfrac{\sqrt{a+h}-\sqrt a}{h} = \dfrac{1}{\sqrt{a+h}+\sqrt a}\to \dfrac{1}{2\sqrt a}$。即 $(\sqrt x)' = \tfrac{1}{2\sqrt x}$。

练习 2(链式法则)

求 $\dfrac{d}{dx}\big[\ln(\cos(x^3))\big]$。

提示

三层链式:$\dfrac{1}{\cos(x^3)}\cdot(-\sin(x^3))\cdot 3x^2 = -3x^2\tan(x^3)$。

练习 3(隐函数)

设 $x^3 + y^3 = 6xy$(笛卡尔叶形线)。求点 $(3, 3)$ 处的 $\dfrac{dy}{dx}$。

提示

对方程两端关于 $x$ 求导:$3x^2 + 3y^2 y' = 6y + 6x y'$,解出 $y' = \dfrac{6y - 3x^2}{3y^2 - 6x}$。在 $(3,3)$:$y' = \dfrac{18-27}{27-18} = -1$。

练习 4(Taylor 展开)

写出 $f(x) = \ln(1+x)$ 在 $x=0$ 处的四阶 Taylor 展开式。

提示

$\ln(1+x) = x - \dfrac{x^2}{2} + \dfrac{x^3}{3} - \dfrac{x^4}{4} + o(x^4)$。一般项 $(-1)^{k+1}x^k/k$。

练习 5(优化)

把面积为 $A$ 的矩形周长最小化,求矩形的长宽。

提示

设长 $x$、宽 $A/x$。周长 $P(x) = 2x + 2A/x$。$P'(x) = 2 - 2A/x^2 = 0 \Rightarrow x = \sqrt A$。$P''(\sqrt A) = 4A/x^3 > 0$ ⟹ 极小。正方形给出最小周长。