文章目录
- 设立问题
- 微分特性
- 指数特性
- 线性特性
- 常数特性
- 多项式微分
- 导数
在机器学习领域,有多种解决最优化问题的方法,其中之一就是使用微分。
通过微分,可以得知函数在某个点的斜率,也可以了解函数在瞬间的变化。
设立问题
请想象一下开车行驶在大街上的场景。设横轴为经过时间、纵轴为行驶距离,那么下面的图1应该可以表现二者的关系。
从图中可以看出,车辆在40 s内大约行驶了120 m,所以用下述表达式可以很快地计算出这一期间的行驶速度。
120 m 40 s = 3 m/s \frac{120 \text{ m}}{40 \text{ s}} = 3 \text{ m/s} 40 s120 m=3 m/s
不过这是平均速度,车辆并没有一直保持3 m/s的速度。从图中也可以看出,车辆在刚发动时速度较慢,缓缓前进,而在因红灯而停止时速度变为0,完全不动了。
就像这样,一般来说各个时间点的瞬时速度都取值不同。
刚才我们计算了40 s内的速度,为了求出“瞬间的变化量”,我们来渐渐缩小时间的间隔。看一下图2中10 s到20 s的情况。这一期间车辆跑了大约60 m,所以可以这样求出它的速度。
这与求某个区间内图形的斜率是一回事。
使用同样的做法,接着求10 s和11 s之间的斜率,进而求10.0 s和10.1 s之间的斜率。逐渐缩小时间的间隔,最终就可以得出10 s那一瞬间的斜率,也就是速度。像这样缩小间隔求斜率的方法正是微分。
为了求得这种“瞬间的变化量”,我们设函数为f(x)、h为微小的数,那么函数f(x)在点x的斜率就可以用以下表达式表示。
d d x f ( x ) = lim h → 0 f ( x + h ) − f ( x ) h \frac{\mathrm{d}}{\mathrm{d}x} f(x) = \lim_{h \to 0} \frac{f(x + h) - f(x)}{h} dxdf(x)=h→0limhf(x+h)−f(x)
上述数学表达式解释如下:
d d x \frac{d}{dx} dxd
称为微分运算符,在表示f(x)的微分时可以写作
d f ( x ) d x \frac{df(x)}{dx} dxdf(x)
或
d d x f ( x ) \frac{d}{dx} f(x) dxdf(x)
此外,同样用于表示微分的符号还有撇(′), f(x)的微分也可以表示为f′(x)。用哪一种写法都没有问题,本文统一使用
d d x \frac{d}{dx} dxd
我们代入具体的数字来看看,这样有助于理解数学表达式。
比如,考虑一下刚才那个计算10.0 s和10.1 s之间的斜率的例子。在那种情况下x=10、h=0.1。假设车辆在10.0 s那个时间点行驶了40.0 m,在10.1s的时间点行驶了40.6 m,那么可以进行如下计算:
f ( 10 + 0.1 ) − f ( 10 ) 0.1 = 40.6 − 40 0.1 = 6 \frac{f(10 + 0.1) - f(10)}{0.1} = \frac{40.6 - 40}{0.1} = 6 0.1f(10+0.1)−f(10)=0.140.6−40=6
这里的6就是斜率,在这个例子中它表示速度。本来h应当无限接近0,所以要用比0.1小得非常多的值来计算,但这里只是一个例子,姑且就用h=0.1了。
通过计算这样的表达式,可以求出函数f(x)在点x的斜率,也就是说可以微分。
微分特性
实际上,直接用如下表达式也不太容易计算,但微分有一些很有用的、值得我们去记住的特性(特性感兴趣可以自己查资料推导)
d d x f ( x ) = lim h → 0 f ( x + h ) − f ( x ) h \frac{\mathrm{d}}{\mathrm{d}x} f(x) = \lim_{h \to 0} \frac{f(x + h) - f(x)}{h} dxdf(x)=h→0limhf(x+h)−f(x)
指数特性
当f(x)= x n x^n xn时,对它进行微分可以得到以下表达式。
d d x f ( x ) = n x n − 1 \frac{d}{dx} f(x) = nx^{n-1} dxdf(x)=nxn−1
线性特性
若有函数f(x)和g(x),以及常数a,那么下述微分表达式成立。它们体现出来的特性被称为线性。
d d x ( f ( x ) + g ( x ) ) = d f ( x ) d x + d g ( x ) d x \frac{d}{dx}(f(x) + g(x)) = \frac{df(x)}{dx} + \frac{dg(x)}{dx} dxd(f(x)+g(x))=dxdf(x)+dxdg(x)
d d x ( a f ( x ) ) = a d f ( x ) d x \frac{d}{dx}(af(x)) = a\frac{df(x)}{dx} dxd(af(x))=adxdf(x)
常数特性
与x无关的常数a的微分为0
d d x a = 0 \frac{d}{dx}a = 0 dxda=0
多项式微分
通过组合上述微分特性,即便是多项式也可以简单地进行微分。如下所示例子。
-
使用常数特性推导:
d d x 5 = 0 \frac{d}{dx}5=0 dxd5=0 -
使用指数特性推导:
d d x x = d d x x 1 = 1 ⋅ x 0 = 1 \frac{d}{dx}x=\frac{d}{dx}x^1=1\cdot x^0=1 dxdx=dxdx1=1⋅x0=1
d d x x 3 = 3 x 2 \frac{d}{dx}x^3=3x^2 dxdx3=3x2
d d x x − 2 = − 2 x − 3 \frac{d}{dx}x^{-2}=-2x^{-3} dxdx−2=−2x−3
- 使用指数特性和线性特性推导:
d d x 10 x 4 = 10 d d x x 4 = 10 ⋅ 4 x 3 = 40 x 3 \frac{d}{dx}10x^4=10\frac{d}{dx}x^4=10\cdot 4x^3=40x^3 dxd10x4=10dxdx4=10⋅4x3=40x3
d d x ( x 5 + x 6 ) = d d x x 5 + d d x x 6 = 5 x 4 + 6 x 5 \frac{d}{dx}(x^5+x^6)=\frac{d}{dx}x^5+\frac{d}{dx}x^6=5x^4+6x^5 dxd(x5+x6)=dxdx5+dxdx6=5x4+6x5
- 含有求和符号的表达式的微分可以像下面这样交换求和符号和微分运算符的顺序:
d d x ∑ i = 0 n x n = ∑ i = 0 n d d x x n \frac{d}{dx}\sum_{i=0}^{n}x^n = \sum_{i=0}^{n}\frac{d}{dx}x^n dxdi=0∑nxn=i=0∑ndxdxn
导数
所谓导数,就是微分后的函数,求导就是进行微分后的数学函数。
例如:
d d x f ( x ) \frac{d}{dx} f(x) dxdf(x)
的导数就是
n x n − 1 nx^{n-1} nxn−1
参考内容来源于:《白话机器学习的数学》