第 1 章 高等数学

1.1 导数

1.1.1 导数的概念

导数(derivative)是微积分中的一个概念。函数在某一点的导数是指这个函数在这一点附近的变化率(即函数在这一点的切线斜率)。导数的本质是通过极限的概念对函数进行局部的线性逼近。

当函数 fff 的自变量在一点 x0x_0x0 上产生一个增量 hhh 时,函数输出值的增量 Δy\Delta yΔy 与自变量增量 Δx\Delta xΔx 的比值在 Δx\Delta xΔx 趋于 0 时的极限如果存在,即为 fffx0x_0x0 处的导数,记作 f′(x0)f'(x_0)f(x0)dfdx(x0)\frac{df}{dx}(x_0)dxdf(x0)dfdx∣x=x0\left.\frac{df}{dx}\right|_{x=x_0}dxdf x=x0

f′(x0)=lim⁡Δx→0f(x0+Δx)−f(x0)Δx f'(x_0) = \lim_{\Delta x \to 0} \frac{f(x_0 + \Delta x) - f(x_0)}{\Delta x} f(x0)=Δx0limΔxf(x0+Δx)f(x0)

例如在运动学中,物体的位移对于时间的导数就是物体的瞬时速度:v=dxdtv = \frac{dx}{dt}v=dtdx

1.1.2 基本函数的导数

说明 公式 例子
常数的导数 C′=0C' = 0C=0 3′=03' = 03=0
幂函数的导数 (xα)′=αxα−1(x^\alpha)' = \alpha x^{\alpha-1}(xα)=αxα1 (x3)′=3x2(x^3)' = 3x^2(x3)=3x2
指数函数的导数 (ax)′=axln⁡a(a^x)' = a^x \ln a(ax)=axlna (3x)′=3xln⁡3(3^x)' = 3^x \ln 3(3x)=3xln3
(ex)′=ex(e^x)' = e^x(ex)=ex
对数函数的导数 (log⁡ax)′=1xln⁡a(\log_a x)' = \frac{1}{x \ln a}(logax)=xlna1 (log⁡3x)′=1xln⁡3(\log_3 x)' = \frac{1}{x \ln 3}(log3x)=xln31
(ln⁡x)′=1x(\ln x)' = \frac{1}{x}(lnx)=x1
三角函数的导数 (sin⁡x)′=cos⁡x(\sin x)' = \cos x(sinx)=cosx
(cos⁡x)′=−sin⁡x(\cos x)' = -\sin x(cosx)=sinx
(tan⁡x)′=sec⁡2x=1cos⁡2x(\tan x)' = \sec^2 x = \frac{1}{\cos^2 x}(tanx)=sec2x=cos2x1
(cot⁡x)′=−csc⁡2x=−1sin⁡2x(\cot x)' = -\csc^2 x = -\frac{1}{\sin^2 x}(cotx)=csc2x=sin2x1

1.1.3 导数的求导法则

说明 公式
两函数之和求导 (f+g)′=f′+g′(f+g)' = f' + g'(f+g)=f+g
两函数之积求导 (fg)′=f′g+fg′(fg)' = f'g + fg'(fg)=fg+fg
两函数之商求导 (fg)′=f′g−fg′g2\left(\frac{f}{g}\right)' = \frac{f'g - fg'}{g^2}(gf)=g2fgfg
复合函数的导数 f(x)=h(g(x))f(x) = h(g(x))f(x)=h(g(x)),则 f′(x)=h′(g(x))⋅g′(x)f'(x) = h'(g(x)) \cdot g'(x)f(x)=h(g(x))g(x)

例如:求函数 f(x)=x4+sin⁡(x2)−ln⁡x⋅ex+7f(x) = x^4 + \sin(x^2) - \ln x \cdot e^x + 7f(x)=x4+sin(x2)lnxex+7x=3x=3x=3 处的导数。

f′(x)=4x3+cos⁡(x2)⋅2x−(exx+ln⁡x⋅ex)=4x3+2xcos⁡(x2)−exx−ln⁡x⋅ex \begin{aligned} f'(x) &= 4x^{3} + \cos(x^2) \cdot 2x - \left( \frac{e^x}{x} + \ln x \cdot e^x \right) \\ &= 4x^3 + 2x \cos(x^2) - \frac{e^x}{x} - \ln x \cdot e^x \end{aligned} f(x)=4x3+cos(x2)2x(xex+lnxex)=4x3+2xcos(x2)xexlnxex

f′(3)=108+6cos⁡9−e33−ln⁡3⋅e3 f'(3) = 108 + 6 \cos 9 - \frac{e^3}{3} - \ln 3 \cdot e^3 f(3)=108+6cos93e3ln3e3

1.1.4 利用导数求极值

导数等于零的点称为函数的驻点(或极值可疑点),在这类点上函数可能会取得极大值或极小值。进一步判断则需要知道导数在附近的符号。

例如,f(x)=x3f(x) = x^3f(x)=x3x=0x=0x=0 处导数为 0,但并不会取得极大值或者极小值。

1.1.5 二阶导数

1)二阶导数的概念

在微积分中,函数的二阶导数是函数导数的导数。粗略来说,某个量的二阶导数描述该量变化率变化的快慢。例如物体位置对时间的二阶导数是物体的瞬时加速度,即该物体速度随时间的变化率:a=dvdt=d2xdt2a = \frac{dv}{dt} = \frac{d^2x}{dt^2}a=dtdv=dt2d2x

函数 fff 的二阶导数通常记作 f′′f''f′′d2ydx2\frac{d^2y}{dx^2}dx2d2yddx(dydx)\frac{d}{dx}\left(\frac{dy}{dx}\right)dxd(dxdy)

2)二阶导数与函数凹凸的关系

函数的二阶导数描述了函数图像的凹凸方向和程度。若二阶导数在某区间恒为正,则函数在该区间向上弯(也称下凸函数)。反之,若二阶导数在某区间恒为负,则函数在该区间向下弯(也称上凸函数)。

若函数的二阶导数在某点左右异号,则图像由向上弯转为向下弯,或反之。这种点称之为拐点。若二阶导数连续,则在该点处二阶导数为 0。但反之二阶导数为 0 的点不一定是拐点。如 f(x)=x4f(x)=x^4f(x)=x4,在 x=0x=0x=0 处有 f′′(0)=0f''(0)=0f′′(0)=0,但 f(x)f(x)f(x) 在实数系上无拐点。

二阶导数与凹凸性的关系有助于判断函数的驻点是否为极大值点或极小值点:

  • f′(x)=0f'(x)=0f(x)=0f′′(x)<0f''(x)<0f′′(x)<0,则 fffxxx 取得极大值。
  • f′(x)=0f'(x)=0f(x)=0f′′(x)>0f''(x)>0f′′(x)>0,则 fffxxx 取得极小值。
  • f′(x)=0f'(x)=0f(x)=0f′′(x)=0f''(x)=0f′′(x)=0,则该点可能是拐点,也可能是极大值点或极小值点。

