有些变化是一次增加固定数量,有些变化是每次乘上固定倍数。前者常用一次函数描述,后者常用指数函数描述。与指数相对应,对数可以把跨越多个数量级的数值压缩到更容易观察和比较的尺度。

在人工智能相关数学基础中,指数和对数非常常见。概率、信息量、损失函数、模型输出、数值稳定性和数据尺度变化,都可能涉及指数与对数。理解它们,不只是为了会计算,更是为了看懂“增长速度”和“尺度变化”。

一、指数与幂

1、乘方与幂

乘方(Exponentiation)表示同一个数反复相乘。

例如:

其中,2 称为底数,3 称为指数,2³ 称为(Power)。

一般地:

这里,a 是底数,n 是指数。

例如:

指数的意义在于,它可以用很短的符号表示快速变大的数量。

2、指数增长

指数增长(Exponential Growth)指的是每一步都按固定倍数增长。

例如,从 1 开始,每次乘以 2:

如果把开始的 1 看作第 0 步,那么第 n 步可以写成:

指数增长的特点是,开始时可能看起来不快,但随着指数变大,增长会迅速加速。

例如:

指数增长的核心是“按倍数变化”:每一步都乘上一个固定倍数,而不是增加一个固定差值。

3、指数衰减

指数衰减(Exponential Decay)指的是每一步都按固定比例减少。

例如,从 1 开始,每次乘以 1/2:

可以写成:

当 n 变大时,这个值会越来越接近 0。

例如:

指数衰减常用来描述逐渐减弱的过程,例如信号衰减、误差下降、权重衰减等。

4、底数对增长速度的影响

在幂:

中,底数 a 会显著影响增长速度。

例如:

当 x > 0 且 a > 1 时,底数 a 越大,aˣ 的值通常越大,图像上升也越快。

再比较:

可以看到,底数只从 2 变为 3,经过多次乘方后,结果差距会明显扩大。

因此,在指数表达中,底数不是简单的附属数字,而是决定增长或衰减速度的关键参数。

二、指数函数

1、指数函数的基本形式

指数函数(Exponential Function)的基本形式是:

其中,a 是底数,x 是自变量。通常要求:

0 \\ a &\ne 1 \end{aligned} $$" helvetica neue", "pingfang sc", "hiragino sans gb", "microsoft yahei ui", yahei", arial, sans-serif;font-size: 16px;line-height: 1.75;max-width: 100%;overflow-x: auto;padding: 0.5em 0px;text-align: center;color: rgb(51, 51, 51);margin-bottom: 0px;margin-top: 0px !important;">

如果 a = 1,则:

函数值始终不变,就不再体现指数变化。

例如:

就是一个典型指数函数。

2、a > 1 时的增长

当 a > 1 时,指数函数表示增长。

例如:

当 x 取不同值时:

随着 x 增大,y 增长得越来越快。

打开网易新闻 查看精彩图片

图 1:指数函数 y = 2ˣ 的增长图像

指数函数的增长速度不是固定的。x 越大,函数值增加得越快,这是指数增长最重要的特征。

3、0 < a < 1 时的衰减

当 0 < a < 1 时,指数函数表示衰减。

例如:

当 x 取不同值时:

随着 x 增大,y 越来越接近 0。

但只要底数大于 0,指数函数的值始终大于 0。也就是说,图像会越来越靠近 x 轴,但不会真正穿过 x 轴。

4、指数函数图像

指数函数图像有几个重要特点。

以:

为例。

当 x = 0 时:

所以图像经过点:

当 x 增大时,图像迅速上升;当 x 减小时,图像逐渐靠近 x 轴。

打开网易新闻 查看精彩图片

图 2:不同底数下指数函数的图像比较

对于 a > 1 的指数函数,在 x > 0 的区域内,底数 a 越大,图像通常上升越快。

指数函数图像能帮助我们直观看到:指数变化的关键不是某一点的值,而是整体增长速度会不断加快。

5、自然指数函数 eˣ

在数学、统计和机器学习中,最常见的指数函数之一是:

其中,e 是自然常数,约等于2.71828

自然指数函数常写作 exp(x):

在机器学习中,exp(x) 经常出现在 Sigmoid、Softmax、概率分布和损失函数中。理解 eˣ 与 ln x 的关系,有助于在后续学习模型输出、概率计算和数值稳定性。

三、对数

1、对数是指数运算的反向表达

对数(Logarithm)可以理解为指数运算的反向表达。

如果:

那么:

意思是,以 a 为底,得到 y 需要多少次幂。

例如:

所以:

再如:

所以:

对数回答的是:“底数需要升到几次方,才能得到这个数?”

