机器学习数学基础--(1)导数
1.1 导数是什么?——从两个实际问题出发
导数是一个描述“变化率”的工具。我们首先通过两个熟悉的例子来感受它。
例1:瞬时速度
- 假设一辆汽车在直路上行驶,路程 s s s 与时间 t t t 的关系为 s = f ( t ) s = f(t) s=f(t)(比如 s = t 2 s = t^2 s=t2 米)。
- 我们想知道汽车在某一时刻 t 0 t_0 t0 的瞬时速度。
- 初中物理我们学过平均速度: 平均速度 = 路程变化量 时间变化量 = f ( t 0 + Δ t ) − f ( t 0 ) Δ t \text{平均速度} = \frac{\text{路程变化量}}{\text{时间变化量}} = \frac{f(t_0+\Delta t) - f(t_0)}{\Delta t} 平均速度=时间变化量路程变化量=Δtf(t0+Δt)−f(t0),其中 Δ t \Delta t Δt 是一小段时间间隔。
- 但是平均速度只能反映一段时间内的平均快慢,不能精确描述某个瞬间的快慢。为了得到瞬时速度,我们让 Δ t \Delta t Δt 越来越小(趋近于0),如果这个平均速度会趋近于一个固定的数值,那么这个数值就是 t 0 t_0 t0 时刻的瞬时速度。
例2:切线的斜率
- 在函数 y = f ( x ) y = f(x) y=f(x) 的图像上,取一点 P ( x 0 , f ( x 0 ) ) P(x_0, f(x_0)) P(x0,f(x0))。
- 我们想画出曲线在点 P P P 处的切线(一条刚好在 P P P 点接触曲线的直线),并求出它的斜率。
- 我们可以先取另一个点 Q ( x 0 + Δ x , f ( x 0 + Δ x ) ) Q(x_0+\Delta x, f(x_0+\Delta x)) Q(x0+Δx,f(x0+Δx)),连接 P P P 和 Q Q Q 得到一条割线。割线的斜率为 f ( x 0 + Δ x ) − f ( x 0 ) Δ x \frac{f(x_0+\Delta x) - f(x_0)}{\Delta x} Δxf(x0+Δx)−f(x0)。
- 当 Q Q Q 沿着曲线越来越接近 P P P 时(即 Δ x → 0 \Delta x \to 0 Δx→0),割线就逐渐逼近切线,割线的斜率也就逐渐逼近切线的斜率。
1.2 导数的定义
以上两个例子虽然背景不同,但数学形式完全一样:都是求一个函数在某一点处的变化率的极限。这个极限就是导数。
定义:设函数 y = f ( x ) y = f(x) y=f(x) 在点 x 0 x_0 x0 的某个邻域内有定义,当自变量 x x x 在 x 0 x_0 x0 处取得增量 Δ x \Delta x Δx( Δ x ≠ 0 \Delta x \neq 0 Δx=0)时,相应的函数增量 Δ y = f ( x 0 + Δ x ) − f ( x 0 ) \Delta y = f(x_0 + \Delta x) - f(x_0) Δy=f(x0+Δx)−f(x0)。如果极限
lim Δ x → 0 Δ y Δ x = lim Δ x → 0 f ( x 0 + Δ x ) − f ( x 0 ) Δ x \lim_{\Delta x \to 0} \frac{\Delta y}{\Delta x} = \lim_{\Delta x \to 0} \frac{f(x_0 + \Delta x) - f(x_0)}{\Delta x} Δx→0limΔxΔy=Δx→0limΔxf(x0+Δx)−f(x0)
存在,则称函数 f ( x ) f(x) f(x) 在点 x 0 x_0 x0 处可导,该极限值称为 f ( x ) f(x) f(x) 在点 x 0 x_0 x0 处的导数,记作:
f ′ ( x 0 ) , y ′ ∣ x = x 0 , d f d x ∣ x = x 0 , d y d x ∣ x = x 0 . f'(x_0), \quad y'\big|_{x=x_0}, \quad \frac{df}{dx}\big|_{x=x_0}, \quad \frac{dy}{dx}\big|_{x=x_0}. f′(x0),y′
x=x0,dxdf
x=x0,dxdy
x=x0.
注意:
- 导数是一个数值(当 x 0 x_0 x0 固定时),它表示函数在 x 0 x_0 x0 处的瞬时变化率。
- 如果极限不存在,则称函数在 x 0 x_0 x0 处不可导。
1.3 导数的几何与物理意义
- 几何意义:函数 f ( x ) f(x) f(x) 在点 x 0 x_0 x0 处的导数 f ′ ( x 0 ) f'(x_0) f′(x0) 就是曲线 y = f ( x ) y = f(x) y=f(x) 在点 ( x 0 , f ( x 0 ) ) (x_0, f(x_0)) (x0,f(x0)) 处的切线的斜率。
- 物理意义:若 f ( t ) f(t) f(t) 表示位移关于时间的函数,则 f ′ ( t 0 ) f'(t_0) f′(t0) 就是 t 0 t_0 t0 时刻的瞬时速度。若 f ( t ) f(t) f(t) 表示速度关于时间的函数,则 f ′ ( t 0 ) f'(t_0) f′(t0) 就是 t 0 t_0 t0 时刻的瞬时加速度。
1.4 如何计算导数?——从定义出发
对于一些简单函数,我们可以直接用定义计算导数。例如,求 f ( x ) = x 2 f(x) = x^2 f(x)=x2 在 x = 1 x = 1 x=1 处的导数。
f ′ ( 1 ) = lim Δ x → 0 ( 1 + Δ x ) 2 − 1 2 Δ x = lim Δ x → 0 1 + 2 Δ x + ( Δ x ) 2 − 1 Δ x = lim Δ x → 0 ( 2 + Δ x ) = 2. f'(1) = \lim_{\Delta x \to 0} \frac{(1+\Delta x)^2 - 1^2}{\Delta x} = \lim_{\Delta x \to 0} \frac{1 + 2\Delta x + (\Delta x)^2 - 1}{\Delta x} = \lim_{\Delta x \to 0} (2 + \Delta x) = 2. f′(1)=Δx→0limΔx(1+Δx)2−12=Δx→0limΔx1+2Δx+(Δx)2−1=Δx→0lim(2+Δx)=2.
所以 f ′ ( 1 ) = 2 f'(1) = 2 f′(1)=2。
如果想求导函数(即每一点的导数表达式),则将 x 0 x_0 x0 换成变量 x x x:
f ′ ( x ) = lim Δ x → 0 ( x + Δ x ) 2 − x 2 Δ x = lim Δ x → 0 2 x Δ x + ( Δ x ) 2 Δ x = lim Δ x → 0 ( 2 x + Δ x ) = 2 x . f'(x) = \lim_{\Delta x \to 0} \frac{(x+\Delta x)^2 - x^2}{\Delta x} = \lim_{\Delta x \to 0} \frac{2x\Delta x + (\Delta x)^2}{\Delta x} = \lim_{\Delta x \to 0} (2x + \Delta x) = 2x. f′(x)=Δx→0limΔx(x+Δx)2−x2=Δx→0limΔx2xΔx+(Δx)2=Δx→0lim(2x+Δx)=2x.
因此, f ( x ) = x 2 f(x) = x^2 f(x)=x2 的导函数为 f ′ ( x ) = 2 x f'(x) = 2x f′(x)=2x。
1.5 基本初等函数的导数公式
用定义可以推导出一些常用函数的导数,为了方便,我们直接记住这些公式:
- 常数函数: f ( x ) = C f(x) = C f(x)=C( C C C 为常数),则 f ′ ( x ) = 0 f'(x) = 0 f′(x)=0。
- 幂函数: f ( x ) = x n f(x) = x^n f(x)=xn( n n n 为实数),则 f ′ ( x ) = n x n − 1 f'(x) = n x^{n-1} f′(x)=nxn−1。
- 例如: x 2 x^2 x2 导数为 2 x 2x 2x, x x x 导数为 1 1 1, x = x 1 / 2 \sqrt{x} = x^{1/2} x=x1/2 导数为 1 2 x − 1 / 2 = 1 2 x \frac{1}{2}x^{-1/2} = \frac{1}{2\sqrt{x}} 21x−1/2=2x1。
- 指数函数:
- f ( x ) = a x f(x) = a^x f(x)=ax( a > 0 , a ≠ 1 a>0, a\neq 1 a>0,a=1),则 f ′ ( x ) = a x ln a f'(x) = a^x \ln a f′(x)=axlna。
- 特别地, f ( x ) = e x f(x) = e^x f(x)=ex,则 f ′ ( x ) = e x f'(x) = e^x f′(x)=ex。
- 对数函数:
- f ( x ) = log a x f(x) = \log_a x f(x)=logax( a > 0 , a ≠ 1 a>0, a\neq 1 a>0,a=1),则 f ′ ( x ) = 1 x ln a f'(x) = \frac{1}{x \ln a} f′(x)=xlna1。
- 特别地, f ( x ) = ln x f(x) = \ln x f(x)=lnx,则 f ′ ( x ) = 1 x f'(x) = \frac{1}{x} f′(x)=x1。
- 三角函数:
- sin x \sin x sinx 的导数为 cos x \cos x cosx。
- cos x \cos x cosx 的导数为 − sin x -\sin x −sinx。
- tan x \tan x tanx 的导数为 sec 2 x \sec^2 x sec2x。
- 其他可自行查阅。
1.6 导数的运算法则
如果函数是由基本初等函数组合而成,我们可以利用以下法则求导。
设 u = u ( x ) u = u(x) u=u(x), v = v ( x ) v = v(x) v=v(x) 均可导,则:
- 和差法则: ( u ± v ) ′ = u ′ ± v ′ (u \pm v)' = u' \pm v' (u±v)′=u′±v′。
- 积法则: ( u v ) ′ = u ′ v + u v ′ (uv)' = u'v + uv' (uv)′=u′v+uv′。
- 商法则: ( u v ) ′ = u ′ v − u v ′ v 2 \left(\frac{u}{v}\right)' = \frac{u'v - uv'}{v^2} (vu)′=v2u′v−uv′( v ≠ 0 v \neq 0 v=0)。
- 常数倍: ( C u ) ′ = C u ′ (Cu)' = C u' (Cu)′=Cu′( C C C 为常数)。
例子:求 f ( x ) = 3 x 2 + sin x f(x) = 3x^2 + \sin x f(x)=3x2+sinx 的导数。
f ′ ( x ) = ( 3 x 2 ) ′ + ( sin x ) ′ = 3 ⋅ 2 x + cos x = 6 x + cos x . f'(x) = (3x^2)' + (\sin x)' = 3\cdot 2x + \cos x = 6x + \cos x. f′(x)=(3x2)′+(sinx)′=3⋅2x+cosx=6x+cosx.
例子:求 g ( x ) = x 2 e x g(x) = x^2 e^x g(x)=x2ex 的导数。
g ′ ( x ) = ( x 2 ) ′ e x + x 2 ( e x ) ′ = 2 x e x + x 2 e x = e x ( x 2 + 2 x ) . g'(x) = (x^2)' e^x + x^2 (e^x)' = 2x e^x + x^2 e^x = e^x (x^2 + 2x). g′(x)=(x2)′ex+x2(ex)′=2xex+x2ex=ex(x2+2x).
1.7 复合函数求导——链式法则
如果函数是由两个函数复合而成,比如 y = f ( g ( x ) ) y = f(g(x)) y=f(g(x)),那么它的导数为:
d y d x = f ′ ( g ( x ) ) ⋅ g ′ ( x ) . \frac{dy}{dx} = f'(g(x)) \cdot g'(x). dxdy=f′(g(x))⋅g′(x).
即先对外层函数求导,再乘以内层函数的导数。
例子:求 h ( x ) = sin ( 2 x ) h(x) = \sin(2x) h(x)=sin(2x) 的导数。
令外层 f ( u ) = sin u f(u) = \sin u f(u)=sinu,内层 u = 2 x u = 2x u=2x,则
h ′ ( x ) = cos ( 2 x ) ⋅ ( 2 x ) ′ = cos ( 2 x ) ⋅ 2 = 2 cos ( 2 x ) . h'(x) = \cos(2x) \cdot (2x)' = \cos(2x) \cdot 2 = 2\cos(2x). h′(x)=cos(2x)⋅(2x)′=cos(2x)⋅2=2cos(2x).
例子:求 y = ( x 2 + 1 ) 3 y = (x^2+1)^3 y=(x2+1)3 的导数。
y ′ = 3 ( x 2 + 1 ) 2 ⋅ ( x 2 + 1 ) ′ = 3 ( x 2 + 1 ) 2 ⋅ 2 x = 6 x ( x 2 + 1 ) 2 . y' = 3(x^2+1)^2 \cdot (x^2+1)' = 3(x^2+1)^2 \cdot 2x = 6x(x^2+1)^2. y′=3(x2+1)2⋅(x2+1)′=3(x2+1)2⋅2x=6x(x2+1)2.
1.8 高阶导数
函数 f ( x ) f(x) f(x) 的导数 f ′ ( x ) f'(x) f′(x) 本身也是一个函数,可以对它再次求导,得到二阶导数 f ′ ′ ( x ) f''(x) f′′(x),记作 d 2 f d x 2 \frac{d^2 f}{dx^2} dx2d2f。类似地有三阶、四阶等。
例如, f ( x ) = x 3 f(x) = x^3 f(x)=x3,则 f ′ ( x ) = 3 x 2 f'(x) = 3x^2 f′(x)=3x2, f ′ ′ ( x ) = 6 x f''(x) = 6x f′′(x)=6x, f ′ ′ ′ ( x ) = 6 f'''(x) = 6 f′′′(x)=6,四阶及更高阶导数为0。
1.9 导数的应用(简要)
- 判断函数单调性:若在某区间内 f ′ ( x ) > 0 f'(x) > 0 f′(x)>0,则函数单调递增;若 f ′ ( x ) < 0 f'(x) < 0 f′(x)<0,则单调递减。
- 求极值:在导数为零的点(驻点)或不可导点处可能取得极值,需进一步判断。
- 求切线方程:已知点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0) 和斜率 k = f ′ ( x 0 ) k = f'(x_0) k=f′(x0),切线方程为 y − y 0 = k ( x − x 0 ) y - y_0 = k(x - x_0) y−y0=k(x−x0)。
- 物理中的瞬时速度、加速度等。
1.10 常见疑问与注意事项
- 可导与连续的关系:如果函数在某点可导,则它在该点一定连续;但连续不一定可导(例如 y = ∣ x ∣ y = |x| y=∣x∣ 在 x = 0 x=0 x=0 处连续但不可导)。
- 导数符号: f ′ ( x 0 ) f'(x_0) f′(x0) 是一个数值, f ′ ( x ) f'(x) f′(x) 是一个函数。
- 求导时注意定义域:比如 ln x \ln x lnx 的导数为 1 / x 1/x 1/x,但 ln x \ln x lnx 的定义域是 x > 0 x>0 x>0。
下一章 机器学习数学基础–(2)偏导数
更多推荐
所有评论(0)