1.2 偏导与梯度

1.2.1 偏导数

如果函数 fff 的自变量并非单个元素,而是多个元素,例如:

f(x,y)=x2+xy+y2 f(x,y) = x^2 + xy + y^2 f(x,y)=x2+xy+y2

可将其中一个元素 xxx 看作常数,此时 fff 可看作关于另一元素 yyy 的函数。

fx(y)=x2+xy+y2 f_x(y) = x^2 + xy + y^2 fx(y)=x2+xy+y2

x=ax=ax=a 固定的情况下,可计算 fxf_xfx 关于 yyy 的导数:

fx′(y)=a+2y f_x'(y) = a + 2y fx(y)=a+2y

这种导数称为偏导数,一般记作:

∂f∂y(x,y)=x+2y \frac{\partial f}{\partial y}(x,y) = x + 2y yf(x,y)=x+2y

更一般地来说,一个多元函数 f(x1,x2,…,xn)f(x_1, x_2, \dots, x_n)f(x1,x2,,xn) 在点 (a1,a2,…,an)(a_1, a_2, \dots, a_n)(a1,a2,,an) 处对 xix_ixi 的偏导数定义为:

∂f∂xi(a1,a2,…,an)=lim⁡Δxi→0f(a1,…,ai+Δxi,…,an)−f(a1,…,ai,…,an)Δxi \frac{\partial f}{\partial x_i}(a_1, a_2, \dots, a_n) = \lim_{\Delta x_i \to 0} \frac{f(a_1, \dots, a_i + \Delta x_i, \dots, a_n) - f(a_1, \dots, a_i, \dots, a_n)}{\Delta x_i} xif(a1,a2,,an)=Δxi0limΔxif(a1,,ai+Δxi,,an)f(a1,,ai,,an)

1.2.2 方向导数

偏导数可以看作是多元函数 fff 沿某个自变量轴方向的变化率。

如果我们任意选取一个方向 lll,那么在某个点 (x0,y0)(x_0, y_0)(x0,y0) 处,二元函数 f(x,y)f(x,y)f(x,y) 沿着这个方向的变化率可以用极限定义为:

∂f∂l∣(x0,y0)=lim⁡Δl→0f(x0+Δx,y0+Δy)−f(x0,y0)Δl \frac{\partial f}{\partial l}\bigg|_{(x_0, y_0)} = \lim_{\Delta l \to 0} \frac{f(x_0 + \Delta x, y_0 + \Delta y) - f(x_0, y_0)}{\Delta l} lf (x0,y0)=Δl0limΔlf(x0+Δx,y0+Δy)f(x0,y0)

这里,Δl\Delta lΔl 就是沿方向 lll 的微小改变量,Δx\Delta xΔxΔy\Delta yΔyΔl\Delta lΔl 的关系为:

Δx=Δl⋅cos⁡α,Δy=Δl⋅cos⁡β \Delta x = \Delta l \cdot \cos\alpha, \quad \Delta y = \Delta l \cdot \cos\beta Δx=Δlcosα,Δy=Δlcosβ

根据全微分公式,上式可以表示为:

∂f∂l∣(x0,y0)=fx(x0,y0)cos⁡α+fy(x0,y0)cos⁡β \frac{\partial f}{\partial l}\bigg|_{(x_0, y_0)} = f_x(x_0, y_0) \cos\alpha + f_y(x_0, y_0) \cos\beta lf (x0,y0)=fx(x0,y0)cosα+fy(x0,y0)cosβ

其中 fx(x0,y0)f_x(x_0, y_0)fx(x0,y0)fy(x0,y0)f_y(x_0, y_0)fy(x0,y0) 表示点 (x0,y0)(x_0, y_0)(x0,y0)fffxxxyyy 的偏导数;cos⁡α\cos\alphacosαcos⁡β\cos\betacosβ 是方向 lll 的方向余弦,即 lll 方向的单位方向向量可以表示为 l0=(cos⁡α,cos⁡β)\mathbf{l}_0 = (\cos\alpha, \cos\beta)l0=(cosα,cosβ)

这个“沿某个方向的变化率”,就被称为 f(x,y)f(x,y)f(x,y) 沿方向 lll 的方向导数。

1.2.3 梯度

多元函数 f(x1,…,xn)f(x_1, \dots, x_n)f(x1,,xn) 关于每个变量 xix_ixi 都有偏导数 ∂f∂xi\frac{\partial f}{\partial x_i}xif,在点 a=(a1,a2,…,an)\mathbf{a} = (a_1, a_2, \dots, a_n)a=(a1,a2,,an) 处,这些偏导数定义出一个向量:

∇f(a)=(∂f∂x1(a),∂f∂x2(a),…,∂f∂xn(a)) \nabla f(\mathbf{a}) = \left( \frac{\partial f}{\partial x_1}(\mathbf{a}), \frac{\partial f}{\partial x_2}(\mathbf{a}), \dots, \frac{\partial f}{\partial x_n}(\mathbf{a}) \right) f(a)=(x1f(a),x2f(a),,xnf(a))

这个向量称为 fff 在点 a\mathbf{a}a 的梯度,记作 ∇f(a)\nabla f(\mathbf{a})f(a) 或者 grad⁡f(a)\operatorname{grad} f(\mathbf{a})gradf(a)

例如:f(x,y)=x2+xy+y2f(x,y) = x^2 + xy + y^2f(x,y)=x2+xy+y2(1,1)(1,1)(1,1) 处的梯度为 (3,3)(3,3)(3,3)

梯度向量表示的方向,就是函数在这一点处,方向导数取最大值的方向。换句话说,梯度的方向,就是函数值变化最快的方向。

第 2 章 线性代数

2.1 标量与向量

2.1.1 标量与向量的概念

  1. 标量(scalar):标量是一个单独的数,只有大小。
  2. 向量(vector):向量由标量组成,有大小有方向。

行向量:[258]\begin{bmatrix} 2 & 5 & 8 \end{bmatrix}[258]
列向量:[258]\begin{bmatrix} 2 \\ 5 \\ 8 \end{bmatrix} 258

2.1.2 向量运算

  1. 向量转置:列向量转置结果为行向量

x=[258],xT=[258] \mathbf{x} = \begin{bmatrix} 2 \\ 5 \\ 8 \end{bmatrix}, \quad \mathbf{x}^T = \begin{bmatrix} 2 & 5 & 8 \end{bmatrix} x= 258 ,xT=[258]

  1. 向量相加:对应元素相加

[258]+[137]=[3815] \begin{bmatrix} 2 \\ 5 \\ 8 \end{bmatrix} + \begin{bmatrix} 1 \\ 3 \\ 7 \end{bmatrix} = \begin{bmatrix} 3 \\ 8 \\ 15 \end{bmatrix} 258 + 137 = 3815

  1. 向量与标量相乘:标量与向量每个元素相乘

