太硬核了,放个链接(挖个坑)就跑。
由于链接 2 有变动,因此下面对文章内容进行备份。
01.1-基本数学导数公式
1.1 基本函数导数公式
1.1.1 基本函数及其导数
公式序号 | 函数 | 导数 | 备注 |
---|---|---|---|
1 | $y=c$ | $y’=0$ | |
2 | $y=x^a$ | $y’=ax^{a-1}$ | |
3 | $y=log_ax$ | $y’=\frac{1}{x}log_ae=\frac{1}{xlna}$ | |
4 | $y=lnx$ | $y’=\frac{1}{x}$ | |
5 | $y=a^x$ | $y’=a^xlna$ | |
6 | $y=e^x$ | $y’=e^x$ | |
7 | $y=e^{-x}$ | $y’=-e^{-x}$ | |
8 | $y=sin(x)$ | $y’=cos(x)$ | 正弦函数 |
9 | $y=cos(x)$ | $y’=-sin(x)$ | 余弦函数 |
10 | $y=tg(x)$ | $y’=sec^2(x)=\frac{1}{cos^2x}$ | 正切函数 |
11 | $y=ctg(x)$ | $y’=-csc^2(x)$ | 余切函数 |
12 | $y=arcsin(x)$ | $y’=\frac{1}{\sqrt{1-x^2}}$ | 反正弦函数 |
13 | $y=arccos(x)$ | $y’=-\frac{1}{\sqrt{1-x^2}}$ | 反余弦函数 |
14 | $y=arctan(x)$ | $y’=\frac{1}{1+x^2}$ | 反正切函数 |
15 | $y=arcctg(x)$ | $y’=-\frac{1}{1+x^2}$ | 反余切函数 |
16 | $y=sinh(x)=(e^x-e^{-x})/2$ | $y’=cosh(x)$ | 双曲正弦函数 |
17 | $y=cosh(x)=(e^x+e^{-x})/2$ | $y’=sinh(x)$ | 双曲余弦函数 |
18 | $y=tanh(x)=(e^x-e^{-x})/(e^x+e^{-x})$ | $y’=sech^2(x)=1-tanh^2(x)$ | 双曲正切函数 |
19 | $y=coth(x)=(e^x+e^{-x})/(e^x-e^{-x})$ | $y’=-csch^2(x)$ | 双曲余切函数 |
20 | $y=sech(x)=2/(e^x+e^{-x})$ | $y’=-sech(x)*tanh(x)$ | 双曲正割函数 |
21 | $y=csch(x)=2/(e^x-e^{-x})$ | $y’=-csch(x)*coth(x)$ | 双曲余割函数 |
1.1.2 导数四则运算
$$[u(x) + v(x)]’ = u’(x) + v’(x) \tag{30}$$
$$[u(x) - v(x)]’ = u’(x) - v’(x) \tag{31}$$
$$[u(x)*v(x)]’ = u’(x)*v(x) + v’(x)*u(x) \tag{32}$$
$$[\frac{u(x)}{v(x)}]’=\frac{u’(x)v(x)-v’(x)u(x)}{v^2(x)} \tag{33}$$
1.1.3 偏导数
如$Z=f(x,y)$,则Z对x的偏导可以理解为当y是个常数时,Z单独对x求导:
$$Z’_x=f’_x(x,y)=\frac{\partial{Z}}{\partial{x}} \tag{40}$$
则Z对y的偏导可以理解为当x是个常数时,Z单独对y求导:
$$Z’_y=f’_y(x,y)=\frac{\partial{Z}}{\partial{y}} \tag{41}$$
在二元函数中,偏导的何意义,就是对任意的$y=y_0$的取值,在二元函数曲面上做一个$y=y_0$切片,得到$Z = f(x, y_0)$的曲线,这条曲线的一阶导数就是Z对x的偏导。对$x=x_0$同样,就是Z对y的偏导。
1.1.4 复合函数求导(链式法则)
- 如果 $y=f(u), u=g(x)$ 则:
$$y’_x = f’(u) \cdot u’(x) = y’_u \cdot u’_x=\frac{dy}{du} \cdot \frac{du}{dx} \tag{50}$$
- 如果$y=f(u),u=g(v),v=h(x)$ 则:
$$
\frac{dy}{dx}=f’(u) \cdot g’(v) \cdot h’(x)=\frac{dy}{du} \cdot \frac{du}{dv} \cdot \frac{dv}{dx} \tag{51}
$$
- 如$Z=f(U,V)$,通过中间变量$U = g(x,y), V=h(x,y)$成为x,y的复合函数$Z=f[g(x,y),h(x,y)]$ 则:
$$
\frac{\partial{Z}}{\partial{x}}=\frac{\partial{Z}}{\partial{U}} \cdot \frac{\partial{U}}{\partial{x}} + \frac{\partial{Z}}{\partial{V}} \cdot \frac{\partial{V}}{\partial{x}} \tag{52}
$$
$$
\frac{\partial{Z}}{\partial{y}}=\frac{\partial{Z}}{\partial{U}} \cdot \frac{\partial{U}}{\partial{y}} + \frac{\partial{Z}}{\partial{V}} \cdot \frac{\partial{V}}{\partial{y}}
$$
1.1.5 矩阵求导
如$A,B,X$都是矩阵,则:
$$
B\frac{\partial{(AX)}}{\partial{X}} = A^TB \tag{60}
$$
$$
B\frac{\partial{(XA)}}{\partial{X}} = BA^T \tag{61}
$$
$$
\frac{\partial{(X^TA)}}{\partial{X}} = \frac{\partial{(A^TX)}}{\partial{X}}=A \tag{62}
$$
$$
\frac{\partial{(A^TXB)}}{\partial{X}} = AB^T \tag{63}
$$
$$
\frac{\partial{(A^TX^TB)}}{\partial{X}} = BA^T, {dX^TAX \over dX} = (A+A^T)X \tag{64}
$$
$${dX^T \over dX} = I, {dX \over dX^T} = I, {dX^TX \over dX}=2X\tag{65}$$
$${du \over dX^T} = ({du^T \over dX})^T$$
$${du^Tv \over dx} = {du^T \over dx}v + {dv^T \over dx}u^T, {duv^T \over dx} = {du \over dx}v^T + u{dv^T \over dx} \tag{66}$$
$${dAB \over dX} = {dA \over dX}B + A{dB \over dX} \tag{67}$$
$${du^TXv \over dx}=uv^T, {du^TX^TXu \over dX}=2Xuu^T \tag{68}$$
$${d[(Xu-v)^T(Xu-v)] \over dX}=2(Xu-v)u^T \tag{69}$$
1.1.6 标量对矩阵导数的定义
假定$y$是一个标量,$X$是一个$N \times M$大小的矩阵,有$y=f(X)$, $f$是一个函数。我们来看$df$应该如何计算。
首先给出定义:
$$
df = \sum_j^M\sum_i^N \frac{\partial{f}}{\partial{x_{ij}}}dx_{ij}
$$
下面我们引入矩阵迹的概念,所谓矩阵的迹,就是矩阵对角线元素之和。也就是说:
$$
tr(X) = \sum_i x_{ii}
$$
引入迹的概念后,我们来看上面的梯度计算是不是可以用迹来表达呢?
$$
\frac{\partial{f}}{\partial{X}} =
\begin{pmatrix}
\frac{\partial{f}}{\partial{x_{11}}} & \frac{\partial{f}}{\partial{x_{12}}} & \dots & \frac{\partial{f}}{\partial{x_{1M}}} \
\frac{\partial{f}}{\partial{x_{21}}} & \frac{\partial{f}}{\partial{x_{22}}} & \dots & \frac{\partial{f}}{\partial{x_{2M}}} \
\vdots & \vdots & \ddots & \vdots \
\frac{\partial{f}}{\partial{x_{N1}}} & \frac{\partial{f}}{\partial{x_{N2}}} & \dots & \frac{\partial{f}}{\partial{x_{NM}}}
\end{pmatrix} \tag{90}
$$
$$
dX =
\begin{pmatrix}
dx_{11} & d{x_{12}} & \dots & d{x_{1M}} \
d{x_{21}} & d{x_{22}} & \dots & d{x_{2M}} \
\vdots & \vdots & \ddots & \vdots \
d{x_{N1}} & d{x_{N2}} & \dots & d{x_{NM}}
\end{pmatrix} \tag{91}
$$
我们来看矩阵$(90)$的转置和矩阵$(91)$乘积的对角线元素
$$
((\frac{\partial f}{\partial X})^T dX){jj}=\sum_i^N \frac{\partial f}{\partial x{ij}} dx_{ij}
$$
因此,
$$
tr({(\frac{\partial{f}}{\partial{X}})}^TdX) = \sum_j^M\sum_i^N\frac{\partial{f}}{\partial{x_{ij}}}dx_{ij} = df = tr(df) \tag{92}
$$
上式的最后一个等号是因为$df$是一个标量,标量的迹就等于其本身。
1.1.7 矩阵迹和导数的部分性质
这里将会给出部分矩阵的迹和导数的性质,作为后面推导过程的参考。性子急的同学可以姑且默认这是一些结论。
$$
d(X + Y) = dX + dY \tag{93}
$$
$$
d(XY) = (dX)Y + X(dY)\tag{94}
$$
$$
dX^T = {(dX)}^T \tag{95}
$$
$$
d(tr(X)) = tr(dX) \tag{96}
$$
$$
d(X \odot Y) = dX \odot Y + X \odot dY \tag{97}
$$
$$
d(f(X)) = f^{‘}(X) \odot dX \tag{98}
$$
$$
tr(XY) = tr(YX) \tag{99}
$$
$$
tr(A^T (B \odot C)) = tr((A \odot B)^T C) \tag{100}
$$
以上各性质的证明方法类似,我们选取式(94)作为证明的示例:
$$
Z = XY
$$
则Z中的任意一项是
$$
z_{ij} = \sum_k x_{ik}y_{kj}
$$
$$
dz_{ij} = \sum_k d(x_{ik}y_{kj})
$$
$$
= \sum_k (dx_{ik}) y_{kj} + \sum_k x_{ik} (dy_{kj})
$$
$$
=dX_{ij} \cdot Y_{ij} + X_{ij} \cdot dY_{ij}
$$
从上式可见,$dZ$的每一项和$(dX)Y + X(dY)$的每一项都是相等的。因此,可以得出式(94)成立。