P2-2.4 为什么 log 与 exp 会反复出现¶
Section ID:
P2-2.4Version:v2026.07.20
把极限重新接上之后,在后面的机器学习与深度学习说明里,仍然还有一些经常卡住读者的记号。像 log、exp、e^x 这样的表达就是代表。它们不是额外的高级数学装饰,而是在说明 数值增长或缩小得有多快、怎样把乘法关系重新读成加法关系、怎样处理像概率一样的分数 时反复会出现的语言。
这里要把对数(logarithm)和指数(exponential)重新接成阅读 逻辑回归(logistic regression)、对数损失(log loss)、softmax 所需的最小计算语言。需要快速回看术语时,也可以一起查看概念词汇表。
核心判断标准:为什么 log 与 exp 会反复出现¶
- 能把
exp(x)读成e的幂。 - 能说明
log(x)是沿着指数反方向读取的函数。 - 能建立这样的直觉:指数描述重复的比率变化,而对数负责把这个比率重新读回来。
- 能说明为什么乘法关系会在对数空间里被重新读成加法关系。
- 能说明为什么对数与指数会在
逻辑回归(logistic regression)、激活函数(activation function)、softmax的说明里反复出现。
先抓住的一个场景¶
在本节里,最先要抓住的是下面这四行。
| 表达 | 现在先这样读 | 后面再次出现的位置 |
|---|---|---|
exp(2) \approx 7.39 | 把分数 2 拉成更大权重的计算 | sigmoid, softmax |
log(exp(2)) = 2 | 把送进指数空间的值重新读回原坐标轴 | logit, log-odds |
0.9 x 0.8 x 0.7 = 0.504 | 直接把概率相乘,数值会很快变小 | likelihood, joint probability |
log(0.9) + log(0.8) + log(0.7) | 把乘法重新读成加法 | log loss, log-likelihood |
也就是说,对数与指数不是另一套数学装饰,而是在从 分数 -> 比率 -> 类似概率的值 -> 损失 过渡时,让计算更容易读懂的语言。
三个基准¶
| 基准 | 为什么重要 | 本节需要的理解水平 |
|---|---|---|
指数是记录重复 同比率 的语言 | 因为它能避免把线性增长和比率增长混在一起。 | 理解 e^x 是在表达增长速度怎样被放大。 |
| 对数是沿着指数反方向读取 | 因为这样可以把 log 看成反着读的函数,而不是把它硬记成新符号。 | 理解 exp 和 log 处在相反方向上。 |
| 对数与指数是后面各 Part 解释分数的语言 | 因为这样能避免损失、概率、softmax 看起来像突然出现的陌生符号。 | 这里只要先抓住它们为什么会反复出现就够了。 |
指数是同一比率的重复变化¶
如果说加法让人更容易看见 是不是在重复加同样的量,那么指数可以理解成让人更容易看见 是不是在按同样的比率重复变大或变小。
这个记号表示以 e 为底(base)的指数函数。这里重要的是,即使 x 只增加一点,数值增长的方式也会以不同于线性(linear)的方式加快。
例如当 x 增加到 1、2、3 时:
x本身每次都线性地增加 1。e^x即使面对同样的 1 的增长,也会以更大的比率变大。
因此,在需要读出 一开始很小的差异,越往后会拉成更大差异的结构 时,指数就会经常出现。
把“每次加同样的量”的变化和“按同样比率增长”的变化放在一起,差异会更清楚。
| 步骤 | 线性增长例子:每次 +10 | 比率增长例子:每次 x1.1 |
|---|---|---|
| 起点 | 100 | 100 |
| 1 步后 | 110 | 110 |
| 2 步后 | 120 | 121 |
| 3 步后 | 130 | 133.1 |
刚开始看时,两种变化好像差不多,但步数一增加,比率增长就会越来越快。指数函数正是这种比率变化的语言。
对数是在反过来读指数¶
对数(log)是在反过来追问:要得到这个值,在指数那一侧到底放进去了什么?
看到这个式子时,可以把它理解成重新读出 到底是哪个指数输入产生了 x。
例如:
exp(2)就是e^2。log(e^2)会重新回到 2。
所以对数和指数,其实是沿着相反方向运动的函数。
| 正向读取 | 反向读取 |
|---|---|
exp(x) | log(x) |
它按多大的比率增长? | 要得到这个值,指数那边原来是多少? |
最短地确认这个直觉的三个值如下。
| 式子 | 读法 |
|---|---|
exp(0) = 1 | 如果指数侧输入是 0,就会回到基准大小 1。 |
log(1) = 0 | 可以把 1 读成指数变化还没施加之前的基准点。 |
log(exp(x)) = x | 对数会把送进指数空间的值重新拉回原坐标轴。 |
为什么乘法一遇到对数就像加法¶
对数之所以常用,是因为它会把计算结构改成更容易阅读的形式。
- 在对数空间里,乘法会像加法一样被读取。
- 在对数空间里,除法会像减法一样被读取。
对初学者来说,关键不是背公式,而是抓住这种直觉:在处理 非常小或非常大的数的乘积 时,对数会让计算不那么不稳定,也让比较更容易。
例如,假设要把三个概率相乘。
如果再加入更多数值,这样的乘积会很快变小。但一旦取对数,乘积就会被重新读成 和。
这样改写后,就能更容易拆开去看多个项各自的贡献。因此在机器学习里,比起直接相乘概率,更常见的是先取对数,再把它读成损失或分数的场景。
这里读者马上要抓住的只有一个问题。
| 现在看到的场景 | 先问自己的问题 |
|---|---|
数值一步一步按 x1.1、x1.2 这样增长 | 这是按同样的量增长,还是按同样的比率增长? |
| 好几个小概率不断相乘 | 它会不会变得太小,以致难以阅读? |
| 想把分数变得像概率一样 | 是不是先用指数把相对权重拉开? |
| 想强烈惩罚错误的概率预测 | 是不是要靠对数更敏感地读出概率差距? |
这个视角在后面的模型说明里尤其重要。
- 在 Part 4 里,读
log loss为什么会那样惩罚概率预测时需要它。 - 在 Part 6 里,追踪
softmax为什么会把多个分数变成像概率一样可读的值时也需要它。
这个计算会再次出现的场景¶
对数与指数并不会在本节里就此结束。这里只是先做最小准备,让它们在下面这些场景里不会突然显得陌生。
| 后面会再次遇到的场景 | 这里先留下的直觉 |
|---|---|
逻辑回归里的 sigmoid | 指数函数可以用来把分数变成 0 到 1 之间的值。 |
| log loss | 对数是一种会更强烈惩罚“错得很自信”的概率的语言。 |
| softmax | 把多个分数重新读成可比较概率的过程中,会用到指数和对数的直觉。 |
因此,本节的核心是:对数与指数不是数学考试题,而是解释分数的语言。
一个很短的计算例子¶
即使是同样的线性分数,也不能立刻把它读成概率。所以后面会出现这样的转换。
- 先计算一个分数(score)。
- 再用指数函数处理这个分数,或者用 log loss 去读取它。
- 然后把结果像概率一样比较,或者把它打包成损失。
例如,如果两个候选的分数是 2 和 1,分数差是 1,但它本身还不是概率。此时如果取指数:
较大的分数就会得到大得多的权重。把这些值再除以它们的总和,就会像 softmax 一样,准备好被读成 可比较的比率。
如果把这个场景再更简短地写成表,就是下面这样。
| 步骤 | 计算 | 读到的是什么 |
|---|---|---|
| 原始分数 | 2, 1 | 还只是简单分数,不是概率 |
| 应用指数 | exp(2) \approx 7.39, exp(1) \approx 2.72 | 给更大的分数更大的权重 |
| 用总和归一化 | 7.39 / (7.39 + 2.72) | 准备变成可比较的比率 |
反过来,如果把“正确概率预测得很好是 0.9”和“严重预测错了是 0.1”这两种情况用对数来读,错误的那一边会受到更大的惩罚。这就是为什么对数损失(log loss)会更强烈地惩罚 错了但又很自信的预测。
按同样的标准去看 -log(p):
正确概率 p | -log(p) 的感觉 |
|---|---|
0.9 | 损失很小 |
0.5 | 损失会更大 |
0.1 | 损失会变得很大 |
所以,对数损失会朝着更强烈惩罚 模型明明很自信却预测错了 的方向工作。
对数与指数,是在分数、概率、损失之间来回移动时,让计算更容易读懂的语言。
检查清单¶
- 能把
exp(x)读成e的幂吗? - 能说明为什么
log(x)是在反过来读指数吗? - 能说出“按同样的量增长”和“按同样的比率增长”的差别吗?
- 能说明为什么把几个相乘的概率取 log 后会更容易读吗?
- 能说明为什么在
softmax和log loss里,对数与指数会再次出现吗? - 能把指数与对数连成
同比率增长、把乘法改读成加法、把分数变成概率与损失的计算来说明吗?
来源与参考资料¶
- Python Software Foundation,
math — Mathematical functions, Python 3 documentation. 因为可以直接确认math.exp和math.log的基本含义,它支撑了本节把指数与对数重新读成计算语言的最低标准。 https://docs.python.org/3/library/math.html / 确认日期: 2026-07-19 - Google for Developers,
Machine Learning Glossary. 因为可以一起确认log loss、softmax、sigmoid这些后续 Part 的关键术语,它构成了继续理解“为什么对数与指数会作为机器学习分数解释语言反复出现”的参考点。 https://developers.google.com/machine-learning/glossary / 确认日期: 2026-07-19 - OpenStax, Calculus Volume 1, 6.8 Exponential Growth and Decay, Rice University, 确认日期:2026-07-19. 这个参考资料支持把指数读成同比率变化的说明。
- OpenStax, Calculus Volume 1, 1.5 Exponential and Logarithmic Functions, Rice University, 确认日期:2026-07-19. 这个参考资料支持对数与指数的反函数关系,以及对数的乘法转加法性质。