3×[258]=[61524] 3 \times \begin{bmatrix} 2 \\ 5 \\ 8 \end{bmatrix} = \begin{bmatrix} 6 \\ 15 \\ 24 \end{bmatrix} 3× 258 = 61524

  1. 向量内积:又称向量点乘,两向量对应元素乘积之和,结果为标量

⟨x,y⟩=[258]⋅[137]=2+15+56=73 \langle \mathbf{x}, \mathbf{y} \rangle = \begin{bmatrix} 2 & 5 & 8 \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 3 \\ 7 \end{bmatrix} = 2 + 15 + 56 = 73 x,y=[258] 137 =2+15+56=73

两向量之间夹角表示为

cos⁡θ=⟨x,y⟩⟨x,x⟩⟨y,y⟩ \cos\theta = \frac{\langle \mathbf{x}, \mathbf{y} \rangle}{\sqrt{\langle \mathbf{x}, \mathbf{x} \rangle} \sqrt{\langle \mathbf{y}, \mathbf{y} \rangle}} cosθ=x,x y,y x,y

2.1.3 向量范数

范数(norm)是具有“长度”概念的函数。

  1. L0 范数(也称 0 范数)
    ∥x∥0=非零元素的个数\|\mathbf{x}\|_0 = \text{非零元素的个数}x0=非零元素的个数
    例如:x=[02−1]T\mathbf{x} = \begin{bmatrix} 0 & 2 & -1 \end{bmatrix}^Tx=[021]T∥x∥0=2\|\mathbf{x}\|_0 = 2x0=2

  2. L1 范数(也称和范数或 1 范数)
    ∥x∥1=∑i=1m∣xi∣=∣x1∣+⋯+∣xm∣\|\mathbf{x}\|_1 = \sum_{i=1}^{m} |x_i| = |x_1| + \dots + |x_m|x1=i=1mxi=x1++xm
    例如:x=[02−1]T\mathbf{x} = \begin{bmatrix} 0 & 2 & -1 \end{bmatrix}^Tx=[021]T∥x∥1=0+2+1=3\|\mathbf{x}\|_1 = 0+2+1 = 3x1=0+2+1=3

  3. L2 范数(也称欧几里得范数或 2 范数)
    ∥x∥2=(∑i=1m∣xi∣2)12=x12+⋯+xm2\|\mathbf{x}\|_2 = \left( \sum_{i=1}^{m} |x_i|^2 \right)^{\frac{1}{2}} = \sqrt{x_1^2 + \dots + x_m^2}x2=(i=1mxi2)21=x12++xm2
    例如:x=[02−1]T\mathbf{x} = \begin{bmatrix} 0 & 2 & -1 \end{bmatrix}^Tx=[021]T∥x∥2=0+4+1=5\|\mathbf{x}\|_2 = \sqrt{0+4+1} = \sqrt{5}x2=0+4+1 =5

  4. Lp 范数
    ∥x∥p=(∑i=1m∣xi∣p)1p=(∣x1∣p+⋯+∣xm∣p)1p\|\mathbf{x}\|_p = \left( \sum_{i=1}^{m} |x_i|^p \right)^{\frac{1}{p}} = \left( |x_1|^p + \dots + |x_m|^p \right)^{\frac{1}{p}}xp=(i=1mxip)p1=(x1p++xmp)p1

在 numpy 中,可以利用 linalg.norm 函数方便地计算向量的范数。

2.2 矩阵与张量

2.2.1 矩阵的概念

一个 m×nm \times nm×n 的矩阵(matrix)是一个有 mmmnnn 列元素的矩形阵列。用 Rm×n\mathbb{R}^{m \times n}Rm×n 表示所有 m×nm \times nm×n 实数矩阵的向量空间。

[123548]∈R3×2 \begin{bmatrix} 1 & 2 \\ 3 & 5 \\ 4 & 8 \end{bmatrix} \in \mathbb{R}^{3 \times 2} 134258 R3×2

  1. 方阵:行数等于列数的矩阵
    [1234]∈R2×2\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \in \mathbb{R}^{2 \times 2}[1324]R2×2

  2. 对角矩阵:主对角线以外元素全为 0 的方阵
    [100050009]\begin{bmatrix} 1 & 0 & 0 \\ 0 & 5 & 0 \\ 0 & 0 & 9 \end{bmatrix} 100050009

  3. 单位矩阵:主对角线元素全为 1 的对角矩阵
    I3×3=[100010001]I_{3 \times 3} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}I3×3= 100010001

2.2.2 矩阵乘法

  1. 矩阵乘法运算
    两个矩阵的乘法仅当矩阵 AAA 的列数和矩阵 BBB 的行数相等时才能定义。如 A∈Rm×nA \in \mathbb{R}^{m \times n}ARm×nB∈Rn×pB \in \mathbb{R}^{n \times p}BRn×p,它们的乘积 AB∈Rm×pAB \in \mathbb{R}^{m \times p}ABRm×p

    (AB)ij=ai1b1j+ai2b2j+⋯+ainbnj=∑r=1naikbkj (AB)_{ij} = a_{i1}b_{1j} + a_{i2}b_{2j} + \dots + a_{in}b_{nj} = \sum_{r=1}^{n} a_{ik} b_{kj} (AB)ij=ai1b1j+ai2b2j++ainbnj=r=1naikbkj

    例如:

    [102−131]×[312110]=[1⋅3+0⋅2+2⋅11⋅1+0⋅1+2⋅0−1⋅3+3⋅2+1⋅1−1⋅1+3⋅1+1⋅0]=[5142] \begin{bmatrix} 1 & 0 & 2 \\ -1 & 3 & 1 \end{bmatrix} \times \begin{bmatrix} 3 & 1 \\ 2 & 1 \\ 1 & 0 \end{bmatrix} = \begin{bmatrix} 1\cdot3+0\cdot2+2\cdot1 & 1\cdot1+0\cdot1+2\cdot0 \\ -1\cdot3+3\cdot2+1\cdot1 & -1\cdot1+3\cdot1+1\cdot0 \end{bmatrix} = \begin{bmatrix} 5 & 1 \\ 4 & 2 \end{bmatrix} [110321]× 321110 =[13+02+2113+32+1111+01+2011+31+10]=[5412]

    特别地,矩阵与单位矩阵相乘等于矩阵本身:

    AI=A(A∈Rm×n,I∈Rn×n)或IA=A(I∈Rn×n,A∈Rn×m) AI = A \quad (A \in \mathbb{R}^{m \times n}, I \in \mathbb{R}^{n \times n}) \quad \text{或} \quad IA = A \quad (I \in \mathbb{R}^{n \times n}, A \in \mathbb{R}^{n \times m}) AI=A(ARm×n,IRn×n)IA=A(IRn×n,ARn×m)

    例如:

    [123548][1001]=[1⋅1+2⋅01⋅0+2⋅13⋅1+5⋅03⋅0+5⋅14⋅1+8⋅04⋅0+8⋅1]=[123548]=A \begin{bmatrix} 1 & 2 \\ 3 & 5 \\ 4 & 8 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 1\cdot1+2\cdot0 & 1\cdot0+2\cdot1 \\ 3\cdot1+5\cdot0 & 3\cdot0+5\cdot1 \\ 4\cdot1+8\cdot0 & 4\cdot0+8\cdot1 \end{bmatrix} = \begin{bmatrix} 1 & 2 \\ 3 & 5 \\ 4 & 8 \end{bmatrix} = A 134258 [1001]= 11+2031+5041+8010+2130+5140+81 = 134258 =A

  2. 矩阵乘法的性质
    矩阵乘法满足结合律、左分配律和右分配律。不满足交换律AB≠BAAB \neq BAAB=BA

    • 结合律:若 A∈Rm×n,B∈Rn×p,C∈Rp×qA \in \mathbb{R}^{m \times n}, B \in \mathbb{R}^{n \times p}, C \in \mathbb{R}^{p \times q}ARm×n,BRn×p,CRp×q,则 (AB)C=A(BC)(AB)C = A(BC)(AB)C=A(BC)
    • 左分配律:若 A∈Rm×n,B∈Rm×n,C∈Rn×pA \in \mathbb{R}^{m \times n}, B \in \mathbb{R}^{m \times n}, C \in \mathbb{R}^{n \times p}ARm×n,BRm×n,CRn×p,则 (A+B)C=AC+BC(A+B)C = AC + BC(A+B)C=AC+BC
    • 右分配律:若 A∈Rm×n,B∈Rn×p,C∈Rn×pA \in \mathbb{R}^{m \times n}, B \in \mathbb{R}^{n \times p}, C \in \mathbb{R}^{n \times p}ARm×n,BRn×p,CRn×p,则 A(B+C)=AB+ACA(B+C) = AB + ACA(B+C)=AB+AC

