机器学习数学基础

数学基础

符号

▽ \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)=1x2 1(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)=1x2 1(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)=uv+uv(4)(vu)=v2uvuv数求导法则函数x=φ(y)在某区间Iy内可导、单调且φ(y)=0,它的反函数y=f(x)在对应区间Ix内也可导,f(x)=φ(y)1dxdy=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)

复合函数求导(链式法则) - 知乎 (zhihu.com)

矩阵求导

一维求导

一维求导图示

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) xxη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} lossw(k)b(k)=Ni=1N(wxi+byi)2=N2xi(w(k)xi+b(k)yi)=N2(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)=[x1f(x),x2f(x),,xdf(x)]
x ← x − η ▽ f ( x ) x \gets x - \eta \bigtriangledown f(x) xxηf(x)
其中标量f对于矩阵X的导数:

∂ f ∂ X = [ ∂ f ∂ X i j ] \frac{\partial f}{\partial X} = \left[\frac{\partial f}{\partial X_{ij}} \right] Xf=[Xijf]

导数与微分的联系

微分是说一个函数在自变量做无穷小变化时函数值的变化。如果我们给定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=1nxifdxi=(xf)Tdx
上面式子中第一个等号是全微分公式,第二个等号表达了梯度和微分的联系(全微分 d f df df是梯度向量 ∂ f ∂ x ( n × 1 ) \frac{\partial f}{\partial \boldsymbol{x}}(n \times 1) xf(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=1mj=1nXijfdXij=tr((Xf)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的内积。 相同尺寸矩阵AB,有tr(ATB)=i,jAijBij,tr(ATB)是矩阵A,B的内积。

上述公式中第一个是全微分公式,第二个等号代表了矩阵导数与微分的联系(全微分df是导数 ∂ f ∂ X ( m × n ) \frac{\partial f}{\partial X}(m\times n) Xf(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(XY)=dXY+XdY
⨀ \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(BC))=tr((AB)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} Yf,而Y是X的函数,如何求 ∂ f ∂ X \frac{\partial f}{\partial X} Xf呢?

例一

最常见的情况是 Y = A X B Y= AXB Y=AXB,此时假设已求得 ∂ f ∂ Y \frac{\partial f}{\partial Y} Yf,而Y是X的函数,要求 ∂ f ∂ X \frac{\partial f}{\partial X} Xf

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(YfTdY)=tr(YfTTAdXB)=tr(BYfTAdX)=tr((ATYfBT)TdX)
可得到
∂ f ∂ X = A T ∂ f ∂ Y B T \frac{\partial f}{\partial X}=A^{T} \frac{\partial f}{\partial Y} B^{T} Xf=ATYfBT
注意这里
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 (Yf)TAdX B B B

参考

微积分符号列表(ε,y’,d / dx,∫) (rapidtables.org)
(31条消息) 一个F范数对矩阵求导例子_lgl123ok的博客-优快云博客_f范数求导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值