数学基础
符号
▽
\bigtriangledown
▽(\bigtriangledown):梯度,是一个矢量,方向指向降落(梯度求增量,故负号表示降落)最快的方向
△
\triangle
△(\triangle):
梯度
常见函数求导公式
基本初等函数求导公式 ( 1 ) ( C ) ′ = 0 ( 2 ) ( x μ ) ′ = μ x μ − 1 ( 3 ) ( sin x ) ′ = cos x ( 4 ) ( cos x ) ′ = − sin x ( 5 ) ( tan x ) ′ = sec 2 x ( 6 ) ( cot x ) ′ = − csc 2 x ( 7 ) ( sec x ) ′ = sec x tan x ( 8 ) ( csc x ) ′ = − csc x cot x ( 9 ) ( a x ) ′ = a x ln a ( 10 ) ( e x ) ′ = e x ( 11 ) ( log a x ) ′ = 1 x ln a ( 12 ) ( ln x ) ′ = 1 x , ( 13 ) ( arcsin x ) ′ = 1 1 − x 2 ( 14 ) ( arccos x ) ′ = − 1 1 − x 2 ( 15 ) ( arctan x ) ′ = 1 1 + x 2 ( 16 ) ( arccot x ) ′ = − 1 1 + x 2 \begin{align} &基本初等函数求导公式 \\ &(1) (C)^{\prime}=0 &&(2) \left(x^{\mu}\right)^{\prime}=\mu x^{\mu-1} \\ &(3) (\sin x)^{\prime}=\cos x &&(4) (\cos x)^{\prime}=-\sin x \\ &(5) (\tan x)^{\prime}=\sec ^{2} x &&(6) (\cot x)^{\prime}=-\csc ^{2} x \\ &(7) (\sec x)^{\prime}=\sec x \tan x &&(8) (\csc x)^{\prime}=-\csc x \cot x \\ &(9) \left(a^{x}\right)^{\prime}=a^{x} \ln a &&(10) \left(\mathrm{e}^{x}\right)^{\prime}=\mathrm{e}^{x} \\ &(11) \left(\log _{a} x\right)^{\prime}=\frac{1}{x \ln a} &&(12) (\ln x)^{\prime}=\frac{1}{x} ,\\ &(13)(\arcsin x)^{\prime}=\frac{1}{\sqrt{1-x^{2}}} &&(14) (\arccos x)^{\prime}=-\frac{1}{\sqrt{1-x^{2}}} \\ &(15) (\arctan x)^{\prime}=\frac{1}{1+x^{2}} &&(16) (\operatorname{arccot} x)^{\prime}=-\frac{1}{1+x^{2}} \\ \end{align} 基本初等函数求导公式(1)(C)′=0(3)(sinx)′=cosx(5)(tanx)′=sec2x(7)(secx)′=secxtanx(9)(ax)′=axlna(11)(logax)′=xlna1(13)(arcsinx)′=1−x21(15)(arctanx)′=1+x21(2)(xμ)′=μxμ−1(4)(cosx)′=−sinx(6)(cotx)′=−csc2x(8)(cscx)′=−cscxcotx(10)(ex)′=ex(12)(lnx)′=x1,(14)(arccosx)′=−1−x21(16)(arccotx)′=−1+x21
基本求导法则
函数 的和、差、积、商的求导法则 设 u = u ( x ) , v = v ( x ) 都可导 , 则 ( 1 ) ( u ± v ) ′ = u ′ ± v ′ ( 2 ) ( C u ) ′ = C u ′ ( C 是常数 ) ( 3 ) ( u v ) ′ = u ′ v + u v ′ ( 4 ) ( u v ) ′ = u ′ v − u v ′ v 2 反函 数求导法则 若 函数 x = φ ( y ) 在某区间 I y 内可导、单调且 φ ′ ( y ) ≠ 0 , 则 它的反函数 y = f ( x ) 在对应区间 I x 内也可导 , 且 f ′ ( x ) = 1 φ ′ ( y ) 或 d y d x = 1 d x d y \begin{align} 函数&的和、差、积、商的求导法则\\ 设 &u=u(x), v=v(x) 都可导, 则\\ &(1) (u \pm v)^{\prime}=u^{\prime} \pm v^{\prime} \\ &(2) (\mathrm{Cu})^{\prime}=C u^{\prime} ( C 是常数)\\ &(3) \quad(u v)^{\prime}=u^{\prime} v+u v^{\prime} \\ &(4) \left(\frac{u}{v}\right)^{\prime}=\frac{u^{\prime} v-u v^{\prime}}{v^{2}} \\\\ 反函&数求导法则\\ 若&函数 x=\varphi(y) 在某区间 I_{y} 内可导、单调且 \varphi^{\prime}(y) \neq 0 ,\\ 则&它的反函数 y=f(x) 在对应区间 I_{x} 内也可导,\\ 且& f^{\prime}(x)=\frac{1}{\varphi^{\prime}(y)} \quad 或 \quad \frac{d y}{d x}=\frac{1}{\frac{d x}{d y}} \end{align} 函数设反函若则且的和、差、积、商的求导法则u=u(x),v=v(x)都可导,则(1)(u±v)′=u′±v′(2)(Cu)′=Cu′(C是常数)(3)(uv)′=u′v+uv′(4)(vu)′=v2u′v−uv′数求导法则函数x=φ(y)在某区间Iy内可导、单调且φ′(y)=0,它的反函数y=f(x)在对应区间Ix内也可导,f′(x)=φ′(y)1或dxdy=dydx1
复合函数求导
f [ g ( x ) ] ′ = f ′ [ g ( x ) ] g ′ ( x ) f [ g ( h ( x ) ) ] ′ = f ′ [ g ( h ( x ) ) ] g ′ [ h ( x ) ] h ′ ( x ) \begin{align} &f[g(x)]' = f'[g(x)]g'(x)\\ &f[g(h(x))]' = f'[g(h(x))]g'[h(x)]h'(x)\\ \end{align} f[g(x)]′=f′[g(x)]g′(x)f[g(h(x))]′=f′[g(h(x))]g′[h(x)]h′(x)
矩阵求导
一维求导