2.2.3 矩阵转置

  1. 矩阵转置运算
    矩阵 A∈Rm×nA \in \mathbb{R}^{m \times n}ARm×n 的转置是一个 n×mn \times mn×m 的矩阵,记为 ATA^TAT。其中的第 iii 个行向量是原矩阵的第 iii 个列向量;或者说,转置矩阵 ATA^TATiii 行第 jjj 列的元素是原矩阵 AAAjjj 行第 iii 列的元素。

    (AT)ij=aji (A^T)_{ij} = a_{ji} (AT)ij=aji

    A=[123548]∈R3×2,AT=[134258]∈R2×3 A = \begin{bmatrix} 1 & 2 \\ 3 & 5 \\ 4 & 8 \end{bmatrix} \in \mathbb{R}^{3 \times 2}, \quad A^T = \begin{bmatrix} 1 & 3 & 4 \\ 2 & 5 & 8 \end{bmatrix} \in \mathbb{R}^{2 \times 3} A= 134258 R3×2,AT=[123548]R2×3

  2. 矩阵转置的性质

    • (AT)T=A(A^T)^T = A(AT)T=A
    • (A+B)T=AT+BT(A+B)^T = A^T + B^T(A+B)T=AT+BT
    • (kA)T=kAT(kA)^T = k A^T(kA)T=kAT
    • (AB)T=BTAT(AB)^T = B^T A^T(AB)T=BTAT

2.2.4 矩阵的逆

对于方阵 AAA,如果存在另一个方阵 A−1A^{-1}A1,使得 AA−1=IAA^{-1} = IAA1=I 成立,此时 A−1A=IA^{-1}A = IA1A=I 也同样成立。称 A−1A^{-1}A1AAA 的逆矩阵。例如:

AA−1=[1235][−523−1]=[1⋅(−5)+2⋅31⋅2+2⋅(−1)3⋅(−5)+5⋅33⋅2+5⋅(−1)]=[1001]=I AA^{-1} = \begin{bmatrix} 1 & 2 \\ 3 & 5 \end{bmatrix} \begin{bmatrix} -5 & 2 \\ 3 & -1 \end{bmatrix} = \begin{bmatrix} 1\cdot(-5)+2\cdot3 & 1\cdot2+2\cdot(-1) \\ 3\cdot(-5)+5\cdot3 & 3\cdot2+5\cdot(-1) \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = I AA1=[1325][5321]=[1(5)+233(5)+5312+2(1)32+5(1)]=[1001]=I

2.2.5 其他矩阵运算

  1. 矩阵的向量化
    矩阵 A∈Rm×nA \in \mathbb{R}^{m \times n}ARm×n 的向量化 vec⁡(A)\operatorname{vec}(A)vec(A) 将矩阵 AAA 的元素按列排列成一个 mn×1mn \times 1mn×1 的向量。

    vec⁡(A)=[a11,…,am1,…,a1n,…,amn]T \operatorname{vec}(A) = [a_{11}, \dots, a_{m1}, \dots, a_{1n}, \dots, a_{mn}]^T vec(A)=[a11,,am1,,a1n,,amn]T

    矩阵也可以转化为行向量 rvec⁡(A)\operatorname{rvec}(A)rvec(A),称为矩阵的行向量化。

    rvec⁡(A)=[a11,…,a1n,…,am1,…,amn] \operatorname{rvec}(A) = [a_{11}, \dots, a_{1n}, \dots, a_{m1}, \dots, a_{mn}] rvec(A)=[a11,,a1n,,am1,,amn]

    例如:A=[1234]A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}A=[1324]vec⁡(A)=[1324]T\operatorname{vec}(A) = \begin{bmatrix} 1 & 3 & 2 & 4 \end{bmatrix}^Tvec(A)=[1324]Trvec⁡(A)=[1234]\operatorname{rvec}(A) = \begin{bmatrix} 1 & 2 & 3 & 4 \end{bmatrix}rvec(A)=[1234]

  2. 矩阵的内积
    矩阵 A∈Rm×nA \in \mathbb{R}^{m \times n}ARm×n 和矩阵 B∈Rm×nB \in \mathbb{R}^{m \times n}BRm×n 的内积记作 ⟨A,B⟩\langle A, B \rangleA,B,它是两个矩阵对应元素乘积之和,是一个标量。

    ⟨A,B⟩=⟨vec⁡(A),vec⁡(B)⟩=∑i,jaijbij \langle A, B \rangle = \langle \operatorname{vec}(A), \operatorname{vec}(B) \rangle = \sum_{i,j} a_{ij} b_{ij} A,B=vec(A),vec(B)⟩=i,jaijbij

  3. 矩阵的 Hadamard 积
    矩阵 A∈Rm×nA \in \mathbb{R}^{m \times n}ARm×n 和矩阵 B∈Rm×nB \in \mathbb{R}^{m \times n}BRm×n 的 Hadamard 积记作 A⊙BA \odot BAB,它是两个矩阵对应元素的乘积,是一个 m×nm \times nm×n 的矩阵。

    (A⊙B)ij=aijbij (A \odot B)_{ij} = a_{ij} b_{ij} (AB)ij=aijbij

  4. 矩阵的 Kronecker 积
    矩阵 A∈Rm×nA \in \mathbb{R}^{m \times n}ARm×n 和矩阵 B∈Rp×qB \in \mathbb{R}^{p \times q}BRp×q 的 Kronecker 积记作 A⊗BA \otimes BAB,它是矩阵 AAA 中每个元素与矩阵 BBB 的乘积,是一个 mp×nqmp \times nqmp×nq 的矩阵。

    A⊗B=[a11Ba12B⋯a1nBa21Ba22B⋯a2nB⋮⋮⋱⋮am1Bam2B⋯amnB] A \otimes B = \begin{bmatrix} a_{11} B & a_{12} B & \cdots & a_{1n} B \\ a_{21} B & a_{22} B & \cdots & a_{2n} B \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} B & a_{m2} B & \cdots & a_{mn} B \end{bmatrix} AB= a11Ba21Bam1Ba12Ba22Bam2Ba1nBa2nBamnB

    Kronecker 积也称为直积或张量积。

