深度学习的数学知识

深度学习所依赖的数学原理

本文只介绍纯数学的内容。

高等数学教材上册中的导数与微分,下册中的向量、偏导数、方向导数、梯度的概念,与深度学习的原理有密切的关系。

导数

设函数 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 + Δ x x_0 + \Delta x x0+Δx 仍在该领域内)时,相应的函数 y y y 取得增量 Δ 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}} Δx0limΔxΔy=Δx0limΔxf(x0+Δx)f(x0)
存在,则称该极限为函数 y = f ( x ) y=f(x) y=f(x) 在点 x 0 x_0 x0 处的导数,记作 f ′ ( x 0 ) f^{\prime}(x_0) f(x0), 即:

f ′ ( x 0 ) = lim ⁡ Δ x → 0 Δ y Δ x = lim ⁡ Δ x → 0 f ( x 0 + Δ x ) − f ( x 0 ) Δ x f^{\prime}(x_0) = \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}} f(x0)=Δx0limΔxΔy=Δx0limΔxf(x0+Δx)f(x0)

也可以记作
y ′ ∣ x = x 0 y^{\prime}\big|_{x=x_0} yx=x0 , d y d x ∣ x = x 0 \frac {dy} {dx} \big|_{x=x_0} dxdyx=x0, 或 d d x f ( x ) ∣ x = x 0 {\frac d {dx}}f(x)\big|_{x=x_0} dxdf(x)x=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 ) f(x) f(x) 在点 x 0 x_0 x0不可导。如果增量之比 Δ y Δ x \frac {\Delta y} {\Delta x} ΔxΔy (当 Δ x → 0 \Delta x \to 0 Δx0 时的极限为无穷大,导数是不存在的,但为了叙述方便,也称函数在点 x 0 x_0 x0 处的导数为无穷大。

导数的几何意义:

  1. 函数曲线上指定点的切线的斜率
  2. 函数在指定点的变化率

导数的物理意义:

  • 该时刻的瞬时变化率
  • 比如,x轴为时间,y轴为速度,则在 x 0 x_0 x0 点的导数代表在 x 0 x_0 x0 点的瞬时加速度。

深度学习的数学知识_第1张图片

复合函数的求导法则

定理(链锁法则)
如果函数 u = φ ( x ) u = \varphi(x) u=φ(x) 在点 x x x 处可导, y = f ( u ) y = f(u) y=f(u) 在对应点 u = φ ( x ) u = \varphi(x) u=φ(x) 处也可导,则复合函数 y = f [ φ ( x ) ] y=f[\varphi(x)] y=f[φ(x)] 在点 x x x 处也可导,且
d y d x = d y d u ⋅ d u d x {\frac {dy} {dx}} = {\frac {dy} {du}} \cdot {\frac {du} {dx}} dxdy=dudydxdu

上式也可以写成
y x ′ = y u ′ u x ′ y^{\prime}_x = {y^{\prime}_u}{u^{\prime}_x} yx=yuux y ′ ( x ) = f ′ ( u ) φ ′ ( x ) y^{\prime}(x) = f^{\prime}(u)\varphi^{\prime}(x) y(x)=f(u)φ(x)

偏导数

多元函数中,某一自变量变化而其他自变量不变化(即视为常数)时,函数关于该自变量的变化率,就是多元函数对该自变量的偏导数。
定义:
设函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 在点 ( x 0 , y 0 ) (x_{0}, y_{0}) x0,y0的某一领域内有定义,当自变量 y y y保持定值 y 0 y_{0} y0,而自变量 x x x x 0 x_{0} x0处有增量 Δ x \Delta_{x} Δx(点 x 0 + Δ x x_{0}+\Delta_{x} x0+Δx 仍在该领域内)时,函数相应的增量称为函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在点 ( x 0 , y 0 ) (x_{0}, y_{0}) x0,y0 处关于自变量 x x x 的偏增量,记作 Δ x z \Delta_{x} z Δxz, 即:
Δ x z = f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) \Delta_{x}z = f(x_{0} + \Delta_{x}, y_0) - f(x_0, y_0) Δxz=f(x0+Δx,y0)f(x0,y0)