2、对数的底数

在:

中,a 称为底数,x 称为真数。通常要求:

0 \\ a &\ne 1 \\ x &> 0 \end{aligned} $$" helvetica neue", "pingfang sc", "hiragino sans gb", "microsoft yahei ui", yahei", arial, sans-serif;font-size: 16px;line-height: 1.75;max-width: 100%;overflow-x: auto;padding: 0.5em 0px;text-align: center;color: rgb(51, 51, 51);margin-bottom: 0px;margin-top: 0px !important;">

真数 x 必须大于 0,这是对数函数的重要限制。

常见的对数包括:

称为常用对数,底数为 10。

称为自然对数,底数为自然常数 e。

在数学、概率、统计和机器学习中,自然对数非常常见。

3、对数函数图像

对数函数的基本形式是:

其中,a > 0 且 a ≠ 1,定义域为 x > 0。

以:

为例。

打开网易新闻 查看精彩图片

图 3:对数函数 y = log₂x 的图像

因为:

所以图像经过点:

因为:

所以图像经过点:

因为:

所以图像经过点:

对数函数增长得很慢。当 x 从 1 增加到 2,输出增加 1;但要再增加 1,x 需要从 2 增加到 4。

4、对数压缩数值范围

对数的一个重要作用,是把跨度很大的数值压缩到较小范围内。

在实际数据中,很多变量并不是只在几十、几百之间变化,而是可能相差成千上万倍。

例如,某些网页一天的访问量可能是 10,另一些网页可能是 1000000。如果直接比较原始数值,大数值会非常突出,小数值则容易被“挤”到不明显的位置。

对这些数取常用对数后,变化会变得更容易观察:

可以看到,原始数值从 10 到 1000000,跨度很大;取对数后,只从 1 变到 6。对数没有消除大小关系,但压缩了极端差距。

打开网易新闻 查看精彩图片

图 4:对数如何压缩大数值范围

这种处理在数据分析和人工智能中很常见。

例如,访问量、收入、文件大小、参数规模、词频、损失值和误差值,都可能跨越很大范围。使用对数后,数据中的层次结构会更容易观察。

需要注意的是,对数压缩不是简单地“把数变小”。它保留的是数量级和倍数关系,让原本被大数值遮盖的中小数值也能被看见。

5、对数尺度与数量级

对数尺度(Logarithmic Scale)是一种按“倍数关系”观察数据的尺度。

在线性尺度中,相同的距离表示相同的差值。

例如,从 0 到 10、从 100 到 110,差值都是 10,因此在线性尺度上表示相同的增加量。

但在很多问题中,我们更关心的不是差了多少,而是扩大了多少倍。

例如,从 10 增加到 100,是扩大 10 倍;从 1000 增加到 10000,也是扩大 10 倍。虽然二者的绝对差值不同,但倍数关系相同。

对数尺度正适合观察这种关系。

以常用对数为例,如果:

那么:

也就是说,原始数值每扩大 10 倍,对数值就增加 1。

这说明,在常用对数尺度下,相同的“10 倍变化”会表现为相同的间隔。它关注的是数量级(Order of Magnitude),而不是普通线性尺度中的绝对差值。

例如,一个数接近:

说明它大约处在“千”这个数量级;一个数接近:

说明它大约处在“百万”这个数量级。

在人工智能相关问题中,数量级意识很重要。概率可能小到 10⁻⁶,数据量可能大到 10⁹,模型参数可能达到 10¹¹。

如果只用普通线性尺度观察,这些数值很难放在同一个视野中比较;使用对数尺度后,不同数量级之间的关系会更加清楚。

因此,对数尺度的核心不是计算某个具体数值,而是改变观察方式:从关注“差多少”,转向关注“差几个数量级”。

四、指数函数与对数函数的关系

1、互为反函数

指数函数和对数函数互为反函数(Inverse Functions)。这两个式子表达的是同一件事,只是观察方向不同。

打开网易新闻 查看精彩图片

图 5:指数与对数的互逆关系

如果:

那么反过来可以写成:

也就是说,指数函数把“指数”变成“结果”,对数函数把“结果”还原成“指数”。

例如:

对应:

2、图像关于 y = x 对称

互为反函数的两个函数,它们的图像关于直线 y = x 对称。

例如:

和:

互为反函数。

打开网易新闻 查看精彩图片

图 6:指数函数与对数函数关于 y = x 对称

这种对称关系表示:指数函数中的输入和输出,在对数函数中交换了位置。

例如,点 (3, 8) 在 y = 2ˣ 上,对应点 (8, 3) 在 y = log₂x 上。

3、快速增长与缓慢增长

指数函数和对数函数的增长速度差异很大。