2.2.6 张量

张量(tensor)可视为多维数组,是标量,1 维向量和 2 维矩阵的 nnn 维推广。

例如:3 维张量

[[123548][321673][569124]] \begin{bmatrix} \begin{bmatrix} 1 & 2 \\ 3 & 5 \\ 4 & 8 \end{bmatrix} \\ \begin{bmatrix} 3 & 2 \\ 1 & 6 \\ 7 & 3 \end{bmatrix} \\ \begin{bmatrix} 5 & 6 \\ 9 & 1 \\ 2 & 4 \end{bmatrix} \end{bmatrix} 134258 317263 592614

2.3 矩阵求导

矩阵求导的本质就是函数对变元的每个元素逐个求导,只是写成了向量、矩阵的形式。

为方便理解,这里对变元(自变量)和函数作统一的符号规定:

  • x=[x1,x2,…,xm]T∈Rm\mathbf{x} = [x_1, x_2, \dots, x_m]^T \in \mathbb{R}^mx=[x1,x2,,xm]TRm 为实向量变元。
  • X=[x1,x2,…,xm]T∈Rm×nX = [\mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_m]^T \in \mathbb{R}^{m \times n}X=[x1,x2,,xm]TRm×n 为实矩阵变元。
  • f(x)∈Rf(\mathbf{x}) \in \mathbb{R}f(x)R 为实标量函数,其变元 x\mathbf{x}x 为实向量。
  • f(X)∈Rf(X) \in \mathbb{R}f(X)R 为实标量函数,其变元 XXX 为实矩阵。
  • f(x)∈Rp\mathbf{f}(\mathbf{x}) \in \mathbb{R}^pf(x)Rp 为实向量函数,其变元 x\mathbf{x}x 为实向量。
  • f(X)∈Rp\mathbf{f}(X) \in \mathbb{R}^pf(X)Rp 为实向量函数,其变元 XXX 为实矩阵。

当然,函数也可以是矩阵形式 FFF,可以看作是向量函数的扩展。

2.3.1 典型计算场景

(1)标量 f(x)f(\mathbf{x})f(x) 对向量 x\mathbf{x}x 求导

数学上,一般定义向量为列向量形式。由于 x=[x1,x2,…,xm]T\mathbf{x} = [x_1, x_2, \dots, x_m]^Tx=[x1,x2,,xm]T,所以 f(x)=f(x1,x2,…,xm)f(\mathbf{x}) = f(x_1, x_2, \dots, x_m)f(x)=f(x1,x2,,xm),它对向量变元 x\mathbf{x}x 求导,本质就是对 x\mathbf{x}x 的每个元素求偏导:

∂f(x)∂x=[∂f∂x1,∂f∂x2,…,∂f∂xm]T \frac{\partial f(\mathbf{x})}{\partial \mathbf{x}} = \left[ \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots, \frac{\partial f}{\partial x_m} \right]^T xf(x)=[x1f,x2f,,xmf]T

例如:函数 f(x1,x2)=x12+x1x2+2x22f(x_1, x_2) = x_1^2 + x_1 x_2 + 2x_2^2f(x1,x2)=x12+x1x2+2x22,令 x=[x1,x2]T\mathbf{x} = [x_1, x_2]^Tx=[x1,x2]T,则

∂f(x)∂x=[∂f∂x1,∂f∂x2]T=[2x1+x2,  x1+4x2]T=[2x1+x2x1+4x2] \frac{\partial f(\mathbf{x})}{\partial \mathbf{x}} = \left[ \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2} \right]^T = [2x_1 + x_2,\; x_1 + 4x_2]^T = \begin{bmatrix} 2x_1 + x_2 \\ x_1 + 4x_2 \end{bmatrix} xf(x)=[x1f,x2f]T=[2x1+x2,x1+4x2]T=[2x1+x2x1+4x2]

(2)标量 f(X)f(X)f(X) 对矩阵 XXX 求导

变元 XXX 是一个 m×nm \times nm×n 的矩阵,可以看成是 mmm 个行向量的组合,每个向量维度为 nnn

X=[x1,x2,…,xm]T=[x11x12⋯x1nx21x22⋯x2n⋮⋮⋱⋮xm1xm2⋯xmn]∈Rm×n X = [\mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_m]^T = \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1n} \\ x_{21} & x_{22} & \cdots & x_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ x_{m1} & x_{m2} & \cdots & x_{mn} \end{bmatrix} \in \mathbb{R}^{m \times n} X=[x1,x2,,xm]T= x11x21xm1x12x22xm2x1nx2nxmn Rm×n

那么 fffXXX 求导,同样也是对其中的每个元素求导,结果形状与 XXX 相同:

∂f(X)∂X=[∂f∂x1,∂f∂x2,…,∂f∂xm]T=[∂f∂x11∂f∂x12⋯∂f∂x1n∂f∂x21∂f∂x22⋯∂f∂x2n⋮⋮⋱⋮∂f∂xm1∂f∂xm2⋯∂f∂xmn] \frac{\partial f(X)}{\partial X} = \left[ \frac{\partial f}{\partial \mathbf{x}_1}, \frac{\partial f}{\partial \mathbf{x}_2}, \dots, \frac{\partial f}{\partial \mathbf{x}_m} \right]^T = \begin{bmatrix} \frac{\partial f}{\partial x_{11}} & \frac{\partial f}{\partial x_{12}} & \cdots & \frac{\partial f}{\partial x_{1n}} \\ \frac{\partial f}{\partial x_{21}} & \frac{\partial f}{\partial x_{22}} & \cdots & \frac{\partial f}{\partial x_{2n}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f}{\partial x_{m1}} & \frac{\partial f}{\partial x_{m2}} & \cdots & \frac{\partial f}{\partial x_{mn}} \end{bmatrix} Xf(X)=[x1f,x2f,,xmf]T= x11fx21fxm1fx12fx22fxm2fx1nfx2nfxmnf

(3)向量 f(x)\mathbf{f}(x)f(x) 对标量 xxx 求导

对于向量函数 f\mathbf{f}f,可以写为:

f(x)=[f1(x),f2(x),…,fp(x)]T \mathbf{f}(x) = [f_1(x), f_2(x), \dots, f_p(x)]^T f(x)=[f1(x),f2(x),,fp(x)]T

