积分学¶
积分学在区间上累积量,将局部变化率还原为总量。本文涵盖定积分与不定积分、微积分基本定理、积分技巧,以及在机器学习中与概率密度和期望值的应用。
-
微分告诉我们单个点的变化率。积分则相反:它将许多微小片段累积起来,计算出一个总量。
-
如果导数回答的是"多快?",那么积分回答的是"多少?"
-
理解积分最简单的方式是将其视为曲线下的面积。如果绘制出函数 \(f(x)\) 的图像,并将从 \(x = a\) 到 \(x = b\) 之间曲线与 x 轴之间的区域涂上阴影,积分给出的就是该区域的有符号面积。
-
为什么是"有符号"的?在 x 轴上方的区域贡献正面积,在下方的区域贡献负面积。这在物理上是有意义的:如果 \(f(x)\) 代表速度,积分给出的是净位移(正向减去反向),而不是总路程。
-
为了计算这个面积,想象将区域切成 \(n\) 个细长的竖直矩形,每个矩形的宽度为 \(\Delta x\)。每个矩形的高度是该切片内某一点的函数值。将它们求和:
- 当我们让矩形越来越薄时(\(n \to \infty\),\(\Delta x \to 0\)),这个和就变得精确。这个极限过程定义了定积分:
-
\(\int\) 符号是拉长的"S",代表"求和"(Sum)。\(dx\) 提醒我们,我们是在沿 x 轴方向对无穷薄的切片求和。
-
不定积分(或原函数)是一个函数 \(F(x)\),其导数为 \(f(x)\)。我们写作:
-
\(+ C\) 是积分常数。因为任何常数的导数都是零,所以存在无穷多个仅相差一个常数的原函数。例如,\(\int 2x\, dx = x^2 + C\),因为 \(x^2 + 7\) 或 \(x^2 - 3\) 的导数仍然是 \(2x\)。
-
微积分基本定理是连接微分与积分的桥梁。它包含两部分:
-
第一部分:如果 \(F(x)\) 是 \(f(x)\) 的一个原函数,那么定积分等于 \(F\) 在端点处的值之差:
-
这非常实用。我们不再需要计算一个和的极限(这很困难),而是找到一个原函数并在两点处求值(这通常很简单)。
-
第二部分:如果我们定义 \(F(x) = \int_a^x f(t)\, dt\),那么 \(F'(x) = f(x)\)。微分与积分是互逆运算,它们相互抵消。
-
例如,计算 \(\int_1^3 x^2\, dx\):\(x^2\) 的原函数是 \(\frac{x^3}{3}\)。所以 \(\int_1^3 x^2\, dx = \frac{27}{3} - \frac{1}{3} = \frac{26}{3} \approx 8.67\)。
-
正如微分有运算法则一样,积分也有相应的逆向运算法则:
| 函数 | 积分 | 条件 |
|---|---|---|
| \(x^n\) | \(\frac{x^{n+1}}{n+1} + C\) | \(n \neq -1\) |
| \(\frac{1}{x}\) | \(\ln\|x\| + C\) | |
| \(e^x\) | \(e^x + C\) | |
| \(a^x\) | \(\frac{a^x}{\ln a} + C\) | |
| \(\sin x\) | \(-\cos x + C\) | |
| \(\cos x\) | \(\sin x + C\) | |
| \(k\)(常数) | \(kx + C\) |
-
和/差法则同样适用:\(\int [f(x) \pm g(x)]\, dx = \int f(x)\, dx \pm \int g(x)\, dx\)。常数可以提出来:\(\int k\, f(x)\, dx = k \int f(x)\, dx\)。
-
当一个函数太复杂而无法直接积分时,我们有简化它的技巧。
-
换元积分法(u 代换)是链式法则的逆过程。如果发现一个复合函数 \(f(g(x))\) 乘以 \(g'(x)\),则令 \(u = g(x)\),于是 \(du = g'(x)\, dx\),积分得以简化。
-
例如:\(\int 2x \cos(x^2)\, dx\)。令 \(u = x^2\),则 \(du = 2x\, dx\)。积分变为 \(\int \cos(u)\, du = \sin(u) + C = \sin(x^2) + C\)。
-
分部积分法是乘积法则的逆过程。如果被积函数是两个函数的乘积:
-
策略性地选择 \(u\) 和 \(dv\),使得剩下的积分 \(\int v\, du\) 比原来的更简单。选择 \(u\) 的常用助记法是 LIATE:对数函数(Logarithmic)、反三角函数(Inverse trig)、代数函数(Algebraic)、三角函数(Trigonometric)、指数函数(Exponential)(优先从靠前的类别中选择 \(u\))。
-
例如:\(\int x\, e^x\, dx\)。令 \(u = x\)(代数函数)和 \(dv = e^x\, dx\)。则 \(du = dx\),\(v = e^x\)。因此:\(\int x\, e^x\, dx = x\, e^x - \int e^x\, dx = x\, e^x - e^x + C = e^x(x - 1) + C\)。
-
在机器学习中,积分出现在概率论中(通过对密度函数积分来计算概率)、期望值中(连续分布上的加权平均),以及计算 ROC 曲线下的面积。虽然在实际中我们很少手动积分,但理解积分的含义有助于解释这些量。
编程练习(使用 CoLab 或 notebook)¶
-
使用黎曼和,用不断增加数量的矩形来数值逼近 \(\int_0^1 x^2\, dx\)。与精确答案 \(\frac{1}{3}\) 进行比较。
-
数值验证微积分基本定理。定义 \(F(x) = \int_0^x t^2\, dt = \frac{x^3}{3}\),并验证其导数(通过
jax.grad计算)等于 \(x^2\)。 -
可视化 \(f(x) = \sin(x)\) 从 \(0\) 到 \(\pi\) 的曲线下面积。使用
plt.fill_between填充该区域,并用黎曼和数值计算面积。