指数函数:

随着 x 增大,会越来越快地增长。

对数函数:

也会增长,但增长速度越来越慢。

例如:

要让对数值增加 1,输入需要乘以 2。

这说明对数函数适合描述“输入成倍增加,而输出只增加固定量”的尺度变化。

4、尺度变化中的作用

指数和对数分别对应两种相反的尺度转换。

指数可以把较小的输入变化放大成明显的输出变化,常用于描述按倍数增长或按比例衰减的过程。

对数则可以把较大的倍数差异转换成较平缓的数值差异,常用于观察跨数量级的数据。

在很多数学模型中,对数还有一个重要作用:把乘法关系转化为加法关系,使计算和分析更加方便。后续学习概率、信息量、交叉熵、Softmax 和数值稳定性时,这一点会反复出现。

五、常见运算规律

1、幂的运算

幂有一些常用运算规律。

同底数幂相乘:

同底数幂相除:

幂的乘方:

这些规律来自指数表示“重复相乘”的含义。

例如:

2、对数加法公式

对数可以把乘法转化为加法。

如果 a > 0,a ≠ 1,M > 0,N > 0,则:

例如:

而:

所以:

3、对数减法公式

对数也可以把除法转化为减法。

如果 a > 0,a ≠ 1,M > 0,N > 0,则:

例如:

而:

所以结果确实是:

4、对数幂次公式

对数还可以把幂指数提到前面。

如果 a > 0,a ≠ 1,M > 0,则:

例如:

因为:

所以:

5、换底公式

有时我们想计算不同底数的对数,可以使用换底公式。

如果 a > 0,a ≠ 1,b > 0,b ≠ 1,x > 0,则:

常见写法是用自然对数表示:

例如:

换底公式说明,不同底数的对数之间可以相互转换。

六、Python 示例:比较线性、二次、指数与对数增长

1、绘制 x、x²、2ˣ、ln x

下面用 Python 比较几种常见增长方式:

打开网易新闻 查看精彩图片

图 7:线性、二次、指数与对数增长的比较

这段代码可以直观看到:不同函数的增长速度差别很大。

2、比较增长速度

在较小范围内,线性函数、二次函数和指数函数的差异可能不明显。

但随着 x 继续增大,指数函数最终会超过线性函数和二次函数,并且差距会越来越明显。

例如:

而:

当 x 继续增大,指数增长会越来越明显。

这说明判断函数增长速度时,不能只看一两个小范围内的值,还要观察较大范围内的变化趋势。

3、观察对数压缩大数值的效果

下面观察对数如何压缩大数值。

输出结果为:

[1. 2. 3. 4.]

原始数值从 10 增加到 10000,跨度很大;取对数后,变成 1 到 4,范围明显缩小。

这说明取对数可以保留数量级关系,同时压缩大数值范围。

七、常见误解

1、认为指数增长只是“增长快”

指数增长不只是增长快,它的本质是按固定倍数增长。

例如,线性增长可能每次加 2,而指数增长可能每次乘 2。

开始时,二者差距可能不大;但随着步数增加,指数增长会迅速拉开差距。

2、把对数理解成单纯计算技巧

对数当然可以用来计算,但它更重要的作用是改变观察尺度。

它可以把很大的数值范围压缩到较小范围内,也可以把乘法关系转化为加法关系。

因此,对数不只是计算工具,也是一种理解数量级变化的方法。

3、不理解对数底数的意义

对数的底数决定了“按什么倍数理解变化”。

例如:

更适合理解“每翻一倍”的变化。

而:

更适合理解“每增加一个数量级”的变化。不同底数的对数可以通过换底公式转换,但它们表达的观察尺度不同。

4、忽视对数对输入范围的要求

对数函数要求真数大于 0,因此 0 和负数不能直接取对数。

在实际数据处理中,如果数据是非负数,并且可能包含 0,有时会使用:

这样当 x = 0 时,仍然可以计算:

这类处理常用于访问量、计数、频次等非负数据。

在 Python 中,类似计算常写作 np.log1p(x),表示计算 ln(1+x)。

5、忽视尺度变化对数据理解的影响

同一组数据,用原始尺度观察和用对数尺度观察,得到的直觉可能不同。

原始尺度更容易突出绝对差距;对数尺度更容易突出倍数关系和数量级差异。

在数据分析中,选择合适尺度会影响我们对数据分布、增长趋势和异常值的理解。

小结

指数描述按倍数增长或衰减,对数反向表达指数并压缩尺度。理解指数、对数、数量级与对数尺度,有助于看懂增长速度、倍数关系和跨尺度数据变化。

点赞有美意,赞赏是鼓励