机械学习 数学研究室
CHAPTER 04阅读进度
JUNIOR ML MATH / DERIVATIVE

导数看见变化的方向

机器学习会一点点调整参数。导数像一枚方向指示器:它告诉电脑损失正在上升、下降,还是已经走到平坦的谷底。

平均变化率割线 → 切线多项式求导参数更新实验
LEARNING ROUTE
1一段变化
2缩小间隔
3求出导数
4指导模型
00 / WHY CHANGE MATTERS

机器为什么需要知道“变化有多快”?

知道损失是 20 还不够。电脑更想知道:参数再增加一点,损失会变大还是变小?改变得快不快?这决定下一步往哪边走。

20

只看当前数值

只知道现在损失为 20,却不知道把参数调大以后会发生什么。

−6

再看变化率

导数为 −6,表示参数增加时损失正在下降;它提供了调整方向。

从生活速度,一步走到机器学习训练

路程变化平均速度描述一段路
图像斜率两点连线描述变化
切线导数描述某个位置的变化
损失导数指导模型参数更新
  • 能区分变化量和变化率
  • 能解释割线为什么会靠近切线
  • 能用幂函数规则求简单导数
  • 能根据导数正负判断模型调整方向
01 / AVERAGE RATE

平均变化率:变化了多少 ÷ 经过多少间隔

汽车 3 小时走了 240 千米,平均速度是 80 千米/小时。这里的 80 不是总路程,而是“每 1 小时平均增加多少距离”。

学生进行自行车测速实验:上半部用起点和终点计时得到整段平均速度,下半部用车轮传感器和速度表测量某一时刻的速度
先分清两个问题:上半部的两个计时器夹住一整段路,回答“这段路平均多快”;下半部只圈出车轮经过的一个位置,回答“这一刻有多快”。平均变化率解决前者,导数要继续解决后者。
汽车距离随时间变化,平均变化率等于两点连线斜率
再翻译成坐标图:生活中的整段平均速度,就是坐标图中两个时刻对应点的连线斜率。
平均变化率 = y2−y1 ÷ x2−x1 = Δy / Δx
公式翻译:先计算纵向变化 Δy,再计算横向间隔 Δx,最后用纵向变化除以横向间隔。
> 0正在增加

向右走时,图像总体向上。

= 0没有变化

向右走时,图像保持水平。

< 0正在减少

向右走时,图像总体向下。

Δ
RATE LAB / 两点变化率实验
修改起点和终点,立即观察变化量、间隔与斜率
纵向变化 Δy240
横向间隔 Δx3
平均变化率80
斜率为正:x 每增加 1,y 平均增加 80。
易错:“增加了 240”是变化量;“每小时增加 80”才是变化率。若 x₂=x₁,分母为 0,变化率不能这样计算。
02 / FUNCTION

f(x):把“输入经过规则得到输出”写清楚

函数不是一台神秘机器。它只是一个固定规则:给它一个输入 x,就得到相应输出 f(x)。

输入
x = 2

我们送进规则的数。

规则
f(x)=3x²−5x+1

规定怎样处理输入。

输出
f(2)=3

把 2 代入后得到结果。

x 增加 h 时:平均变化率 = [f(x+h)−f(x)] / h
逐项翻译:原来的输入是 x,新输入是 x+h;输出从 f(x) 变为 f(x+h)。输出变化量除以输入间隔 h,就是这一小段的平均变化率。

a、b、c 可以是固定系数;x 是不断变化的输入。先分清“固定的数”和“正在变化的量”,后面求导才不会弄错。

03 / SECANT TO TANGENT

把间隔 h 缩小:从一段平均变化走向一个位置

两点连线叫割线,它描述一段区间。让第二个点不断靠近第一个点,割线逐渐贴近曲线的切线;切线斜率描述“此刻”的变化。

学生在弧形滑板坡上移动橙色测量点,橙色割线随着两点距离缩小而逐渐靠近黄色固定点处的青色切线
盯住三个颜色:黄色点不动,橙色点一步步靠近它,连接两点的橙线也跟着转动;最后它逼近青色切线的方向。下方三格就是 h 从大到小的连续过程。
第二个点不断靠近固定点,割线逐渐变成切线
把斜坡故事翻译成数学图:h 越小,我们观察的范围越局部;平均变化率就越接近固定点的瞬时变化率。
h
SECANT LAB / 割线逼近实验
函数 f(x)=x²,固定 x=2,拖动 h 让第二个点靠近
QP(2,4)
h 接近 0,不等于直接令 h=0。若直接代入原来的分式,分母会变成 0。我们观察的是 h 越来越小时,整个变化率接近哪个值。
04 / DERIVATIVE

导数:每个位置都配一条“变化方向说明”

函数 f(x) 描述数值本身;导函数 f′(x) 描述每个 x 位置的切线斜率。求出 f′(x) 的过程叫微分。

f′(x) = limh→0 [f(x+h)−f(x)] / h
读成人话:让 h 越来越接近 0,观察平均变化率最终接近什么值。这个值就是 x 位置的切线斜率。
f(x)
原函数

回答“当前位置的数值是多少”。

f′(x)
导函数