如果当 Δ x → 0 \Delta_x \rightarrow 0 Δx0 时,比式 Δ x z Δ x \frac {\Delta_xz} {\Delta x} ΔxΔxz 的极限存在,则称此极限值为函数 z = f ( x , y ) z = f(x, y) z=f(x,y) 在点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0) x x x的偏导数,记作 KaTeX parse error: Undefined control sequence: \substack at position 40: …tial x}\big|{_{\̲s̲u̲b̲s̲t̲a̲c̲k̲{x=x_0\\y=y_0}}…, 即:
KaTeX parse error: Undefined control sequence: \substack at position 40: …tial x}\big|{_{\̲s̲u̲b̲s̲t̲a̲c̲k̲{x=x_0\\y=y_0}}…

此偏导数也可记作:
KaTeX parse error: Undefined control sequence: \substack at position 40: …tial x}\big|{_{\̲s̲u̲b̲s̲t̲a̲c̲k̲{x=x_0\\y=y_0}}…, 或 KaTeX parse error: Undefined control sequence: \substack at position 23: …ime}_x}\big|{_{\̲s̲u̲b̲s̲t̲a̲c̲k̲{x=x_0\\y=y_0}}…, 或 f ′ ( x 0 , y 0 ) f^{\prime}(x_0, y_0) f(x0,y0)

类似的,函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0) 处对 x x x 的偏导数定义为:
KaTeX parse error: Undefined control sequence: \substack at position 40: …tial x}\big|{_{\̲s̲u̲b̲s̲t̲a̲c̲k̲{x=x_0\\y=y_0}}…

偏导数的几何意义:
设有二元函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 在点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0) 的偏导数有如下的几何意义:
M 0 ( x 0 , y 0 , f ( x 0 , y 0 ) ) M_0(x_0, y_0, f(x_0, y_0)) M0(x0,y0,f(x0,y0)) 为曲面 z = f ( x , y ) z=f(x,y) z=f(x,y) 上的一点,过 M 0 M_0 M0 作平面 y = y 0 y=y_0 y=y0,截此曲面得一曲线,此曲线在平面 y = y 0 y=y_0 y=y0 上得方程为 z = f ( x , y 0 ) z=f(x, y_0) z=f(x,y0), 则导数 d d x f ( x , y 0 ) ∣ x = x 0 {\frac d {dx}}f(x, y_0)\big|_{x=x_0} dxdf(x,y0)x=x0,即偏导数 f x ( x 0 , y 0 ) f_x(x_0, y_0) fx(x0,y0),就是这曲线在点 M 0 M_0 M0 处的切线 M 0 T x M_0T_x M0Tx x x x 轴的斜率。
同样,偏导数 f y ( x 0 , y 0 ) f_y(x_0, y_0) fy(x0,y0) 的几何意义是:曲面被平面 x = x 0 x=x_0 x=x0 所截得的曲线在点 M 0 M_0 M0 处的切线 M 0 T y M_0T_y M0Ty y y y 轴的斜率。

深度学习的数学知识_第2张图片

多元函数的求导法则

中间变量是一元函数

定理1:
如果函数 u = φ ( t ) , v = ϕ ( t ) u=\varphi(t), v=\phi(t) u=φ(t),v=ϕ(t) 均在点 t t t处可导,函数 z = f ( u , v ) z=f(u, v) z=f(u,v)在对应点 ( u , v ) (u,v) (u,v) 处具有连续的偏导数 ∂ z ∂ u \frac {\partial z} {\partial u} uz ∂ z ∂ v \frac {\partial z} {\partial v} vz, 则复合函数 z = f [ φ ( t ) , ϕ ( t ) ] z = f[\varphi(t), \phi(t)] z=f[φ(t),ϕ(t)] 在点 t t t 处可导,且它的导数为:
d z d t = ∂ z ∂ u ⋅ d u d t + ∂ z ∂ v ⋅ d v d t \frac {dz} {dt} = {\frac {\partial z} {\partial u}} \cdot {\frac {du} {dt}} + {\frac {\partial z} {\partial v}} \cdot {\frac {dv} {dt}} dtdz=uzdtdu+vzdtdv

中间变量是多元函数

定理2:
设函数 u = φ ( x , y ) u=\varphi(x,y) u=φ(x,y) v = ϕ ( x , y ) v=\phi(x,y) v=ϕ(x,y) 在点 ( x , y ) (x,y) (x,y) 处都具有偏导数 ∂ u ∂ x \frac {\partial u} {\partial x} xu, ∂ u ∂ y \frac {\partial u} {\partial y} yu ∂ u ∂ x \frac {\partial u} {\partial x} xu, ∂ u ∂ y \frac {\partial u} {\partial y} yu,函数 z = f ( u , v ) z = f(u, v) z=f(u,v) 在对应点 ( u , v ) (u,v) (u,v) 处具有连续的偏导数 ∂ z ∂ u \frac {\partial z} {\partial u} uz ∂ z ∂ v \frac {\partial z} {\partial v} vz, 则复合函数 z = f [ φ ( x , y ) , ϕ ( x , y ) ] z=f[\varphi(x,y), \phi(x,y)] z=f[φ(x,y),ϕ(x,y)]在点 ( x , y ) (x,y) (x,y)处的2个偏导数存在,并有求导公式:
∂ z ∂ x = ∂ z ∂ u ⋅ ∂ u ∂ x + ∂ z ∂ v ⋅ ∂ v ∂ x {\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}} xz=uzxu+vzxv
∂ z ∂ y = ∂ z ∂ u ⋅ ∂ u ∂ y + ∂ z ∂ v ⋅ ∂ v ∂ y {\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}} yz=uzyu+vzyv

