深度学习中的数学基础:从向量到概率的全面解析
摘要
本文深入探讨深度学习涉及的数学基础知识,包括向量、矩阵、导数、概率等。详细阐述各知识点的概念、运算及在深度学习中的应用,如矩阵运算助力模型优化,概率分布用于处理数据不确定性。通过对这些内容的学习,帮助读者夯实深度学习的数学根基,理解深度学习模型的原理与机制,为深入研究和实践深度学习奠定基础。
关键词:深度学习;向量;矩阵;导数;概率分布
1. 深度学习中的数学基础
深度学习作为人工智能领域的核心技术,在图像识别、自然语言处理等众多领域取得了巨大成功。然而,其背后的数学原理是理解和掌握深度学习的关键。深度学习通常涉及微积分、线性代数、概率论等多门数学学科。在本文中,我们将聚焦于深度学习中一些重要的数学概念,帮助大家理清这些概念之间的关系,为深度学习的学习和研究打下坚实的基础。
2. 向量和矩阵
2.1 标量、向量、矩阵和张量
在深度学习的世界里,向量和矩阵是最基本的数据结构。标量,简单来说,就是一个单独的数,用斜体的小写字母表示,如 a a a。它就像是一个没有方向的点,只代表一个数值。
向量则是一组有序排列的数,赋予向量粗体的小写变量名称,如 x \mathbf{x} x。向量中的元素通过带脚标的斜体字母表示,例如向量 x \mathbf{x} x的第一个元素是 x 1 x_1 x1,第二个元素是 x 2 x_2 x2 。可以把向量想象成一条有方向的线段,它不仅有长度(向量的模),还有方向。
矩阵是具有相同特征和维度的对象的集合,表现为一张二维数据表,用加粗加斜的大写字母来表示,如 A \mathbf{A} A。在矩阵中,一个对象表示为矩阵中的一行,一个特征表示为矩阵中的一列,每个特征都有数值型的取值。
而张量是在某些情况下讨论的超过两维的数组。如果一个数组中的元素分布在若干维坐标的规则网格中,则称之为张量。标量是零阶张量,向量是一阶张量,矩阵是二阶张量。可以通过一个形象的比喻来理解:标量就像是知道一根棍子的长度,但是不知道它指向哪儿;向量不仅知道棍子的长度,还知道它指向前面还是后面;张量不仅知道棍子的长度、指向前后,还知道棍子向上/下和左/右偏转了多少。
2.2 张量与矩阵的区别
从代数角度讲,矩阵是向量的推广。向量可以看成一维的“表格”,矩阵可以看成二维的“表格”, n n n阶张量可以看成 n n n维的“表格”。张量的严格定义是利用线性映射来描述的。从几何角度讲,矩阵是一个真正的几何量,它是一个不随参照系坐标变换而变化的量,向量也具有这种特性。在某些条件下,张量可以用矩阵形式来表达,比如表示标量的数和表示向量的三维数组也可分别看作 1 × 1 1×1 1×1、 1 × 3 1×3 1×3的矩阵。
2.3 矩阵和向量相乘的结果
在深度学习的计算中,矩阵和向量相乘是非常重要的运算。若使用爱因斯坦求和约定,矩阵
A
\mathbf{A}
A、
B
\mathbf{B}
B相乘得到矩阵
C
\mathbf{C}
C可以用下式表示:
a
i
k
×
b
k
j
=
c
i
j
a_{ik}×b_{kj}=c_{ij}
aik×bkj=cij
其中,
a
i
k
a_{ik}
aik、
b
k
j
b_{kj}
bkj、
c
i
j
c_{ij}
cij分别表示矩阵
A
\mathbf{A}
A、
B
\mathbf{B}
B、
C
\mathbf{C}
C中的元素,
k
k
k出现两次,是一个哑变量,表示对该参数进行遍历求和。矩阵和向量相乘可以看成矩阵相乘的一个特殊情况,例如当矩阵
B
\mathbf{B}
B是一个
n
×
1
n×1
n×1的矩阵时的情况。
2.4 向量和矩阵的范数归纳
2.4.1 向量的范数
向量的范数是衡量向量“大小”的一种度量方式。定义一个向量为 a = [ − 5 , 6 , 8 , − 10 ] \mathbf{a}=[-5, 6, 8, -10] a=[−5,6,8,−10],将任意一组向量设为 x = [ x 1 , x 2 , ⋯ , x N ] \mathbf{x}=[x_1, x_2, \cdots, x_N] x=[x1,x2,⋯,xN] 。
- 向量的1范数:向量中各个元素的绝对值之和,公式为 ∥ x ∥ 1 = ∑ i = 1 N ∣ x i ∣ \|\mathbf{x}\|_1=\sum_{i=1}^{N}|x_i| ∥x∥1=∑i=1N∣xi∣。上述向量 a \mathbf{a} a的1范数是 29 29 29。
- 向量的2范数:向量中每个元素的平方和的平方根,公式为 ∥ x ∥ 2 = ∑ i = 1 N ∣ x i ∣ 2 \|\mathbf{x}\|_2=\sqrt{\sum_{i=1}^{N}|x_i|^2} ∥x∥2=∑i=1N∣xi∣2。上述向量 a \mathbf{a} a的2范数是 15 15 15。
- 向量的负无穷范数:向量中所有元素的绝对值中最小的,公式为 ∥ x ∥ − ∞ = min 1 ≤ i ≤ N ∣ x i ∣ \|\mathbf{x}\|_{-\infty}=\min_{1\leq i\leq N}|x_i| ∥x∥−∞=min1≤i≤N∣xi∣ 。上述向量 a \mathbf{a} a的负无穷范数是 5 5 5。
- 向量的正无穷范数:向量的所有元素的绝对值中最大的,公式为 ∥ x ∥ + ∞ = max 1 ≤ i ≤ N ∣ x i ∣ \|\mathbf{x}\|_{+\infty}=\max_{1\leq i\leq N}|x_i| ∥x∥+∞=max1≤i≤N∣xi∣。上述向量 a \mathbf{a} a的正无穷范数是 10 10 10。
- 向量的 p p p范数:可以看成向量2范数的扩展,向量元素绝对值的 p p p次方和的 1 / p 1/p 1/p次幂,公式为 L p = ∥ x ∥ p = ( ∑ i = 1 N ∣ x i ∣ p ) 1 p L_p=\|\mathbf{x}\|_p=\left(\sum_{i=1}^{N}|x_i|^p\right)^{\frac{1}{p}} Lp=∥x∥p=(∑i=1N∣xi∣p)p1,其中,正整数 p ≥ 1 p\geq1 p≥1。
2.4.2 矩阵的范数
定义一个矩阵
A
=
[
−
1
,
2
,
−
3
;
4
,
−
6
,
6
]
\mathbf{A}=[-1, 2, -3; 4, -6, 6]
A=[−1,2,−3;4,−6,6],任意矩阵定义为
A
m
×
n
\mathbf{A}_{m×n}
Am×n,其元素为
a
i
j
a_{ij}
aij。矩阵的范数定义如下式所示:
∥
A
∥
p
=
sup
∥
x
∥
p
≠
0
∥
A
x
∥
p
∥
x
∥
p
\|\mathbf{A}\|_p=\sup_{\|\mathbf{x}\|_p\neq0}\frac{\|\mathbf{A}\mathbf{x}\|_p}{\|\mathbf{x}\|_p}
∥A∥p=∥x∥p=0sup∥x∥p∥Ax∥p
当向量取不同范数时,会对应得到不同的矩阵范数。
- 矩阵的1范数(列范数):对矩阵每一列上的元素绝对值先求和,再从中取一个最大的(列和最大),公式为 ∥ A ∥ 1 = max 1 ≤ j ≤ N ∑ i = 1 M ∣ a i j ∣ \|\mathbf{A}\|_1=\max_{1\leq j\leq N}\sum_{i=1}^{M}|a_{ij}| ∥A∥1=max1≤j≤N∑i=1M∣aij∣。上述矩阵 A \mathbf{A} A的1范数先得到 [ 5 , 8 , 9 ] [5, 8, 9] [5,8,9],再取其中最大的,最终结果是 9 9 9。
- 矩阵的2范数:矩阵 A T A \mathbf{A}^T\mathbf{A} ATA的最大特征值的平方根(这里假设 A \mathbf{A} A是实矩阵),公式为 ∥ A ∥ 2 = λ max ( A T A ) \|\mathbf{A}\|_2=\sqrt{\lambda_{\max}(\mathbf{A}^T\mathbf{A})} ∥A∥2=λmax(ATA)。上述矩阵 A \mathbf{A} A的2范数是 10.0623 10.0623 10.0623。
- 矩阵的无穷范数(行范数):对矩阵每一行的元素绝对值先求和,再从中取最大的(行和最大),公式为 ∥ A ∥ ∞ = max 1 ≤ i ≤ M ∑ j = 1 N ∣ a i j ∣ \|\mathbf{A}\|_{\infty}=\max_{1\leq i\leq M}\sum_{j=1}^{N}|a_{ij}| ∥A∥∞=max1≤i≤M∑j=1N∣aij∣。上述矩阵 A \mathbf{A} A的行范数先得到 [ 6 ; 16 ] [6; 16] [6;16],再取其中最大的,最终结果是 16 16 16。
- 矩阵的核范数:矩阵的奇异值之和,这个范数可以用低秩表示(因为最小化核范数,相当于最小化矩阵的秩,即低秩)。上述矩阵 A \mathbf{A} A的核范数是 10.9287 10.9287 10.9287。
- 矩阵的 L 0 L_0 L0范数:矩阵的非0元素的个数,通常用它来表示稀疏度, L 0 L_0 L0范数越小,0元素越多,矩阵就越稀疏。上述矩阵 A \mathbf{A} A的 L 0 L_0 L0范数是 6 6 6。
- 矩阵的 L 1 L_1 L1范数:矩阵中的每个元素的绝对值之和,它是 L 0 L_0 L0范数的最优凸近似,因此它也可以表示稀疏。上述矩阵 A \mathbf{A} A的 L 1 L_1 L1范数是 22 22 22。
- 矩阵的F范数:矩阵的各个元素平方之和再开平方根,通常也叫矩阵的 L 2 L_2 L2范数,公式为 ∥ A ∥ F = ∑ i = 1 M ∑ j = 1 N ∣ a i j ∣ 2 \|\mathbf{A}\|_F=\sqrt{\sum_{i=1}^{M}\sum_{j=1}^{N}|a_{ij}|^2} ∥A∥F=∑i=1M∑j=1N∣aij∣2。它的优点在于它是一个凸函数,可以求导求解,易于计算。上述矩阵 A \mathbf{A} A的F范数是 10.0995 10.0995 10.0995。
- 矩阵的 L 21 L_{21} L21范数:矩阵先以每一列为单位,求每一列的F范数(也可认为是向量的2范数),然后再将得到的结果求 L 1 L_1 L1范数(也可认为是向量的1范数),很容易看出它是介于 L 1 L_1 L1和 L 2 L_2 L2之间的一种范数。上述矩阵 A \mathbf{A} A的 L 21 L_{21} L21范数是 17.1559 17.1559 17.1559。
2.5 判断一个矩阵是否为正定矩阵
判定一个矩阵是否为正定矩阵,通常考察是否满足以下几个条件之一:
- 顺序主子式全部大于0。
- 存在可逆矩阵 C \mathbf{C} C使 C T C \mathbf{C}^T\mathbf{C} CTC等于该矩阵。
- 正惯性指数等于 n n n。
- 该矩阵与单位矩阵合同。
- 标准形中主对角元素全为正。
- 特征值全为正。
- 是某基的度量矩阵。
3. 导数和偏导数
3.1 导数偏导计算
3.1.1 导数定义
导数代表在自变量变化趋于无穷小的时候,函数值的变化与自变量的变化的比值。它的几何意义是这个点的切线,物理意义是该时刻的(瞬时)变化率。在一元函数中,只有一个自变量,也就是说只存在一个方向的变化率,这也是一元函数没有偏导数的原因。
以物理学中的速度为例,平均速度的公式为 v = s t v=\frac{s}{t} v=ts,也可改写为 v ‾ = Δ s Δ t = s ( t 0 + Δ t ) − s ( t 0 ) Δ t \overline{v}=\frac{\Delta s}{\Delta t}=\frac{s(t_0+\Delta t)-s(t_0)}{\Delta t} v=ΔtΔs=Δts(t0+Δt)−s(t0)。当 Δ t \Delta t Δt趋向于 0 0 0时,平均速度就变成了在 t 0 t_0 t0时刻的瞬时速度,即 v ( t 0 ) = lim Δ t → 0 v ‾ = lim Δ t → 0 Δ s Δ t = lim Δ t → 0 s ( t 0 + Δ t ) − s ( t 0 ) Δ t v(t_0)=\lim_{\Delta t \to 0}\overline{v}=\lim_{\Delta t \to 0}\frac{\Delta s}{\Delta t}=\lim_{\Delta t \to 0}\frac{s(t_0+\Delta t)-s(t_0)}{\Delta t} v(t0)=limΔt→0v=limΔt→0ΔtΔs=limΔt→0Δts(t0+Δt)−s(t0)。实际上,上式表示的是路程 s s s关于时间 t t t的函数在 t = t 0 t = t_0 t=t0处的导数。一般来说,如果存在平均变化率的极限,即 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} limΔx→0ΔxΔy=limΔx→0Δ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) 。通俗地说,导数就是曲线在某一点处的切线的斜率。
3.1.2 偏导数
偏导数直观地说,就是函数在某一点上沿坐标轴正方向的变化率。设函数 z = f ( x , y ) z = f(x, y) z=f(x,y)在点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0)的领域内有定义,当 y = y 0 y = y_0 y=y0时, z z z可以看作关于 x x x的一元函数 f ( x , y 0 ) f(x, y_0) f(x,y0),若该一元函数在 x = x 0 x = x_0 x=x0处可导,即 lim Δ x → 0 f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) Δ x = A \lim_{\Delta x \to 0}\frac{f(x_0+\Delta x, y_0)-f(x_0, y_0)}{\Delta x}=A limΔx→0Δxf(x0+Δx,y0)−f(x0,y0)=A,函数的极限 A A A存在,称 A A A为函数 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的偏导数,记作 ∂ z ∂ x ∣ ( x 0 , y 0 ) \frac{\partial z}{\partial x}\big|_{(x_0,y_0)} ∂x∂z (x0,y0)。
在求解偏导数时,可以将另外一个变量看作常数,利用普通的求导方式求解。比如 z = 3 x 2 + x y z = 3x^2 + xy z=3x2+xy关于 x x x的偏导数为 z x = 6 x + y z_x = 6x + y zx=6x+y,这时 y y y相当于 x x x的系数。某点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0)处的偏导数的几何意义为曲面 z = f ( x , y ) z = f(x, y) z=f(x,y)与面 x = x 0 x = x_0 x=x0或面 y = y 0 y = y_0 y=y0的交线在 y = y 0 y = y_0 y=y0或 x = x 0 x = x_0 x=x0处的切线的斜率。
3.2 导数和偏导数的区别
导数和偏导数没有本质区别。如果极限存在,就都是当自变量的变化量趋于0时,函数值的变化量与自变量变化量比值的极限。对于一元函数,一个 y y y对应一个 x x x,导数只有一个。对于二元函数,一个 z z z对应一个 x x x和一个 y y y,因而有两个导数:一个是 z z z对 x x x的导数,一个是 z z z对 y y y的导数,称之为偏导数。求偏导数时要注意,当对一个变量求导时,将另一个变量视为常数,只对改变量求导,从而将偏导的求解转化成对一元函数的求导。
4. 特征值和特征向量
4.1 特征值分解
特征值分解可以得到特征值和特征向量。特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么。如果说一个非零向量 v \mathbf{v} v是矩阵 A \mathbf{A} A的特征向量,则一定可以表示成 A v = λ v A\mathbf{v}=\lambda\mathbf{v} Av=λv的形式, λ \lambda λ为特征向量 v \mathbf{v} v对应的特征值。
特征值分解是将一个矩阵分解为 A = Q Ψ Q − 1 A = Q\Psi Q^{-1} A=QΨQ−1的形式,其中, Q Q Q是这个矩阵 A \mathbf{A} A的特征向量组成的矩阵, Ψ \Psi Ψ是一个对角矩阵,每一个对角线元素就是一个特征值,里面的特征值是由大到小排列的,这些特征值所对应的特征向量描述了这个矩阵的变化方向(按照从主要的变化到次要的变化排列)。也就是说,矩阵 A \mathbf{A} A的信息可以由其特征值和特征向量表示。
4.2 奇异值和特征值的关系
我们将矩阵 A \mathbf{A} A的转置矩阵 A T \mathbf{A}^T AT乘以 A \mathbf{A} A,并求 A A T \mathbf{A}\mathbf{A}^T AAT的特征值,则有 ( A A T ) v = λ v (\mathbf{A}\mathbf{A}^T)\mathbf{v}=\lambda\mathbf{v} (AAT)v=λv 。这里 v \mathbf{v} v就是右奇异向量, A A T \mathbf{A}\mathbf{A}^T AAT的特征值为 λ 1 , λ 2 , ⋯ , λ m \lambda_1, \lambda_2, \cdots, \lambda_m λ1,λ2,⋯,λm,则 σ i = λ i \sigma_i=\sqrt{\lambda_i} σi=λi, u i = 1 σ i v i u_i=\frac{1}{\sigma_i}v_i ui=σi1vi 。这里的 σ \sigma σ就是奇异值, u u u就是左奇异向量。
奇异值 σ \sigma σ和特征值类似,在矩阵 Ψ \Psi Ψ中也是从大到小排列的,而且 σ \sigma σ的减小特别快。在很多情况下,前 10 % 10\% 10%甚至 1 % 1\% 1%的奇异值之和就占了全部奇异值之和的 99 % 99\% 99%以上。也就是说,我们也可以用前 r r r( r r r远小于 m m m、 n n n)个奇异值来近似描述矩阵: A n × n ≈ U m × r ∑ r × r V r × n T A_{n×n}\approx U_{m×r}\sum_{r×r}V_{r×n}^T An×n≈Um×r∑r×rVr×nT 。右边的三个矩阵相乘的结果将会是一个接近于 A \mathbf{A} A的矩阵, r r r越接近于 n n n,相乘的结果就越接近于 A \mathbf{A} A。
5. 概率分布与随机变量
5.1 机器学习为什么要使用概率
事件的概率是对该事件发生的可能性的量度。虽然在一次随机试验中某个事件是否发生是带有偶然性的,但那些可在相同条件下大量重复的随机试验,其结果往往呈现出明显的数值规律。
机器学习除了要处理不确定量,也需处理随机量。不确定性和随机性可能来自多个方面,我们使用概率论来量化不确定性。概率论在机器学习中扮演着一个核心角色,因为机器学习算法的设计通常依赖于对数据的概率假设。例如在Andrew Ng公开课中,朴素贝叶斯假设就是条件独立的例子,该学习算法对内容做出假设,用来分辨电子邮件是否为垃圾邮件。
5.2 变量与随机变量的区别
随机变量是表示随机现象的各种结果的变量。例如,某段时间内公共汽车站等车乘客人数、电话交换台在一定时间内收到的呼叫次数等,都是随机变量。
变量与随机变量的区别在于,当变量取某个值的概率不是1时,变量就变成了随机变量;当随机变量取某个值的概率为1时,随机变量就变成了变量。例如,如果变量 x x x的值为100的概率为1,那么 x = 100 x = 100 x=100就是确定的,不会再有变化,除非做进一步运算。如果变量 x x x的值为100的概率不为1,比如为50的概率是0.5,为100的概率是0.5,那么这个变量就是会随不同条件而变化的,是随机变量。
5.3 随机变量与概率分布的联系
一个随机变量仅仅表示一个可能取得的状态,还必须给定与之相伴的概率分布来确定每个状态的可能性。用来描述随机变量或一簇随机变量的每一个可能状态的可能性大小的概率规律,就是概率分布。随机变量可以分为离散型随机变量和连续型随机变量,相应的描述其概率分布的函数如下:
- 概率质量函数:描述离散型随机变量的概率分布,通常用大写字母 P P P表示。
- 概率密度函数:描述连续型随机变量的概率分布,通常用小写字母 p p p表示。
5.4 离散型随机变量和概率质量函数
概率质量函数是将随机变量能够取得的每个状态映射到随机变量取得该状态的概率。一般而言, P ( x ) P(x) P(x)表示 X = x X = x X=x的概率。有时为了防止混淆,要明确写出随机变量的名称,如 P ( X = x ) P(X = x) P(X=x)。有时需要先定义一个随机变量,然后说明它遵循的概率分布 X X X服从 P ( X ) P(X) P(X) 。
概率质量函数可以同时作用于多个随机变量,即联合概率分布。 P ( X = x , Y = y ) P(X = x, Y = y) P(X=x,Y=y),表示 X = x X = x X=x和 Y = y Y = y Y=y同时发生的概率,也可以简写成 P ( x , y ) P(x, y) P(x,y)。
如果一个函数 P P P是随机变量 X X X的概率质量函数,那么它必须满足如下三个条件:
- P P P的定义域必须是所有可能状态的集合。
- ∀ x ∈ X , 0 ≤ P ( x ) ≤ 1 \forall x \in X, 0 \leq P(x) \leq 1 ∀x∈X,0≤P(x)≤1。
- ∑ x P ( x ) = 1 \sum_{x}P(x)=1 ∑xP(x)=1。
5.5 连续型随机变量和概率密度函数
如果一个函数 p p p是 x x x的概率密度函数,那么它必须满足如下几个条件:
- p p p的定义域必须是 x x x的所有可能状态的集合。
- ∀ x ∈ X \forall x \in X ∀x∈X, p ( x ) ≥ 0 p(x) \geq 0 p(x)≥0。注意,我们并不要求 p ( x ) ≤ 1 p(x) \leq 1 p(x)≤1,因为此处 p ( x ) p(x) p(x)不表示对应此状态的具体概率,而是概率的一个相对大小(密度),具体的概率需要用积分去求。
- ∫ p ( x ) d x = 1 \int p(x)dx = 1 ∫p(x)dx=1,求积分,总和还是1,概率之和还是1。
概率密度函数 p ( x ) p(x) p(x)并没有直接对特定的状态给出概率,而是给出了密度,即概率的相对大小,它给出了落在面积为 σ ( x ) \sigma(x) σ(x)的无限小区域内的概率为 p ( x ) σ ( x ) p(x)\sigma(x) p(x)σ(x)。由此无法求得具体某个状态的概率,但可以求得某个状态 x x x落在某个区间 [ a , b ] [a, b] [a,b]内的概率,为 ∫ a b p ( x ) d x \int_{a}^{b}p(x)dx ∫abp(x)dx。
5.6 举例理解条件概率
条件概率公式为 P ( A ∣ B ) = P ( A ∩ B ) P ( B ) P(A|B)=\frac{P(A \cap B)}{P(B)} P(A∣B)=P(B)P(A∩B) 。在同一个样本空间 Ω \Omega Ω中的事件或子集 A A A、 B B B,如果从 Ω \Omega Ω中随机选出的一个元素属于 B B B,那么下一个随机选择的元素属于 A A A的概率就定义为,在 B B B的前提下 A A A的条件概率。
例如,一对夫妻有两个小孩,已知其中一个是女孩,则另一个是女孩的概率是多少?用穷举法,已知其中一个是女孩,样本空间为男女、女女、女男,则另外一个仍然是女孩的概率就是 1 3 \frac{1}{3} 31;用条件概率法,夫妻有两个小孩,样本空间为女女、男女、女男、男男,最后也可得出概率为 1 3 \frac{1}{3} 31。
5.7 联合概率与边缘概率的区别和联系
联合概率指在多元的概率分布中多个随机变量分别满足各自条件的概率,如 P ( X = a , Y = b ) P(X = a, Y = b) P(X=a,Y=b),包含多个条件且所有条件同时成立的概率就是联合概率。边缘概率是某个事件发生的概率,与其他事件无关,如 P ( X = a ) P(X = a) P(X=a), P ( Y = b ) P(Y = b) P(Y=b),仅与单个随机变量有关的概率就是边缘概率。知道联合概率可求边缘概率;但若只知道边缘概率,无法求得联合概率。
5.8 条件概率的链式法则
由条件概率的定义可直接得出乘法公式。设
A
A
A、
B
B
B是两个事件,并且
P
(
A
)
>
0
P(A)>0
P(A)>0,则有
P
(
A
B
)
=
P
(
B
∣
A
)
P
(
A
)
P(AB)=P(B|A)P(A)
P(AB)=P(B∣A)P(A)。拓展到三个事件,公式为
P
(
A
B
C
)
=
P
(
C
∣
A
B
)
P
(
B
∣
A
)
P
(
A
)
P(ABC)=P(C|AB)P(B|A)P(A)
P(ABC)=P(C∣AB)P(B∣A)P(A)。一般地,用归纳法可证明可得:
P
(
A
1
A
2
⋯
A
n
)
=
P
(
A
n
∣
A
1
A
2
⋯
A
n
−
1
)
P
(
A
n
−
1
∣
A
1
A
2
⋯
A
n
−
2
)
⋯
P
(
A
2
∣
A
1
)
P
(
A
1
)
=
P
(
A
1
)
∏
i
=
2
n
P
(
A
i
∣
A
1
A
2
⋯
A
i
−
1
)
P(A_1A_2\cdots A_n)=P(A_n|A_1A_2\cdots A_{n - 1})P(A_{n - 1}|A_1A_2\cdots A_{n - 2})\cdots P(A_2|A_1)P(A_1)=P(A_1)\prod_{i = 2}^{n}P(A_i|A_1A_2\cdots A_{i - 1})
P(A1A2⋯An)=P(An∣A1A2⋯An−1)P(An−1∣A1A2⋯An−2)⋯P(A2∣A1)P(A1)=P(A1)i=2∏nP(Ai∣A1A2⋯Ai−1)
任何多维随机变量的联合概率分布,都可以转换成只有一个变量的条件概率相乘的形式。
5.9 独立性和条件独立性
5.9.1 独立性
两个随机变量 x x x和 y y y,概率分布表示成两个因子乘积的形式,一个因子只包含 x x x,另一个因子只包含 y y y,则两个随机变量相互独立。事件独立时,联合概率等于概率的乘积。然而,无条件的独立是十分罕见的,因为大部分情况下,事件之间都是互相影响的。
5.9.2 条件独立性
在给定 Z Z Z的情况下, X X X和 Y Y Y条件独立,当且仅当 X ⊥ Y ∣ Z ⇔ P ( X , Y ∣ Z ) = P ( X ∣ Z ) P ( Y ∣ Z ) X \perp Y|Z \Leftrightarrow P(X, Y|Z)=P(X|Z)P(Y|Z) X⊥Y∣Z⇔P(X,Y∣Z)=P(X∣Z)P(Y∣Z)。 X X X和 Y Y Y的关系依赖于 Z Z Z,而不是直接产生的。例如,定义事件 X X X:明天下雨; Y Y Y:今天的地面是湿的; Z Z Z:今天下雨。 Z Z Z事件是否成立,对 X X X和 Y Y Y均有影响,然而,在 Z Z Z事件成立的前提下,今天的地面情况对明天是否下雨没有影响。
6. 常见概率分布
6.1 伯努利分布
伯努利分布是单个二值随机变量分布,它由参数
φ
\varphi
φ控制,其中
φ
∈
[
0
,
1
]
\varphi \in [0,1]
φ∈[0,1],
φ
\varphi
φ给出随机变量等于1的概率。主要性质有:
P
(
X
=
1
)
=
φ
P(X = 1)=\varphi
P(X=1)=φ
P
(
X
=
0
)
=
1
−
φ
P(X = 0)=1 - \varphi
P(X=0)=1−φ
P
(
X
=
x
)
=
φ
x
(
1
−
φ
)
1
−
x
P(X = x)=\varphi^{x}(1 - \varphi)^{1 - x}
P(X=x)=φx(1−φ)1−x
其期望和方差为:
E
x
[
X
]
=
φ
E_{x}[X]=\varphi
Ex[X]=φ
V
a
r
x
(
X
)
=
φ
(
1
−
φ
)
Var_{x}(X)=\varphi(1 - \varphi)
Varx(X)=φ(1−φ)
Multinoulli分布也叫范畴分布、分类分布,是伯努利分布从两个取值状态到多个取值状态的扩展,是单个
k
k
k值随机分布,经常用来表示对象分类的分布,其中
k
k
k是有限值。伯努利分布适用于对离散型随机变量建模的场景。
6.2 高斯分布
高斯分布也叫正态分布,概率密度函数为:
N
(
x
,
μ
,
σ
2
)
=
1
2
π
σ
2
exp
(
−
1
2
σ
2
(
x
−
μ
)
2
)
N(x,\mu,\sigma^{2})=\sqrt{\frac{1}{2\pi\sigma^{2}}}\exp\left(-\frac{1}{2\sigma^{2}}(x - \mu)^{2}\right)
N(x,μ,σ2)=2πσ21exp(−2σ21(x−μ)2)
其中,
μ
\mu
μ和
σ
\sigma
σ分别是均值和方差,中心峰值
x
x
x的坐标由
μ
\mu
μ给出,峰的宽度受
σ
\sigma
σ控制,最大点在
x
=
μ
x = \mu
x=μ处,拐点为
x
=
μ
±
σ
x=\mu \pm \sigma
x=μ±σ。在正态分布中,
±
1
σ
\pm1\sigma
±1σ、
±
2
σ
\pm2\sigma
±2σ、
±
3
σ
\pm3\sigma
±3σ下的概率分别是
68.3
%
68.3\%
68.3%、
95.5
%
95.5\%
95.5%、
99.73
%
99.73\%
99.73%,这三个概率为常用的概率值,建议记住这三个数。
令
μ
=
0
\mu = 0
μ=0,
σ
=
1
\sigma = 1
σ=1,高斯分布即简化为标准正态分布:
N
(
x
,
μ
,
σ
2
)
=
1
2
π
exp
(
−
1
2
x
2
)
N(x,\mu,\sigma^{2})=\sqrt{\frac{1}{2\pi}}\exp\left(-\frac{1}{2}x^{2}\right)
N(x,μ,σ2)=2π1exp(−21x2)
对概率密度函数高效求值:
N
(
x
,
μ
,
β
−
1
)
=
β
2
π
exp
(
−
1
2
β
(
x
−
μ
)
2
)
N(x,\mu,\beta^{-1})=\sqrt{\frac{\beta}{2\pi}}\exp\left(-\frac{1}{2}\beta(x - \mu)^{2}\right)
N(x,μ,β−1)=2πβexp(−21β(x−μ)2)
其中,通过参数
β
∈
(
0
,
∞
)
\beta \in (0,\infty)
β∈(0,∞)来控制分布精度。
如果缺乏分布规律的先验知识,不知选择何种形式,那么默认选择正态分布总是不会错的。原因在于中心极限定理告诉我们,很多独立随机变量均近似服从正态分布,现实中很多复杂系统都可以被建模成正态分布的噪声;在具有相同方差的所有概率分布中,正态分布是不确定性最大的分布,即对模型加入先验知识最少的分布。
正态分布可以推广到
R
n
R^{n}
Rn空间,此时称为多维正态分布,其参数是一个正定对称矩阵
∑
\sum
∑ :
N
(
x
;
μ
,
∑
)
=
1
(
2
π
)
n
det
(
∑
)
exp
(
−
1
2
(
x
−
μ
)
∑
−
1
(
x
−
μ
)
)
N(x;\mu,\sum)=\sqrt{\frac{1}{(2\pi)^{n}\det(\sum)}}\exp\left(-\frac{1}{2}(x - \mu)\sum^{-1}(x - \mu)\right)
N(x;μ,∑)=(2π)ndet(∑)1exp(−21(x−μ)∑−1(x−μ))
对多维正态分布概率密度高效求值:
N
(
x
;
μ
,
β
−
1
)
=
det
(
β
)
(
2
π
)
n
exp
(
−
1
2
(
x
−
μ
)
T
β
(
x
−
μ
)
)
N(x;\mu,\beta^{-1})=\sqrt{\det(\beta)}(2\pi)^{n}\exp\left(-\frac{1}{2}(x - \mu)^{T}\beta(x - \mu)\right)
N(x;μ,β−1)=det(β)(2π)nexp(−21(x−μ)Tβ(x−μ))
此处,
β
\beta
β是一个精度矩阵。
6.3 指数分布
在深度学习中,指数分布用来描述在
x
=
0
x = 0
x=0点处取得边界点的分布,指数分布定义如下:
p
(
x
,
λ
)
=
λ
I
x
≥
0
exp
(
−
λ
x
)
p(x,\lambda)=\lambda I_{x \geq 0}\exp(-\lambda x)
p(x,λ)=λIx≥0exp(−λx)
指数分布用指示函数
I
x
≥
0
I_{x \geq 0}
Ix≥0来使
x
x
x取负值时的概率为零。
6.4 Laplace分布
Laplace分布允许我们在任意一点
μ
\mu
μ处设置概率质量的峰值:
L
a
p
l
a
c
e
(
x
,
μ
;
r
)
=
1
2
r
exp
(
−
∣
x
−
μ
∣
r
)
Laplace(x,\mu;r)=\frac{1}{2r}\exp\left(-\frac{|x - \mu|}{r}\right)
Laplace(x,μ;r)=2r1exp(−r∣x−μ∣)
6.5 Dirac分布和经验分布
Dirac分布可保证概率分布中的所有质量都集中在一个点上。Dirac分布的Dirac
δ
\delta
δ函数(也称为单位脉冲函数)定义如下:
p
(
x
)
=
δ
(
x
−
μ
)
,
x
≠
μ
p(x)=\delta(x - \mu), x \neq \mu
p(x)=δ(x−μ),x=μ
∫
a
b
δ
(
x
−
μ
)
d
x
=
1
,
a
<
μ
<
b
\int_{a}^{b}\delta(x - \mu)dx = 1, a < \mu < b
∫abδ(x−μ)dx=1,a<μ<b
Dirac分布经常作为经验分布的一个组成部分出现:
p
^
(
x
)
=
1
m
∑
i
=
1
m
δ
(
x
−
x
(
i
)
)
\hat{p}(x)=\frac{1}{m}\sum_{i = 1}^{m}\delta(x - x^{(i)})
p^(x)=m1i=1∑mδ(x−x(i))
其中,
m
m
m个点是给定的数据集,经验分布将概率密度赋给了这些点。当我们在训练集上训练模型时,可以认为从这个训练集上得到的经验分布指明了采样来源。Dirac
δ
\delta
δ函数适用于连续型随机变量的经验分布。
7. 期望、方差、协方差、相关系数
7.1 期望
在概率论和统计学中,数学期望(简称期望或均值)等于试验中每次可能结果的概率乘以其结果的总和,用 E E E表示,它反映随机变量平均取值的大小。
- 线性运算: E ( a x + b y + c ) = a E ( x ) + b E ( y ) + c E(ax + by + c)=aE(x)+bE(y)+c E(ax+by+c)=aE(x)+bE(y)+c 。
- 推广形式: E ( ∑ i = 1 n a i x i + c ) = ∑ i = 1 n a i E ( x i ) + c E\left(\sum_{i = 1}^{n}a_{i}x_{i}+c\right)=\sum_{i = 1}^{n}a_{i}E\left(x_{i}\right)+c E(∑i=1naixi+c)=∑i=1naiE(xi)+c 。
- 函数期望:设
f
(
x
)
f(x)
f(x)为
x
x
x的函数,则
f
(
x
)
f(x)
f(x)的期望为:
- 离散函数: E ( f ( x ) ) = ∑ k = 1 n f ( x k ) p ( x k ) E(f(x))=\sum_{k = 1}^{n}f(x_{k})p(x_{k}) E(f(x))=∑k=1nf(xk)p(xk) 。
- 连续函数: E ( f ( x ) ) = ∫ − ∞ + ∞ f ( x ) p ( x ) d x E(f(x))=\int_{-\infty}^{+\infty}f(x)p(x)dx E(f(x))=∫−∞+∞f(x)p(x)dx 。
关于期望,需要注意:
- 函数的期望大于等于期望的函数(Jensen不等式)。
- 一般情况下,乘积的期望不等于期望的乘积。
- 如果 x x x和 y y y相互独立,则 E ( x y ) = E ( x ) E ( y ) E(xy)=E(x)E(y) E(xy)=E(x)E(y)。
7.2 方差
在概率论中,方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。方差是一种特殊的期望,用
V
a
r
Var
Var表示,离散型随机变量
x
x
x的方差定义为:
V
a
r
(
x
)
=
E
(
(
x
−
E
(
x
)
)
2
)
Var(x)=E((x - E(x))^{2})
Var(x)=E((x−E(x))2)
也可表示为:
V
a
r
(
x
)
=
E
(
x
2
)
−
E
(
x
)
2
Var(x)=E(x^{2}) - E(x)^{2}
Var(x)=E(x2)−E(x)2
方差的性质如下:
- 常数的方差为0。
- 方差不满足线性性质。
- 如果 x x x和 y y y相互独立,则 V a r ( a x + b y ) = a 2 V a r ( x ) + b 2 V a r ( y ) Var(ax + by)=a^{2}Var(x)+b^{2}Var(y) Var(ax+by)=a2Var(x)+b2Var(y) 。
7.3 协方差
协方差是衡量两个变量线性相关性程度及变量尺度,用
C
o
v
Cov
Cov表示,两个随机变量
x
x
x和
y
y
y的协方差定义为:
C
o
v
(
x
,
y
)
=
E
(
(
x
−
E
(
x
)
)
(
y
−
E
(
y
)
)
)
Cov(x,y)=E((x - E(x))(y - E(y)))
Cov(x,y)=E((x−E(x))(y−E(y)))
方差是一种特殊的协方差,当
x
=
y
x = y
x=y时,
C
o
v
(
x
,
y
)
=
V
a
r
(
x
)
=
V
a
r
(
y
)
Cov(x,y)=Var(x)=Var(y)
Cov(x,y)=Var(x)=Var(y) 。协方差的性质如下:
- 独立变量的协方差为0。
- 协方差的计算公式为: C o v ( ∑ i = 1 m a i x i , ∑ j = 1 m b j y j ) = ∑ i = 1 m ∑ j = 1 m a i b j C o v ( x i , y j ) Cov\left(\sum_{i = 1}^{m}a_{i}x_{i},\sum_{j = 1}^{m}b_{j}y_{j}\right)=\sum_{i = 1}^{m}\sum_{j = 1}^{m}a_{i}b_{j}Cov\left(x_{i},y_{j}\right) Cov(∑i=1maixi,∑j=1mbjyj)=∑i=1m∑j=1maibjCov(xi,yj) 。
- 特殊情况下,利用方差及协方差的性质可证得: C o v ( a + b x , c + d y ) = b d C o v ( x , y ) Cov(a + bx,c + dy)=bdCov(x,y) Cov(a+bx,c+dy)=bdCov(x,y) 。
7.4 相关系数
相关系数是研究变量之间线性相关程度的量,用
C
o
r
r
Corr
Corr表示。两个随机变量
x
x
x和
y
y
y的相关系数定义为:
C
o
r
r
(
x
,
y
)
=
C
o
v
(
x
,
y
)
V
a
r
(
x
)
V
a
r
(
y
)
Corr(x,y)=\frac{Cov(x,y)}{\sqrt{Var(x)Var(y)}}
Corr(x,y)=Var(x)Var(y)Cov(x,y)
相关系数的性质如下:
- 有界性。相关系数的取值范围是 [ − 1 , 1 ] [-1,1] [−1,1],可以看成无量纲的协方差。
- 相关系数的值越接近1,说明两个变量正相关性(线性)越强;越接近 -1,说明负相关性越强;当值为0时,表示两个变量没有相关性。
深度学习中的数学知识是理解和掌握深度学习的基石,通过对向量、矩阵、导数、概率等知识的深入学习,我们能够更好地理解深度学习模型的原理和机制,为进一步的研究和实践打下坚实的基础。希望本文能帮助大家在深度学习的数学之旅中有所收获,不断探索深度学习的奥秘。