📖目录
1. 导数的定义:从"瞬时速度"到"变化率"的革命
1.1 从"平均速度"到"瞬时速度":导数的物理起源
想象一下,你正在开车从A点到B点,总路程是100公里,用时2小时。那么你的平均速度就是50公里/小时。但如果你想知道在某个特定时刻(比如第1小时整)的瞬时速度,该怎么办?
在古代,人们会用"极短时间内的平均速度"来近似瞬时速度。比如,从1小时到1小时0.001小时,你行驶了0.05公里,那么瞬时速度大约是50公里/小时。
导数的数学定义:函数y=f(x)在x=a处的导数f’(a)是当Δx→0时,函数值的变化量Δy与自变量变化量Δx的比值的极限:
f ′ ( a ) = lim Δ x → 0 f ( a + Δ x ) − f ( a ) Δ x f'(a) = \lim_{\Delta x \to 0} \frac{f(a+\Delta x) - f(a)}{\Delta x} f′(a)=Δx→0limΔxf(a+Δx)−f(a)
大白话解释:导数就是"在某个点上,函数变化的快慢程度"。
1.2 几何意义:曲线的"陡峭程度"
想象你正在爬山,山的高度是y,水平距离是x。在某个点(x, y)上,山的陡峭程度就是导数f’(x)。
- 如果f’(x) > 0,说明你正在上坡(山在升高)
- 如果f’(x) < 0,说明你正在下坡(山在降低)
- 如果f’(x) = 0,说明你正好在山顶或山谷(山暂时不升高也不降低)
几何意义:导数f’(x)表示函数曲线在点(x, f(x))处的切线斜率。
1.3 物理意义:变化率的"终极解释"
在物理学中,导数可以解释为各种"变化率":
- 位置函数s(t)的导数是速度v(t) = s’(t)
- 速度函数v(t)的导数是加速度a(t) = v’(t)
- 电量Q(t)的导数是电流I(t) = Q’(t)
生活化例子:你去超市买苹果,价格是每斤5元。如果你买了x斤,总价格y=5x元。那么,当你多买1斤苹果时,价格增加5元。这个"每多买1斤,价格增加5元"就是导数,即dy/dx=5。
2. 基本初等函数的导数公式
下面是常见函数的导数公式,我会用生活化的例子来解释:
| 函数 | 导数 | 生活化解释 |
|---|---|---|
| f(x) = c (常数) | f’(x) = 0 | 你站在原地不动,你的速度为0 |
| f(x) = x | f’(x) = 1 | 你匀速向前走,每走1米,时间增加1秒,速度是1米/秒 |
| f(x) = x^n | f’(x) = nx^{n-1} | 你跑步时,速度随时间变化,加速度是2x(当n=2时) |
| f(x) = sin(x) | f’(x) = cos(x) | 你荡秋千,当秋千在最低点时(x=0),荡得最快(sin(0)=0,cos(0)=1) |
| f(x) = cos(x) | f’(x) = -sin(x) | 你荡秋千,当秋千在最高点时(x=π/2),荡得最慢(sin(π/2)=1,-sin(π/2)=-1) |
| f(x) = e^x | f’(x) = e^x | 你的财富每天按固定比例增长,增长速度和当前财富成正比 |
| f(x) = ln(x) | f’(x) = 1/x | 你每天存钱,存的越多,每天能存的金额就越少(边际收益递减) |
2.1 为什么e^x的导数是它自己?
ex的特殊性质:ex = lim_{n→∞} (1 + x/n)^n
推导:
f
′
(
x
)
=
lim
Δ
x
→
0
e
x
+
Δ
x
−
e
x
Δ
x
=
lim
Δ
x
→
0
e
x
e
Δ
x
−
1
Δ
x
=
e
x
lim
Δ
x
→
0
e
Δ
x
−
1
Δ
x
\begin{align*} f'(x) &= \lim_{\Delta x \to 0} \frac{e^{x+\Delta x} - e^x}{\Delta x} \\ &= \lim_{\Delta x \to 0} e^x \frac{e^{\Delta x} - 1}{\Delta x} \\ &= e^x \lim_{\Delta x \to 0} \frac{e^{\Delta x} - 1}{\Delta x} \end{align*}
f′(x)=Δx→0limΔxex+Δx−ex=Δx→0limexΔxeΔx−1=exΔx→0limΔxeΔx−1
我们知道, lim Δ x → 0 e Δ x − 1 Δ x = 1 \lim_{\Delta x \to 0} \frac{e^{\Delta x} - 1}{\Delta x} = 1 limΔx→0ΔxeΔx−1=1(这是e的定义)
所以 f ′ ( x ) = e x ⋅ 1 = e x f'(x) = e^x \cdot 1 = e^x f′(x)=ex⋅1=ex
生活化解释:想象你有一笔钱,每天按固定比例(比如100%)增长。那么,你每天增长的金额和你当前拥有的金额成正比。比如,第1天有1元,第2天有2元,第3天有4元,第4天有8元… 这种指数增长的"增长速度"和当前金额成正比。
3. 导数的四则运算法则
3.1 加法法则:速度叠加
如果y = f(x) + g(x),那么y’ = f’(x) + g’(x)
生活化例子:你和朋友一起跑步,你的速度是v1,朋友的速度是v2。那么你们一起跑的速度就是v1 + v2。
3.2 乘法法则:速度与距离的结合
如果y = f(x) * g(x),那么y’ = f’(x) * g(x) + f(x) * g’(x)
生活化例子:你和朋友一起卖苹果,你每小时能卖f(x)斤,朋友每小时能卖g(x)斤。那么你们一起卖的苹果总量是f(x)*g(x)。你们一起卖的速度是f’(x)*g(x) + f(x)*g’(x)。
3.3 商法法则:速度与距离的除法
如果y = f(x) / g(x),那么y’ = [f’(x) * g(x) - f(x) * g’(x)] / [g(x)]^2
生活化例子:你和朋友一起卖苹果,你每小时卖f(x)斤,朋友每小时卖g(x)斤。那么你卖的苹果占总销量的比例是f(x)/g(x)。这个比例的变化率就是[f’(x) * g(x) - f(x) * g’(x)] / [g(x)]^2。
4. 复合函数的链式法则
4.1 什么是复合函数?
复合函数就是"函数套函数",比如y = f(g(x))。
生活化例子:你先从家到超市(g(x)),然后从超市到学校(f(y))。那么从家到学校的总距离就是f(g(x))。
4.2 链式法则:从"总距离"到"速度"
如果y = f(g(x)),那么y’ = f’(g(x)) * g’(x)
推导:
y
′
=
lim
Δ
x
→
0
f
(
g
(
x
+
Δ
x
)
)
−
f
(
g
(
x
)
)
Δ
x
=
lim
Δ
x
→
0
f
(
g
(
x
+
Δ
x
)
)
−
f
(
g
(
x
)
)
g
(
x
+
Δ
x
)
−
g
(
x
)
⋅
g
(
x
+
Δ
x
)
−
g
(
x
)
Δ
x
=
f
′
(
g
(
x
)
)
⋅
g
′
(
x
)
\begin{align*} y' &= \lim_{\Delta x \to 0} \frac{f(g(x+\Delta x)) - f(g(x))}{\Delta x} \\ &= \lim_{\Delta x \to 0} \frac{f(g(x+\Delta x)) - f(g(x))}{g(x+\Delta x) - g(x)} \cdot \frac{g(x+\Delta x) - g(x)}{\Delta x} \\ &= f'(g(x)) \cdot g'(x) \end{align*}
y′=Δx→0limΔxf(g(x+Δx))−f(g(x))=Δx→0limg(x+Δx)−g(x)f(g(x+Δx))−f(g(x))⋅Δxg(x+Δx)−g(x)=f′(g(x))⋅g′(x)
生活化解释:从家到学校的总速度 = 从家到超市的速度 * 从超市到学校的平均速度。
4.3 代码实现:链式法则的计算
import numpy as np
def chain_rule(f_prime, g, g_prime, x):
"""
计算复合函数f(g(x))的导数,使用链式法则
参数:
f_prime: f的导数函数
g: 内层函数
g_prime: g的导数函数
x: 自变量
返回:
f(g(x))的导数
"""
# 计算内层函数的值
inner_value = g(x)
# 计算内层函数的导数
g_derivative = g_prime(x)
# 计算外层函数的导数
f_derivative = f_prime(inner_value)
# 应用链式法则
result = f_derivative * g_derivative
return result
# 定义内层函数g(x) = x^2
def g(x):
return x**2
# 定义内层函数g的导数g'(x) = 2x
def g_prime(x):
return 2 * x
# 定义外层函数f(y) = sin(y)
def f(y):
return np.sin(y)
# 定义外层函数f的导数f'(y) = cos(y)
def f_prime(y):
return np.cos(y)
# 测试链式法则
x = 2
result = chain_rule(f_prime, g, g_prime, x)
print(f"复合函数f(g(x))在x={x}处的导数为: {result}")
# 预期结果: f'(g(2)) * g'(2) = cos(4) * 4 ≈ -3.82
5. 高阶导数的概念
5.1 什么是高阶导数?
一阶导数f’(x)表示函数变化的快慢,二阶导数f’'(x)表示一阶导数变化的快慢,即"变化率的变化率"。
生活化例子:你开车时,速度是v(t),加速度是a(t)=v’(t)。那么,"加速度的变化率"就是jerk(t)=a’(t)=v’'(t)。
5.2 高阶导数的应用
-
二阶导数f’'(x):判断函数的凹凸性
- 如果f’'(x) > 0,函数是"向上凹"的(像碗的形状)
- 如果f’'(x) < 0,函数是"向下凸"的(像帽子的形状)
-
三阶导数f’‘’(x):判断函数的"拐点",即凹凸性改变的点
5.3 代码实现:计算高阶导数
import numpy as np
from scipy.misc import derivative
def calculate_higher_order_derivative(func, x, order=1):
"""
计算函数func在点x处的order阶导数
参数:
func: 函数
x: 自变量
order: 导数阶数(默认为1)
返回:
导数值
"""
return derivative(func, x, dx=1e-6, n=order)
# 定义一个函数f(x) = x^3
def f(x):
return x**3
# 计算一阶导数
first_derivative = calculate_higher_order_derivative(f, 2, order=1)
# 预期结果: 3*(2^2) = 12
# 计算二阶导数
second_derivative = calculate_higher_order_derivative(f, 2, order=2)
# 预期结果: 6*2 = 12
# 计算三阶导数
third_derivative = calculate_higher_order_derivative(f, 2, order=3)
# 预期结果: 6
print(f"一阶导数: {first_derivative}")
print(f"二阶导数: {second_derivative}")
print(f"三阶导数: {third_derivative}")
6. 附录:经典参考书与开山之作
6.1 《微积分及其应用》(Calculus and Its Applications) by Marvin L. Bittinger
这本书以应用为导向,用大量实际例子解释微积分概念,特别适合初学者。它将微积分与商业、经济、生物等实际应用结合,让抽象的数学概念变得生动有趣。
6.2 《微积分入门》(Calculus Made Easy) by Silvanus P. Thompson
这本书是微积分的经典入门书,用非常通俗易懂的语言解释微积分概念,被誉为"微积分的《三字经》"。它通过简单明了的解释,让微积分变得不再那么可怕。
6.3 《深度学习》(Deep Learning) by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
虽然这不是一本专门讲微积分的书,但它包含了深度学习中用到的微积分知识,特别是反向传播算法的数学基础。对于AI工程师和数据科学家来说,这本书是必读的。
7. 结语
导数是微积分的核心概念,也是深度学习、物理学、工程学等领域的基础。通过理解导数,我们可以更好地理解世界的变化规律,从而解决各种实际问题。
记住,导数不是"高深莫测"的数学概念,而是描述"变化"的简单工具。就像你开车时看速度表一样,导数就是帮你理解"变化"的"速度表"。
一句话总结:导数就是"变化的快慢",它让抽象的数学变得具体,让复杂的系统变得可理解。
参考文献:
- “Calculus Made Easy” by Silvanus P. Thompson (1910) - 经典微积分入门
- “Calculus: Early Transcendentals” by James Stewart (2015) - 顶级微积分教材
- “Deep Learning” by Ian Goodfellow, Yoshua Bengio, and Aaron Courville (2016) - AI领域的微积分应用
- “The Elements of Statistical Learning” by Trevor Hastie, Robert Tibshirani, and Jerome Friedman (2009) - 统计学与微积分的结合
作者注:这篇文章是为AI工程师和深度学习爱好者准备的导数基础指南。如果你是AI从业者,理解导数将帮助你更好地理解神经网络中的反向传播算法,从而更深入地掌握深度学习技术。
1260

被折叠的 条评论
为什么被折叠?