f ( x + ϵ ) ≈ f ( x ) + f ′ ( x ) ϵ f(x+\epsilon) \approx f(x)+f{\prime}(x)\epsilon f(x+ϵ)≈f(x)+f′(x)ϵ
f ( x − η f ′ ( x ) ) ≈ f ( x ) − η f ′ ( x ) 2 f\left(x-\eta f^{\prime}(x)\right) \approx f(x)-\eta f^{\prime}(x)^{2} f(x−ηf′(x))≈f(x)−ηf′(x)2
f
(
x
−
η
f
′
(
x
)
)
≤
f
(
x
)
f\left(x-\eta f^{\prime}(x)\right) \le f(x)
f(x−ηf′(x))≤f(x)
所以我们可以得到收敛的计算公式
x
←
x
−
η
f
′
(
x
)
x \gets x- \eta f^{\prime}(x)
x←x−ηf′(x)
其中学习率参数设置的不同会产生不同的效果:

实例

其中我们需要对左侧这些散点进行拟合:
l
o
s
s
=
∑
i
=
1
N
(
w
∗
x
i
+
b
−
y
i
)
2
N
▽
w
(
k
)
=
∑
2
∗
x
i
∗
(
w
(
k
)
∗
x
i
∗
+
b
(
k
)
−
y
i
)
N
▽
b
(
k
)
=
∑
2
∗
(
w
(
k
)
∗
x
i
∗
+
b
(
k
)
−
y
i
)
N
\begin{align} loss &=\frac{\sum_{i=1}^{N}(w*x_i+b-y_i)^2}{N} \\ \bigtriangledown w^{(k)}&=\frac{\sum 2*x_i*(w^{(k)}*x_i*+b^{(k)}-y_i)}{N} \\ \bigtriangledown b^{(k)}&=\frac{\sum 2*(w^{(k)}*x_i*+b^{(k)}-y_i)}{N} \\ \end{align}
loss▽w(k)▽b(k)=N∑i=1N(w∗xi+b−yi)2=N∑2∗xi∗(w(k)∗xi∗+b(k)−yi)=N∑2∗(w(k)∗xi∗+b(k)−yi)
多维求导
多维度上的梯度下降:
∇
x
f
(
x
)
=
[
∂
f
(
x
)
∂
x
1
,
∂
f
(
x
)
∂
x
2
,
…
,
∂
f
(
x
)
∂
x
d
]
⊤
\nabla_{\boldsymbol{x}} f(\boldsymbol{x})=\left[\frac{\partial f(\boldsymbol{x})}{\partial x_{1}}, \frac{\partial f(\boldsymbol{x})}{\partial x_{2}}, \ldots, \frac{\partial f(\boldsymbol{x})}{\partial x_{d}}\right]^{\top}
∇xf(x)=[∂x1∂f(x),∂x2∂f(x),…,∂xd∂f(x)]⊤
x
←
x
−
η
▽
f
(
x
)
x \gets x - \eta \bigtriangledown f(x)
x←x−η▽f(x)
其中标量f对于矩阵X的导数:
∂ f ∂ X = [ ∂ f ∂ X i j ] \frac{\partial f}{\partial X} = \left[\frac{\partial f}{\partial X_{ij}} \right] ∂X∂f=[∂Xij∂f]
导数与微分的联系
微分是说一个函数在自变量做无穷小变化时函数值的变化。如果我们给定x的变化dx,将它对应到f(x)的变化df,df就等于f的导数乘以dx。但是dx是一个不严谨的概念(无穷小变化是变化多少?),因此严谨的表述是:df是一个把一个数(自变量的变化 delta x)映射成 f’ delta x的映射,映射的值能近似表达函数值的变化delta f。从这个意义上说,df是一个将数轴上的一个矢量(delta x)映射成实数的线性映射,在微分几何中这种映射称为1-form,又叫协变矢量或对偶矢量。
补充:可以形象化理解,微分就是曲线的切线。给定一个横坐标,我们可以在切线上找到纵坐标。df就是这样一个映射。而f的导数就是这条切线的斜率。
一元微积分中的导数(标量对标量的导数)与微分有联系:
d
f
=
f
′
(
x
)
d
x
df=f{\prime}(x)dx
df=f′(x)dx
多元微积分中的梯度(标量对向量的导数)也与微分有联系:
d
f
=
∑
i
=
1
n
∂
f
∂
x
i
d
x
i
=
(
∂
f
∂
x
)
T
d
x
df=\sum_{i=1}^{n} \frac{\partial f}{\partial x_i}dx_i = (\frac{{\partial f}}{\partial \boldsymbol{x} })^{T} d\boldsymbol{x}
df=i=1∑n∂xi∂fdxi=(∂x∂f)Tdx
上面式子中第一个等号是全微分公式,第二个等号表达了梯度和微分的联系(全微分
d
f
df
df是梯度向量
∂
f
∂
x
(
n
×
1
)
\frac{\partial f}{\partial \boldsymbol{x}}(n \times 1)
∂x∂f(n×1)与微分向量
d
x
(
n
×
1
)
d\boldsymbol{x}(n \times 1)
dx(n×1)的内积)
通过上述的一元和多元的微积分启发,我们可以将矩阵导数与微分建立联系:
d
f
=
∑
i
=
1
m
∑
j
=
1
n
∂
f
∂
X
i
j
d
X
i
j
=
tr
(
(
∂
f
∂
X
)
T
d
X
)
d f=\sum_{i=1}^{m} \sum_{j=1}^{n} \frac{\partial f}{\partial X_{i j}} d X_{i j}=\operatorname{tr}\left((\frac{\partial f}{\partial X}) ^{T}d X\right)
df=i=1∑mj=1∑n∂Xij∂fdXij=tr((∂X∂f)TdX)
其中tr代表迹(trace)是方阵对角线元素之和,满足性质:
相同尺寸矩阵 A 、 B ,有 t r ( A T B ) = ∑ i , j A i j B i j , 即 t r ( A T B ) 是矩阵 A , B 的内积。 相同尺寸矩阵A、B,有tr(A^{T}B)=\sum_{i,j}A_{ij}B_{ij},即tr(A^{T}B)是矩阵A,B的内积。 相同尺寸矩阵A、B,有tr(ATB)=i,j∑AijBij,即tr(ATB)是矩阵A,B的内积。
上述公式中第一个是全微分公式,第二个等号代表了矩阵导数与微分的联系(全微分df是导数 ∂ f ∂ X ( m × n ) \frac{\partial f}{\partial X}(m\times n) ∂X∂f(m×n) 与微分矩阵 d X ( m × n ) dX(m \times n) dX(m×n)的内积)
矩阵微分常用运算法则
- 加减法
d ( X ± Y ) = d X ± d Y d(X \pm Y)=dX \pm dY d(X±Y)=dX±dY
- 乘法
d ( X Y ) = ( d X ) Y + X d Y d(XY)=(dX)Y+XdY d(XY)=(dX)Y+XdY
- 转置
d ( X T ) = ( d X ) T d(X^T)=(dX)^T d(XT)=(dX)T
- 迹
d t r ( X ) = t r ( d X ) dtr(X)=tr(dX) dtr(X)=tr(dX)
- 逐元素乘法
d ( X ⨀ Y ) = d X ⨀ Y + X ⨀ d Y d(X \bigodot Y)=dX\bigodot Y+X\bigodot dY d(X⨀Y)=dX⨀Y+X⨀dY
⨀ \bigodot ⨀表示尺寸相同的矩阵X,Y逐元素相乘
- 逐元素函数
d σ ( X ) = σ ′ ( X ) ⨀ d X d \sigma(X)= \sigma{\prime}(X)\bigodot dX dσ(X)=σ′(X)⨀dX
σ ( X ) = [ σ ( X i j ) ] \sigma(X) = \left[\sigma(X_{ij}) \right] σ(X)=[σ(Xij)]是逐元素标量函数运算
σ ′ ( X ) = [ σ ′ ( X i j ) ] \sigma{\prime}(X) = \left[\sigma{\prime}(X_{ij}) \right] σ′(X)=[σ′(Xij)]是逐元素标量函数运算
eg:
X = [ X 11 X 12 X 21 X 22 ] d s i n ( X ) = [ c o s X 11 d X 11 c o s X 12 d X 12 c o s X 21 d X 21 c o s X 22 d X 22 ] = c o s ( X ) ⨀ d X \begin{align} X&= \left[ \begin{matrix} X_{11} & X_{12} \\ X_{21} & X_{22} \\ \end{matrix} \right] \\ dsin(X)&= \left[ \begin{matrix} cosX_{11}dX_{11} & cosX_{12}dX_{12} \\ cosX_{21}dX_{21} & cosX_{22}dX_{22} \\ \end{matrix} \right] =cos(X)\bigodot dX\\ \end{align} Xdsin(X)=[X11X21X12X22]=[cosX11dX11cosX21dX21cosX12dX12cosX22dX22]=cos(X)⨀dX
矩阵迹的性质
- 标量套上迹
a = t r ( a ) a = tr(a) a=tr(a)
- 转置
t r ( A T ) = t r ( A ) tr(A^T)=tr(A) tr(AT)=tr(A)
- 线性
t r ( A ± B ) = t r ( A ) ± t r ( B ) tr(A\pm B)=tr(A)\pm tr(B) tr(A±B)=tr(A)±tr(B)
- 乘法交换
t r ( A B ) = t r ( B A ) tr(AB)=tr(BA) tr(AB)=tr(BA),其中 A A A和 B T B^{T} BT尺寸相同,两侧都等于 ∑ i , j A i j B j i \sum_{i,j}A_{ij}B_{ji} ∑i,jAijBji
- 矩阵乘法/逐元素乘法交换
t r ( A T ( B ⨀ C ) ) = t r ( ( A ⨀ B ) T C ) tr(A^{T}(B\bigodot C))=tr((A \bigodot B)^{T}C) tr(AT(B⨀C))=tr((A⨀B)TC),其中A,B,C尺寸相同,两侧都等于 ∑ i j A i j B i j C i j \sum_{ij}A_{ij}B_{ij}C_{ij} ∑ijAijBijCij
复合
主要解决一类问题:假设已求得 ∂ f ∂ Y \frac{\partial f}{\partial Y} ∂Y∂f,而Y是X的函数,如何求 ∂ f ∂ X \frac{\partial f}{\partial X} ∂X∂f呢?
例一
最常见的情况是 Y = A X B Y= AXB Y=AXB,此时假设已求得 ∂ f ∂ Y \frac{\partial f}{\partial Y} ∂Y∂f,而Y是X的函数,要求 ∂ f ∂ X \frac{\partial f}{\partial X} ∂X∂f
d
f
=
tr
(
∂
f
T
∂
Y
d
Y
)
=
tr
(
∂
f
T
∂
Y
T
A
d
X
B
)
=
tr
(
B
∂
f
T
∂
Y
A
d
X
)
=
tr
(
(
A
T
∂
f
∂
Y
B
T
)
T
d
X
)
\begin{align} d f&=\operatorname{tr}\left(\frac{\partial f^{T}}{\partial Y} d Y\right)\\ &=\operatorname{tr}\left({\frac{\partial f^{T}}{\partial Y}}^{T} A d X B\right) \\ &=\operatorname{tr}\left(B \frac{\partial f^{T}}{\partial Y} A d X\right)\\ &=\operatorname{tr}\left(\left(A^{T} \frac{\partial f}{\partial Y} B^{T}\right)^{T} d X\right) \end{align}
df=tr(∂Y∂fTdY)=tr(∂Y∂fTTAdXB)=tr(B∂Y∂fTAdX)=tr((AT∂Y∂fBT)TdX)
可得到
∂
f
∂
X
=
A
T
∂
f
∂
Y
B
T
\frac{\partial f}{\partial X}=A^{T} \frac{\partial f}{\partial Y} B^{T}
∂X∂f=AT∂Y∂fBT
注意这里
d
Y
=
(
d
A
)
X
B
+
A
d
X
B
+
A
X
d
B
=
A
d
X
B
d Y=(d A) X B+A d X B+A X d B=A d X B
dY=(dA)XB+AdXB+AXdB=AdXB
由于 A, B 是常量, d A=0, d B=0
以及我们使用矩阵乘法交换的迹技巧交换了
(
∂
f
∂
Y
)
T
A
d
X
(\frac{\partial f}{\partial Y})^{T} A d X
(∂Y∂f)TAdX 与
B
B
B 。
参考
微积分符号列表(ε,y’,d / dx,∫) (rapidtables.org)
(31条消息) 一个F范数对矩阵求导例子_lgl123ok的博客-优快云博客_f范数求导
202

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



