# Day 5｜导数、偏导与梯度：从变化率到模型训练

函数值描述当前位置，导数描述当前位置附近如何变化。训练模型时，我们既要知道误差有多大，也要知道怎样调整参数才能减小误差。

## 一、导数：局部变化率

### 1. 从平均变化到瞬时变化

$$
f'(x)=\lim_{h\to0}\frac{f(x+h)-f(x)}h.
$$

差商描述一个区间的平均变化率，极限给出一点处的瞬时变化率，几何上就是切线斜率。局部线性近似写作 $f(x+h)\approx f(x)+f'(x)h$。

若 s(t) 表示位移，则速度为 $s'(t)$，加速度为 $s''(t)$；导数的物理含义取决于被求导的量。

### 2. 常见导数与运算法则

常用公式包括 $(x^a)'=ax^{a-1}$、$(e^x)'=e^x$、$(\ln x)'=1/x$、$(\sin x)'=\cos x$、$(\cos x)'=-\sin x$，均在相应定义域内使用。

组合函数遵循：

$$
(u+v)'=u'+v',\quad (uv)'=u'v+uv',\quad
\left(\frac uv\right)'=\frac{u'v-uv'}{v^2}\quad(v\ne0).
$$

这些规则把复杂表达式的求导拆成简单步骤。

### 3. 链式法则与反向传播

若 $y=f(u)$、$u=g(x)$，则：

$$
\frac{dy}{dx}=\frac{dy}{du}\frac{du}{dx}.
$$

多层神经网络由一系列复合运算组成，反向传播利用链式法则沿计算图传递导数，高效求出损失对各参数的梯度。

## 二、多个变量：从偏导到梯度

### 1. 偏导数

求 $\partial f/\partial x_i$ 时，固定其他变量，只观察第 i 个变量的局部影响。对 $f(x,y)=x^2+3y^2$，两项偏导分别为 $2x$ 和 $6y$。

### 2. 梯度与方向导数

$$
\nabla f=(\partial_1f,\ldots,\partial_nf)^T.
$$

可微函数沿单位方向 u 的方向导数为 $\nabla f^Tu$。非零梯度因此指向欧氏意义下局部上升最快的方向，负梯度指向局部下降最快的方向。

**这是局部的一阶判断，不是对任意大步长的下降保证。**

## 三、梯度下降：从公式变成迭代

### 1. 更新规则与学习率

$$
\theta_{t+1}=\theta_t-\eta\nabla L(\theta_t).
$$

计算损失、求梯度、更新参数，再重复。学习率太小可能进展缓慢，太大可能震荡或发散。

### 2. 用二次函数看清收敛

设 $L(x)=(x-3)^2$，则：

$$
x_{t+1}-3=(1-2\eta)(x_t-3).
$$

从非最优点出发，$0<\eta<1$ 时误差会缩小；$\eta=1/2$ 时一步到达最低点。这是特定二次函数的结论，一般问题的合适步长取决于曲率。

### 3. 什么时候停止？

常见标准是梯度范数足够小、相邻损失变化足够小，或达到迭代预算。只看损失变化可能误把学习率太小当成收敛，最好结合多个指标判断。

## 四、驻点、局部最小与全局最小

可微函数在内点取得局部极小值时，梯度为零；反过来却不成立，梯度为零也可能是极大值或鞍点。

凸函数的驻点是全局最小点；非凸模型则可能有多个局部结构。梯度下降能否收敛、收敛到哪里，需要结合光滑性、步长和函数形状分析。

## 五、与下一步的连接：泰勒展开

一阶模型使用梯度，二阶模型进一步使用曲率：

$$
f(x+h)=f(x)+f'(x)h+\frac12f''(x)h^2+o(h^2),
$$

这里假设函数在展开点附近二阶连续可微。梯度下降告诉我们怎么走，二阶信息则帮助理解不同方向上应该走多大一步。