向量

不仅有大小,而且有方向的量,就是向量。

向量的夹角:
设a和b是2个非零向量,过空间内任意一点O作向量 O A → = a , O B → = b \overrightarrow{OA} = a, \overrightarrow{OB} = b OA =a,OB =b,
则称 ∠ A O B = φ ( 0 < = φ < = π ) \angle AOB = \varphi (0<= \varphi <= \pi) AOB=φ(0<=φ<=π) 为向量a与b的夹角,记作 ( a , b ^ ) (\hat{a,b}) a,b^ ( b , a ^ ) (\hat{b, a}) b,a^

向量的数量积:
设a、b是2个向量,他们的模 |a|, |b|, 及夹角余弦 c o s ( a , b ^ ) cos(\hat{a,b}) cos(a,b^) 的乘积,称为向量a和b的数量积,记作 a ⋅ b a\cdot b ab , 即:
a ⋅ b = ∣ a ∣ ∣ b ∣ c o s ( a , b ^ ) a\cdot b = |a| |b| cos(\hat{a,b}) ab=abcos(a,b^)

方向导数

方向导数的几何意义
偏导数的局限是: 它只能求出2个方向上的变化率,但对于曲面上的一个点来说,其实有无穷多的方向。
那么,如何求出曲面上某个点在指定方向上的变化率呢?
这就要引入角度 θ \theta θ, 即沿着在 XY 平面上与 x x x 轴成 θ \theta θ 角度的一条线作一个平面,该平面截曲面可得一条曲线。该曲线上的指定点的切线的斜率,即为该点在指定方向(即 θ \theta θ角度)上的变化率,这就是方向导数。

深度学习的数学知识_第3张图片

定义:
设函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在点 P ( x , y ) P(x,y) P(x,y) 的某一个领域内有定义,以点P为端点作一条射线 l l l, 记 x x x 轴的正向到射线 l l l的转角为 θ \theta θ. 如果当点Q沿着射线 l l l趋近于点P时,此时如果 f ( x + Δ x , y + Δ y ) − f ( x , y ) ρ {\frac {f(x+\Delta x, y+\Delta y) - f(x,y)} {\rho}} ρf(x+Δx,y+Δy)f(x,y) ( ρ = Δ x 2 + Δ y 2 ) (\rho = \sqrt{{\Delta x^2 + \Delta y^2}}) (ρ=Δx2+Δy2 ) 的极限存在,则称此极限为函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 在点 P ( x , y ) P(x,y) P(x,y) 处沿方向 l l l 的方向导数,记作 ∂ f ∂ l {\frac {\partial f} {\partial l}} lf, 即:
∂ f ∂ l = lim ⁡ ρ → 0 f ( x + Δ x , y + Δ y ) − f ( x , y ) ρ {\frac {\partial f} {\partial l}} = {\lim_{\rho \to 0}{\frac {f(x+\Delta x, y+\Delta y) - f(x,y)} {\rho}}} lf=ρ0limρf(x+Δx,y+Δy)f(x,y)

定理:
如果函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 在点 P ( x , y ) P(x,y) P(x,y)处是可微分的,则它在该点沿任一方向 l l l的方向导数都存在,且
∂ f ∂ l = ∂ f ∂ x c o s θ + ∂ f ∂ y s i n θ {\frac {\partial f} {\partial l}} = {\frac {\partial f} {\partial x}}cos{\theta} + {\frac {\partial f} {\partial y}}sin{\theta} lf=xfcosθ+yfsinθ
其中, θ \theta θ x x x轴的正向到方向 l l l 的转角。

梯度

一个函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 在点 P ( x , y ) P(x,y) P(x,y) 沿着不同的方向 l l l 的方向导数是不同的。那么,在这些方向导数中,有没有一个最大的方向导数呢?如果有的话,是沿着哪个方向的方向导数最大呢?

引入向量 g = { ∂ f ∂ x , ∂ f ∂ y } g = \{{\frac {\partial f} {\partial x}}, {\frac {\partial f} {\partial y}}\} g={xf,yf}, e = { c o s θ , s i n θ } e = \{cos{\theta}, sin{\theta}\} e={cosθ,sinθ},
于是上面的公式可以写成:
g ⋅ e = { ∂ f ∂ x , ∂ f ∂ y } ⋅ { c o s θ , s i n θ } = ∂ f ∂ l g\cdot e = {\{{\frac {\partial f} {\partial x}}, {\frac {\partial f} {\partial y}}\}} \cdot \{{cos{\theta}, sin{\theta}}\} = {\frac {\partial f} {\partial l}} ge={xf,yf}{cosθ,sinθ}=lf