显然,此时的 f\mathbf{f}f 可以看作多个函数的组合,对 xxx 求导时,只要让其中的每个元素分别对 xxx 求导即可:

∂f(x)∂x=[∂f1∂x,∂f2∂x,…,∂fp∂x]T \frac{\partial \mathbf{f}(x)}{\partial x} = \left[ \frac{\partial f_1}{\partial x}, \frac{\partial f_2}{\partial x}, \dots, \frac{\partial f_p}{\partial x} \right]^T xf(x)=[xf1,xf2,,xfp]T

例如:函数 f(x)=[f1(x),f2(x)]T=[2x2+3x+1,  sin⁡x]T\mathbf{f}(x) = [f_1(x), f_2(x)]^T = [2x^2+3x+1,\; \sin x]^Tf(x)=[f1(x),f2(x)]T=[2x2+3x+1,sinx]T,则

∂f(x)∂x=[∂f1∂x,∂f2∂x]T=[4x+3,  cos⁡x]T=[4x+3cos⁡x] \frac{\partial \mathbf{f}(x)}{\partial x} = \left[ \frac{\partial f_1}{\partial x}, \frac{\partial f_2}{\partial x} \right]^T = [4x+3,\; \cos x]^T = \begin{bmatrix} 4x+3 \\ \cos x \end{bmatrix} xf(x)=[xf1,xf2]T=[4x+3,cosx]T=[4x+3cosx]

(4)向量 f(x)\mathbf{f}(\mathbf{x})f(x) 对向量 x\mathbf{x}x 求导(了解)

类似(3)中的分析,向量函数 f\mathbf{f}f 可以写为:

f(x)=[f1(x),f2(x),…,fp(x)]T \mathbf{f}(\mathbf{x}) = [f_1(\mathbf{x}), f_2(\mathbf{x}), \dots, f_p(\mathbf{x})]^T f(x)=[f1(x),f2(x),,fp(x)]T

这里 f\mathbf{f}f 的每一个元素,都是变元 x\mathbf{x}x 为向量的实标量函数。接下来只要应用(1)中的结论,将 f\mathbf{f}f 中的每个标量函数对 x\mathbf{x}x 求导即可:

∂f(x)∂x=[∂f1∂x,∂f2∂x,…,∂fp∂x]T=[∂f1∂x1∂f2∂x1⋯∂fp∂x1∂f1∂x2∂f2∂x2⋯∂fp∂x2⋮⋮⋱⋮∂f1∂xm∂f2∂xm⋯∂fp∂xm]T∈Rp×m \frac{\partial \mathbf{f}(\mathbf{x})}{\partial \mathbf{x}} = \left[ \frac{\partial f_1}{\partial \mathbf{x}}, \frac{\partial f_2}{\partial \mathbf{x}}, \dots, \frac{\partial f_p}{\partial \mathbf{x}} \right]^T = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_2}{\partial x_1} & \cdots & \frac{\partial f_p}{\partial x_1} \\ \frac{\partial f_1}{\partial x_2} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_p}{\partial x_2} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_1}{\partial x_m} & \frac{\partial f_2}{\partial x_m} & \cdots & \frac{\partial f_p}{\partial x_m} \end{bmatrix}^T \in \mathbb{R}^{p \times m} xf(x)=[xf1,xf2,,xfp]T= x1f1x2f1xmf1x1f2x2f2xmf2x1fpx2fpxmfp TRp×m

2.3.2 常用求导结果

  • ∂xTa∂x=∂aTx∂x=a\displaystyle \frac{\partial \mathbf{x}^T \mathbf{a}}{\partial \mathbf{x}} = \frac{\partial \mathbf{a}^T \mathbf{x}}{\partial \mathbf{x}} = \mathbf{a}xxTa=xaTx=a
  • ∂xTx∂x=2x\displaystyle \frac{\partial \mathbf{x}^T \mathbf{x}}{\partial \mathbf{x}} = 2\mathbf{x}xxTx=2x
  • ∂Ax∂x=AT\displaystyle \frac{\partial A \mathbf{x}}{\partial \mathbf{x}} = A^TxAx=AT
  • ∂xTA∂x=A\displaystyle \frac{\partial \mathbf{x}^T A}{\partial \mathbf{x}} = AxxTA=A
  • ∂xTAx∂x=(AT+A)x\displaystyle \frac{\partial \mathbf{x}^T A \mathbf{x}}{\partial \mathbf{x}} = (A^T + A) \mathbf{x}xxTAx=(AT+A)x
  • ∂aTXb∂X=abT\displaystyle \frac{\partial \mathbf{a}^T X \mathbf{b}}{\partial X} = \mathbf{a} \mathbf{b}^TXaTXb=abT
  • ∂aTXTb∂X=∂(aTXTb)T∂X=∂bTXa∂X=baT\displaystyle \frac{\partial \mathbf{a}^T X^T \mathbf{b}}{\partial X} = \frac{\partial (\mathbf{a}^T X^T \mathbf{b})^T}{\partial X} = \frac{\partial \mathbf{b}^T X \mathbf{a}}{\partial X} = \mathbf{b} \mathbf{a}^TXaTXTb=X(aTXTb)T=XbTXa=baT
  • ∂aTXXTb∂X=abTX+baTX\displaystyle \frac{\partial \mathbf{a}^T X X^T \mathbf{b}}{\partial X} = \mathbf{a} \mathbf{b}^T X + \mathbf{b} \mathbf{a}^T XXaTXXTb=abTX+baTX
  • ∂aTXTXb∂X=XbaT+XabT\displaystyle \frac{\partial \mathbf{a}^T X^T X \mathbf{b}}{\partial X} = X \mathbf{b} \mathbf{a}^T + X \mathbf{a} \mathbf{b}^TXaTXTXb=XbaT+XabT

2.3.3 梯度矩阵

对于实向量变元 x\mathbf{x}x,实标量函数 f(x)f(\mathbf{x})f(x) 的梯度向量,为 m×1m \times 1m×1 的列向量(与 x\mathbf{x}x 形状相同):

∇xf(x)=∂f(x)∂x=[∂f∂x1,∂f∂x2,…,∂f∂xm]T \nabla_{\mathbf{x}} f(\mathbf{x}) = \frac{\partial f(\mathbf{x})}{\partial \mathbf{x}} = \left[ \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots, \frac{\partial f}{\partial x_m} \right]^T xf(x)=xf(x)=[x1f,x2f,,xmf]T

对于矩阵变元 XXXm×nm \times nm×n),可以类似地得到 f(X)f(X)f(X) 的梯度矩阵:

