现在位置: 首页 > AI 数学基础 > 正文

函数与极限 -- 微积分的起跑线

微积分是 AI 训练过程的数学引擎。在学导数之前,先回顾函数概念,再理解「极限」——微积分的核心思想。

什么是极限?

极限描述「当 x 无限接近但不等于某个点时,f(x) 趋近于什么值」。

例如:\( f(x) = \frac{x^2-1}{x-1} \),x=1 时无定义。但当 x 趋近于 1 时,f(x) 趋近于 2。

左极限

x → 1⁻(从左边接近)

f(0.999) → 2

极限

左右极限相等 → 存在

\( \lim_{x\to 1} f(x) = 2 \)

右极限

x → 1⁺(从右边接近)

f(1.001) → 2

连续 = 不断裂

f(x) 在 a 点连续:\( \lim_{x\to a} f(x) = f(a) \)——该点的极限 = 该点的函数值。

大多数损失函数(MSE、交叉熵)都是连续且可导的——这是能用梯度下降优化的前提。


生活例子

瞬时速度

你想知道在第 3 秒那一瞬间的速度。但「一瞬间」时间间隔为 0,位移也为 0,0/0 无意义。

微积分的解法:取越来越短的时间间隔,看平均速度趋近于什么值。这个趋近的值就是瞬时速度——也就是导数。


数学定义

\[ \lim_{x \to a} f(x) = L \]

极限运算法则:和差积商的极限 = 极限的和差积商(分母极限不为 0)。


Python 动手实践

实例

import numpy as np

def f(x):
    return (x**2 - 1) / (x - 1)

print("=== lim_{x->1} (x^2-1)/(x-1) = 2 ===")
# 从左右两边逼近
for delta in [0.1, 0.01, 0.001, 0.0001]:
    print(f"x = {1-delta:.4f}, f(x) = {f(1-delta):.6f}")
    print(f"x = {1+delta:.4f}, f(x) = {f(1+delta):.6f}")
print("→ 无论从哪边逼近,f(x)都趋近于 2")
=== lim_{x->1} (x^2-1)/(x-1) = 2 ===
x = 0.9000, f(x) = 1.900000
x = 1.1000, f(x) = 2.100000
x = 0.9900, f(x) = 1.990000
x = 1.0100, f(x) = 2.010000
→ 无论从哪边逼近,f(x)都趋近于 2

AI 中的应用场景

梯度的定义依赖极限

导数的定义本身是极限:\( f'(x) = \lim_{h \to 0} \frac{f(x+h)-f(x)}{h} \)。反向传播中的梯度计算虽然用了解析求导而非数值极限,但极限的思想是理解「学习率不能太大」的关键——太大的学习率相当于用太大的 h 近似导数。

损失函数的连续性要求

梯度下降要求损失函数几乎处处可导。MSE 和交叉熵都是光滑连续的——这是它们成为标准损失函数的前提。Hinge Loss(SVM 用)在转折点处不可导,需要用次梯度代替。

激活函数的选择

ReLU 在 x=0 处不可导(左右导数不相等),但实践中用次梯度 0 代替,模型仍能正常训练。LeakyReLU 和 GELU 则处处可导,梯度流更平滑。