θ {\theta} θ l l l 与 x 轴正向的夹角; l l l 是向量 g 的方向。

定义1:
向量 g g g称为函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在点 P ( x , y ) P(x,y) P(x,y)的梯度。

根据向量数量积的定义可知:
g ⋅ e = ∣ g ∣ ∣ e ∣ c o s ( g , e ^ ) = ( ∂ f ∂ x ) 2 + ( ∂ f ∂ y ) 2 ⋅ c o s 2 θ + s i n 2 θ ⋅ c o s ( g , e ^ ) = ( ∂ f ∂ x ) 2 + ( ∂ f ∂ y ) 2 ⋅ c o s ( g , e ^ ) g \cdot e = |g| |e| cos(\hat {g,e}) = {\sqrt {({\frac {\partial f} {\partial x})}^2 + ({\frac {\partial f} {\partial y})}^2 }} \cdot {\sqrt {cos^2{\theta} + sin^2{\theta}} \cdot cos(\hat{g,e})} \\= {\sqrt {({\frac {\partial f} {\partial x})}^2 + ({\frac {\partial f} {\partial y})}^2 }} \cdot cos(\hat{g,e}) ge=gecos(g,e^)=(xf)2+(yf)2 cos2θ+sin2θ cos(g,e^)=(xf)2+(yf)2 cos(g,e^)

于是有:
∂ f ∂ l = ( ∂ f ∂ x ) 2 + ( ∂ f ∂ y ) 2 ⋅ c o s ( g , e ^ ) {\frac {\partial f} {\partial l}} = {\sqrt {({\frac {\partial f} {\partial x})}^2 + ({\frac {\partial f} {\partial y})}^2 }} \cdot cos(\hat{g,e}) lf=(xf)2+(yf)2 cos(g,e^)

现在,回答开头的那2个问题:

  1. c o s ( g , e ^ ) = 1 cos(\hat{g,e})=1 cos(g,e^)=1时,方向导数 ∂ f ∂ l {\frac {\partial f} {\partial l}} lf最大,即方向 l l l与向量 g = { ∂ f ∂ x , ∂ f ∂ y } g=\{{\frac {\partial f} {\partial x}}, {\frac {\partial f} {\partial y}}\} g={xf,yf} 的方向一致时,方向导数最大;
  2. 此时,方向导数的值为向量 g g g的模。

定义2:
设函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 在点 P ( x , y ) P(x,y) P(x,y) 处具有连续的偏导数 ∂ f ∂ x {\frac {\partial f} {\partial x}} xf ∂ f ∂ y {\frac {\partial f} {\partial y}} yf, 则称向量
∂ f ∂ x i + ∂ f ∂ y j {\frac {\partial f} {\partial x}}i + {\frac {\partial f} {\partial y}}j xfi+yfj
为函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 在点 P ( x , y ) P(x,y) P(x,y) 处的梯度,记作 g r a d f ( x , y ) gradf(x,y) gradf(x,y),即:
g r a d f ( x , y ) = ∂ f ∂ x i + ∂ f ∂ y j gradf(x,y) = {\frac {\partial f} {\partial x}}i + {\frac {\partial f} {\partial y}}j gradf(x,y)=xfi+yfj

由前面的讨论可知,函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在点 P ( x , y ) P(x,y) P(x,y)处的梯度 g r a d f ( x , y ) gradf(x,y) gradf(x,y)是这样的一个向量:

  1. 它的方向与在点 P ( x , y ) P(x,y) P(x,y)处取得最大的方向导数的方向相同;
  2. 它的模 ∣ g r a d f ( x , y ) ∣ |gradf(x,y)| gradf(x,y) 等于在点 P ( x , y ) P(x,y) P(x,y) 处的方向导数的最大值;

有了梯度的概念之后,函数在点 P ( x , y ) P(x,y) P(x,y) 处沿着方向 l l l 的方向导数就可以表示成:
∂ f ∂ l = g r a d f ( x , y ) ⋅ e {\frac {\partial f} {\partial l}} = gradf(x,y) \cdot e lf=gradf(x,y)e
其中, e = { c o s θ , s i n θ } e = \{cos{\theta}, sin{\theta}\} e={cosθ,sinθ} l l l 方向上的单位向量。

[2022-10-31 update]
(完)

你可能感兴趣的:(深度学习,深度学习)