∇Xf(X)=∂f(X)∂X=[∂f∂x11⋯∂f∂x1n⋮⋱⋮∂f∂xm1⋯∂f∂xmn]∈Rm×n \nabla_X f(X) = \frac{\partial f(X)}{\partial X} = \begin{bmatrix} \frac{\partial f}{\partial x_{11}} & \cdots & \frac{\partial f}{\partial x_{1n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f}{\partial x_{m1}} & \cdots & \frac{\partial f}{\partial x_{mn}} \end{bmatrix} \in \mathbb{R}^{m \times n} Xf(X)=Xf(X)= x11fxm1fx1nfxmnf Rm×n

类似地,f(x)f(\mathbf{x})f(x) 的二阶偏导构成的矩阵被称为“黑塞矩阵”(Hessian Matrix):

H(x)=[∂2f∂xi∂xj]n×n H(\mathbf{x}) = \left[ \frac{\partial^2 f}{\partial x_i \partial x_j} \right]_{n \times n} H(x)=[xixj2f]n×n

第 3 章 概率论

3.1 概率

3.1.1 概率的概念

概率是对事件发生的可能性的度量。通常将事件 AAA 的概率写作 P(A)P(A)P(A)

3.1.2 概率的计算

事件 概率
AAA P(A)∈[0,1]P(A) \in [0,1]P(A)[0,1]
AAA P(Aˉ)=1−P(A)P(\bar{A}) = 1 - P(A)P(Aˉ)=1P(A)
AAABBB(联合概率) $P(A \cap B) = P(A
AAABBB P(A∪B)=P(A)+P(B)−P(A∩B)P(A \cup B) = P(A) + P(B) - P(A \cap B)P(AB)=P(A)+P(B)P(AB)
AAABBB 互斥时:P(A∪B)=P(A)+P(B)P(A \cup B) = P(A) + P(B)P(AB)=P(A)+P(B)
BBB 的情况下 AAA 的概率(条件概率) $P(A

例如:现有一个装有 10 个球的袋子,其中有 6 个红球和 4 个蓝球。从中随机抽取两个球。我们定义以下事件:

  • 事件 AAA:第一个抽到的是红球。
  • 事件 BBB:两个抽到的球都是红球。
  1. 计算联合概率 P(A∩B)P(A \cap B)P(AB)
    第一个球是红球的概率:P(A)=610P(A) = \frac{6}{10}P(A)=106
    在第一个球是红球的情况下,两个球都是红球的概率:P(B∣A)=59P(B|A) = \frac{5}{9}P(BA)=95
    联合概率:P(A∩B)=P(B∣A)P(A)=59×610=13P(A \cap B) = P(B|A)P(A) = \frac{5}{9} \times \frac{6}{10} = \frac{1}{3}P(AB)=P(BA)P(A)=95×106=31

  2. 计算条件概率 P(A∣B)P(A|B)P(AB)
    条件概率 P(A∣B)P(A|B)P(AB) 表示在已知两个球都是红球的情况下,第一个球是红球的概率。
    两个球都是红球的概率:P(B)=C62C102=6×5÷210×9÷2=13P(B) = \frac{C_6^2}{C_{10}^2} = \frac{6 \times 5 \div 2}{10 \times 9 \div 2} = \frac{1}{3}P(B)=C102C62=10×9÷26×5÷2=31
    在两个球都是红球的情况下,第一个球是红球的概率:P(A∣B)=P(A∩B)P(B)=1/31/3=1P(A|B) = \frac{P(A \cap B)}{P(B)} = \frac{1/3}{1/3} = 1P(AB)=P(B)P(AB)=1/31/3=1

3.2 概率分布

概率分布,是指用于表述随机变量取值的概率规律。事件的概率表示了一次试验中某一个结果发生的可能性大小。如果试验结果用变量 XXX 的取值来表示,则随机试验的概率分布就是随机变量的概率分布,即随机变量的可能取值及取得对应值的概率。

3.2.1 均匀分布

均匀分布也叫矩形分布,它表示在相同长度间隔的分布概率是等可能的。均匀分布由两个参数 aaabbb 定义,它们是数轴上的最小值和最大值,通常缩写为 U(a,b)U(a, b)U(a,b)

均匀分布的概率密度函数可写为:

P(x)=1b−a,a<x<b P(x) = \frac{1}{b-a}, \quad a < x < b P(x)=ba1,a<x<b
P(x)=0,else P(x) = 0, \quad \text{else} P(x)=0,else

3.2.2 正态分布

正态分布(Normal Distribution)也称高斯分布,是常见的连续概率分布。正态分布在统计学上十分重要,经常用在自然和社会科学来代表一个不明的随机变量。

若随机变量 XXX 服从一个平均数为 μ\muμ、标准差为 σ\sigmaσσ=1n∑i=1n(xi−μ)2\sigma = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_i - \mu)^2}σ=n1i=1n(xiμ)2 )的正态分布,则记为 X∼N(μ,σ2)X \sim N(\mu, \sigma^2)XN(μ,σ2),其概率密度函数

f(x)=1σ2πe−(x−μ)22σ2 f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=σ2π 1e2σ2(xμ)2

正态分布的期望 μ\muμ 可解释为位置参数,决定了分布的位置;其方差 σ2\sigma^2σ2 可解释为尺度参数,决定了分布的幅度。

正态分布概率密度函数图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正态分布的概率密度函数曲线呈钟形,因此人们又经常称之为钟形曲线。我们通常所说的标准正态分布是位置参数 μ=0\mu=0μ=0,尺度参数 σ2=1\sigma^2=1σ2=1 的正态分布。

中心极限定理指出,在特定条件下,一个具有有限均值和方差的随机变量的多个样本的平均值本身就是一个随机变量,其分布随着样本数量的增加而收敛于正态分布。因此,许多与独立过程总和有关的物理量,例如测量误差,通常可被近似为正态分布。

在 numpy 中,提供了各种随机函数,可以用来生成服从特定分布的数据。

3.3 贝叶斯定理

贝叶斯定理(Bayes’ Theorem)是概率论中的一个核心定理,用于描述在已有条件概率信息的基础上,如何更新或计算事件的概率。它以英国数学家托马斯·贝叶斯的名字命名。贝叶斯定理特别适合处理“逆向概率”问题,即从结果反推原因的概率。

3.3.1 全概率公式

对于复杂事件 BBB,它可能有很多种具体情况,发生概率不容易直接求得。

这些不同的具体情况可以是一组简单事件,记作 A1,A2,…,AnA_1, A_2, \dots, A_nA1,A2,,An,发生的概率 P(Ai)P(A_i)P(Ai) 已知;如果它们满足两两互不相容、且发生概率之和为 1,就称它们是一个完备事件组。

这样,如果知道了在每个简单事件发生的前提下、复杂事件发生的概率(条件概率 P(B∣Ai)P(B|A_i)P(BAi)),就可以将它们全部合并起来,求出复杂事件的概率了。

P(B)=P(B∣A1)P(A1)+P(B∣A2)P(A2)+⋯+P(B∣An)P(An)=∑i=1nP(B∣Ai)P(Ai) P(B) = P(B|A_1)P(A_1) + P(B|A_2)P(A_2) + \dots + P(B|A_n)P(A_n) = \sum_{i=1}^{n} P(B|A_i)P(A_i) P(B)=P(BA1)P(A1)+P(BA2)P(A2)++P(BAn)P(An)=i=1nP(BAi)P(Ai)