回答“每个位置的变化率是多少”。

f′(2)
一个具体数值

回答“x=2 这一点的斜率是多少”。

符号 ′ 读作 prime(撇)。f′(x) 可以读作“f prime x”。另一个常见写法是 dy/dx,本章先使用 f′(x)。

05 / POWER RULE

多项式求导:指数下来乘,指数再减一

理解导数的意义后,计算反而很短。对每一项分别操作即可。

1

指数乘到前面

7x³ → 3×7x³

新系数是 21。

2

指数减去 1

3×7x³ → 21x²

三次项变成二次项。

3

常数项变成 0

10 → 0

常数始终不变,所以变化率为 0。

(a xn)′ = n·a xn−1
例:f(x)=x³−5x+6
(x³)′ = 3x²
(−5x)′ = −5
(6)′ = 0
所以 f′(x)=3x²−5
DERIVATIVE READER / 导数观察器
选择函数,再改变 x,区分导函数和某一点的导数值
f′(x)=6x−5
f′(2)=7
x=2 处斜率为正,函数在这一点附近向右上升。
易错:x=x¹,所以 x′=1;5x 的导数是 5,不是 0。只有完全不含变量的常数项才变成 0。
06 / MACHINE LEARNING

机器学习怎样用导数调整参数?

把模型参数记作 w,把整体错误记作损失 L(w)。导数 L′(w) 告诉我们:w 增大一点时,损失会往哪边变化。

学生旋转参数旋钮,让机器人沿损失山谷移动;橙色箭头指向上坡,青色箭头指向相反的下坡方向,机器人最终到达绿色谷底
把模型想成谷里的机器人:橙色箭头表示导数指出的“损失上升方向”,所以训练要沿相反的青色箭头走;左右两边都会走向绿色谷底,也就是错误最小的位置。
损失山谷中导数正负指示参数向谷底移动
再用符号判断:导数为正就减小参数,导数为负就增大参数。统一写成 w←w−学习率×导数。
参数更新:w = w − 学习率 × L′(w)
为什么减去导数?导数指向函数上升最快的一侧;机器想让损失下降,所以朝相反方向走。学习率决定每一步有多大。
TRAINING STEP / 一维训练实验
损失 L(w)=(w−3)²;最佳参数是 w=3
w
损失 L(w)6.25
导数 L′(w)−5.00

导数为负:应该增大 w。

这是简化的一维例子。真实模型可能有成千上万个参数,会使用偏导数与梯度;但“计算变化方向,再让损失下降”的核心思想相同。
07 / MATH ARCADE

导数游戏厅:先玩出感觉,再说出原因

三个小游戏分别练习“整段与此刻”“割线逼近切线”和“沿导数反方向降低损失”。每次操作都会更新图形、数值和解释。

CHAPTER 04 / PLAY & LEARN

变化方向训练场

完成不等于乱点成功:每局都要用数学关系达到目标。

已完成0 / 3
01

速度侦探

分清整段平均速度和某一刻速度

挑战中
回合 1 / 5得分 0
整段路程240 km
整段时间3 h
此刻速度表65 km/h

这段路的平均速度是多少?

先判断问题范围。“整段”要用路程÷时间;“此刻”直接读速度表。
02

切线摄影师

缩小 h,让橙色割线贴近青色切线

第 1 关
差距 ≤ 1.00差距 ≤ 0.40差距 ≤ 0.12
切线斜率 4.00割线斜率 6.00
当前差距是 2.00。让 h 变小,割线斜率 4+h 才会靠近切线斜率 4。
03

损失山谷机器人

选择步长,并判断应该顺着还是反着导数走

寻找谷底
参数 w0.50
损失 L(w)6.25
导数 L′(w)−5.00

导数为负,导数方向指向左边;训练应走反方向。

目标:让损失小于 0.03。更新后比较新旧损失,亲自验证“减去导数”为什么有效。
玩完要能说出来:平均变化率处理一段区间;h 缩小时割线趋近切线;机器学习沿导数反方向更新参数,是为了让损失变小。
08 / RECAP

把变化率到训练方向连成一条线

平均变化率一段区间的变化
Δy/Δx
缩小 h割线靠近切线
h→0
导数某个位置的斜率
f′(x)
机器学习沿反方向降低损失
w←w−ηL′(w)
09 / CHECK

知识检测:选择后立即诊断

第一次选错会被记录;改对以后仍会提醒你复习曾经暴露的薄弱点。

题目
已作答0
当前答对0
首次薄弱点0
历史最好
1. 汽车 3 小时行驶 240 千米,240 表示什么?
2. 从 (1,2) 到 (4,11) 的平均变化率是多少?
3. 平均变化率为 −2,表示什么?
4. f(3) 表示什么?
5. [f(x+h)−f(x)]/h 中,h 表示什么?
6. 为什么让 h 越来越小?
7. “h→0”最准确的理解是?
8. f′(2) 表示什么?
9. (7x³)′ 等于?
10. (5x+8)′ 等于?
11. 当前损失导数 L′(w)=+4,若想降低损失,通常应怎样小步调整 w?
12. 机器学习训练中使用导数的核心目的是什么?
0 / 100