这个公式就被称为“全概率公式”。

3.3.2 贝叶斯公式

贝叶斯定理建立在条件概率的基础上,假设有两事件 A,BA, BA,B,贝叶斯定理描述了在已知 BBB 发生的情况下,AAA 发生的概率:

P(A∣B)=P(B∣A)P(A)P(B) P(A|B) = \frac{P(B|A) P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

  • P(A∣B)P(A|B)P(AB):后验概率,BBB 发生的情况下 AAA 发生的概率。
  • P(B∣A)P(B|A)P(BA):似然概率,AAA 发生的情况下 BBB 发生的概率。
  • P(A)P(A)P(A):先验概率,AAA 发生的概率。
  • P(B)P(B)P(B)BBB 发生的概率,通常通过全概率公式计算。

在实际问题中 P(B)P(B)P(B) 通常不是直接给出,而是需要通过全概率公式计算。假设样本空间被一组互斥且完备的事件 A1,A2,…,AnA_1, A_2, \dots, A_nA1,A2,,An 划分,则:

P(B)=∑i=1nP(B∣Ai)P(Ai) P(B) = \sum_{i=1}^{n} P(B|A_i) P(A_i) P(B)=i=1nP(BAi)P(Ai)

例如:某疾病发病率为 1%,如果一个人有疾病,检测呈阳性的概率为 95%;如果一个人没有疾病,检测呈阳性的概率为 5%,现有一人检测结果呈阳性,问他真正患病的概率是多少?

P(疾病∣阳性)=P(阳性∣疾病)P(疾病)P(阳性) P(\text{疾病}|\text{阳性}) = \frac{P(\text{阳性}|\text{疾病}) P(\text{疾病})}{P(\text{阳性})} P(疾病阳性)=P(阳性)P(阳性疾病)P(疾病)

P(阳性)=P(阳性∣疾病)P(疾病)+P(阳性∣无疾病)P(无疾病)=0.95×0.01+0.05×0.99=0.0095+0.0495=0.059 P(\text{阳性}) = P(\text{阳性}|\text{疾病}) P(\text{疾病}) + P(\text{阳性}|\text{无疾病}) P(\text{无疾病}) = 0.95 \times 0.01 + 0.05 \times 0.99 = 0.0095 + 0.0495 = 0.059 P(阳性)=P(阳性疾病)P(疾病)+P(阳性无疾病)P(无疾病)=0.95×0.01+0.05×0.99=0.0095+0.0495=0.059

P(疾病∣阳性)=0.00950.059≈0.161 P(\text{疾病}|\text{阳性}) = \frac{0.0095}{0.059} \approx 0.161 P(疾病阳性)=0.0590.00950.161

检测呈阳性的人真正患病的概率为 16.1%。

3.4 似然函数

3.4.1 似然函数的概念

概率用于在已知一些参数的情况下,预测接下来在观测上所得到的结果。而似然性则是用于在已知某些观测所得到的结果时,对有关事物之性质的参数进行估值。

似然函数是对参数的函数,其定义为在给定参数值的条件下,观察到某个特定数据的概率。换句话说,似然函数是一个关于参数的函数,而不是关于数据的函数。

如果我们有一个参数化的概率模型 P(X∣θ)P(X|\theta)P(Xθ),其中 XXX 是观测数据,θ\thetaθ 是模型参数,似然函数 L(θ∣X)L(\theta|X)L(θX) 定义为:

L(θ∣X)=P(X∣θ) L(\theta|X) = P(X|\theta) L(θX)=P(Xθ)

这里,P(X∣θ)P(X|\theta)P(Xθ) 表示在参数为 θ\thetaθ 的情况下,观察到数据 XXX 的概率。

设有一组独立同分布的观测数据 X=(x1,x2,…,xn)X = (x_1, x_2, \dots, x_n)X=(x1,x2,,xn),并且这些数据服从某个分布(例如正态分布、二项分布等),比如服从参数为 θ\thetaθ 的某个分布,那么似然函数可以写作:

L(θ∣X)=P(X∣θ)=∏i=1nP(xi∣θ) L(\theta|X) = P(X|\theta) = \prod_{i=1}^{n} P(x_i|\theta) L(θX)=P(Xθ)=i=1nP(xiθ)

针对其中存在的乘法,可以使对数函数将其转化为加法:

log⁡L(θ∣X)=log⁡∏i=1nP(xi∣θ)=∑i=1nlog⁡P(xi∣θ) \log L(\theta|X) = \log \prod_{i=1}^{n} P(x_i|\theta) = \sum_{i=1}^{n} \log P(x_i|\theta) logL(θX)=logi=1nP(xiθ)=i=1nlogP(xiθ)

3.4.2 极大似然估计

似然函数常用于极大似然估计。我们希望找到使似然函数最大化的参数 θ\thetaθ。这意味着在给定观测数据的情况下,选择最可能生成这些数据的参数值。

例如,掷硬币 3 次,2 次正面 1 次背面,能否依据此结果逆推出正面的概率;正面概率为 0.5 的概率为多少、正面概率为 0.6 的概率为多少;最有可能的正面概率是多少?

我们用 θ\thetaθ 代表硬币正面朝上的概率,用 XXX 代表 2 次正面 1 次背面的结果

L(θ∣X)=P(X∣θ)=C32θ2(1−θ) L(\theta|X) = P(X|\theta) = C_3^2 \theta^2 (1-\theta) L(θX)=P(Xθ)=C32θ2(1θ)

当正面概率为 0.5 时:P(X∣θ=0.5)=C32×0.52×(1−0.5)=0.375P(X|\theta=0.5) = C_3^2 \times 0.5^2 \times (1-0.5) = 0.375P(Xθ=0.5)=C32×0.52×(10.5)=0.375

当正面概率为 0.6 时:P(X∣θ=0.6)=C32×0.62×(1−0.6)=0.432P(X|\theta=0.6) = C_3^2 \times 0.6^2 \times (1-0.6) = 0.432P(Xθ=0.6)=C32×0.62×(10.6)=0.432

为了找出极大似然估计,对似然函数取对数并求导,使其等于 0

log⁡L(θ∣X)=log⁡C32+2log⁡θ+log⁡(1−θ)dlog⁡L(θ∣X)dθ=2θ−11−θ=0 \begin{aligned} \log L(\theta|X) &= \log C_3^2 + 2\log\theta + \log(1-\theta) \\ \frac{d \log L(\theta|X)}{d\theta} &= \frac{2}{\theta} - \frac{1}{1-\theta} = 0 \end{aligned} logL(θX)dθdlogL(θX)=logC32+2logθ+log(1θ)=θ21θ1=0

解得 θ=23\theta = \frac{2}{3}θ=32,意味着当掷硬币 3 次,出现 2 次正面 1 次背面的结果时,硬币正面朝上的概率最有可能为 23\frac{2}{3}32

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