机器学习数学基础

本章转自Mxnet文档,是当下机器学习必备的数学基础,可以供大家平时学习查阅。

数学基础

本节总结了本书中涉及到的有关线性代数、微分和概率的基础知识。为避免赘述本书未涉及的数学背景知识,本节中的少数定义稍有简化。

线性代数

以下分别概括了向量、矩阵、运算、范数、特征向量和特征值的概念。

向量

本书中的向量指的是列向量。一个 n n 维向量x的表达式可写成

x=x1x2xn, x = [ x 1 x 2 ⋮ x n ] ,

其中 x1,,xn x 1 , … , x n 是向量的元素。我们将各元素均为实数的 n n 维向量x记作 xRn x ∈ R n xRn×1 x ∈ R n × 1

矩阵

一个 m m n列矩阵的表达式可写成

X=x11x21xm1x12x22xm2x1nx2nxmn, X = [ x 11 x 12 … x 1 n x 21 x 22 … x 2 n ⋮ ⋮ ⋱ ⋮ x m 1 x m 2 … x m n ] ,

其中 xij x i j 是矩阵 X X 中第 i i 行第j列的元素( 1im,1jn 1 ≤ i ≤ m , 1 ≤ j ≤ n )。我们将各元素均为实数的 m m n列矩阵 X X 记作 XRm×n X ∈ R m × n 。不难发现,向量是特殊的矩阵。

运算

n n 维向量a中的元素为 a1,,an a 1 , … , a n n n 维向量b中的元素为 b1,,bn b 1 , … , b n 。向量 a a b b 的点乘(内积)是一个标量:

ab=a1b1++anbn. a ⋅ b = a 1 b 1 + … + a n b n .

设两个 m m n列矩阵

A=a11a21am1a12a22am2a1na2namn,B=b11b21bm1b12b22bm2b1nb2nbmn. A = [ a 11 a 12 … a 1 n a 21 a 22 … a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 … a m n ] , B = [ b 11 b 12 … b 1 n b 21 b 22 … b 2 n ⋮ ⋮ ⋱ ⋮ b m 1 b m 2 … b m n ] .

矩阵 A A 的转置是一个 n n m列矩阵,它的每一行其实是原矩阵的每一列:

A=a11a12a1na21a22a2nam1am2amn. A ⊤ = [ a 11 a 21 … a m 1 a 12 a 22 … a m 2 ⋮ ⋮ ⋱ ⋮ a 1 n a 2 n … a m n ] .

两个相同形状的矩阵的加法实际上是按元素做加法:

A+B=a11+b11a21+b21am1+bm1a12+b12a22+b22am2+bm2a1n+b1na2n+b2namn+bmn. A + B = [ a 11 + b 11 a 12 + b 12 … a 1 n + b 1 n a 21 + b 21 a 22 + b 22 … a 2 n + b 2 n ⋮ ⋮ ⋱ ⋮ a m 1 + b m 1 a m 2 + b m 2 … a m n + b m n ] .

我们使用符号 表示两个矩阵按元素做乘法的运算:

AB=a11b11a21b21am1bm1a12b12a22b22am2bm2a1nb1na2nb2namnbmn. A ⊙ B = [ a 11 b 11 a 12 b 12 … a 1 n b 1 n a 21 b 21 a 22 b 22 … a 2 n b 2 n ⋮ ⋮ ⋱ ⋮ a m 1 b m 1 a m 2 b m 2 … a m n b m n ] .

定义一个标量 k k 。标量与矩阵的乘法也是按元素做乘法的运算:

kA=[ka11ka21kam1ka12ka22kam2ka1nka2nkamn].

其它例如标量与矩阵按元素相加、相除等运算与上式中的相乘运算类似。矩阵按元素开根号、取对数等运算也即对矩阵每个元素开根号、取对数等,并得到和原矩阵形状相同的矩阵。

矩阵乘法和按元素的乘法不同。设 A A m m p列的矩阵, B B p p n列的矩阵。两个矩阵相乘的结果

AB=a11a21ai1am1a12a22ai2am2a1pa2paipampb11b21bp1b12b22bp2b1jb2jbpjb1nb2nbpn A B = [ a 11 a 12 … a 1 p a 21 a 22 … a 2 p ⋮ ⋮ ⋱ ⋮ a i 1 a i 2 … a i p ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 … a m p ] [ b 11 b 12 … b 1 j … b 1 n b 21 b 22 … b 2 j … b 2 n ⋮ ⋮ ⋱ ⋮ ⋱ ⋮ b p 1 b p 2 … b p j … b p n ]

是一个 m m n列的矩阵,其中第 i i 行第j列( 1im,1jn 1 ≤ i ≤ m , 1 ≤ j ≤ n )的元素为

ai1b1j+ai2b2j++aipbpj=k=1paikbkj. a i 1 b 1 j + a i 2 b 2 j + … + a i p b p j = ∑ k = 1 p a i k b k j .

范数

n n 维向量x中的元素为 x1,,xn x 1 , … , x n 。向量 x x Lp L p 范数为

xp=(i=1n|xi|p)1/p. ‖ x ‖ p = ( ∑ i = 1 n | x i | p ) 1 / p .

例如, x x L1 L 1 范数是该向量元素绝对值的和:

x1=i=1n|xi|. ‖ x ‖ 1 = ∑ i = 1 n | x i | .

x x L2 L 2 范数是该向量元素平方和的平方根:

x2=i=1nx2i. ‖ x ‖ 2 = ∑ i = 1 n x i 2 .

我们通常用 x ‖ x ‖ 指代 x2 ‖ x ‖ 2

X X 是一个 m m n列矩阵。矩阵 X X 的Frobenius范数为该矩阵元素平方和的平方根:

XF=i=1mj=1nx2ij, ‖ X ‖ F = ∑ i = 1 m ∑ j = 1 n x i j 2 ,

其中 xij x i j 为矩阵 X X 在第 i i 行第j列的元素。

特征向量和特征值

对于一个 n n n列的矩阵 A A ,假设有标量 λ λ 和非零的 n n 维向量v使

Av=λv, A v = λ v ,

那么 v v 是矩阵 A A 的一个特征向量,标量 λ λ v v 对应的特征值。

微分

我们在这里简要介绍微分的一些基本概念和演算。

导数和微分

假设函数 f:RR f : R → R 的输入和输出都是标量。函数 f f 的导数

f(x)=limh0f(x+h)f(x)h,

且假定该极限存在。给定 y=f(x) y = f ( x ) ,其中 x x y分别是函数 f f 的自变量和因变量。以下有关导数和微分的表达式等价:

f(x)=y=dydx=dfdx=ddxf(x)=Df(x)=Dxf(x),

其中符号 D D d/dx也叫微分运算符。常见的微分演算有 DC=0 D C = 0 C C 为常数)、Dxn=nxn1 n n 为常数)、Dex=ex Dln(x)=1/x D ln ⁡ ( x ) = 1 / x 等。

如果函数 f f g都可导,设 C C 为常数,那么

ddx[Cf(x)]=Cddxf(x),ddx[f(x)+g(x)]=ddxf(x)+ddxg(x),ddx[f(x)g(x)]=f(x)ddx[g(x)]+g(x)ddx[f(x)],ddx[f(x)g(x)]=g(x)ddx[f(x)]f(x)ddx[g(x)][g(x)]2.

如果 y=f(u) y = f ( u ) u=g(x) u = g ( x ) 都是可导函数,依据链式法则,

dydx=dydududx. d y d x = d y d u d u d x .

泰勒展开

函数 f f 的泰勒展开式是

f(x)=n=0f(n)(a)n!(xa)n,

其中 f(n) f ( n ) 为函数 f f n阶导数(求 n n 次导数),n! n n 的阶乘。假设ϵ是个足够小的数,如果将上式中 x x a分别替换成 x+ϵ x + ϵ x x ,我们可以得到

f(x+ϵ)f(x)+f(x)ϵ+O(ϵ2).

由于 ϵ ϵ 足够小,上式也可以简化成

f(x+ϵ)f(x)+f(x)ϵ. f ( x + ϵ ) ≈ f ( x ) + f ′ ( x ) ϵ .

偏导数

u u 为一个有n个自变量的函数, u=f(x1,x2,,xn) u = f ( x 1 , x 2 , … , x n ) ,它有关第 i i 个变量xi的偏导数为

uxi=limh0f(x1,,xi1,xi+h,xi+1,,xn)f(x1,,xi,,xn)h. ∂ u ∂ x i = lim h → 0 f ( x 1 , … , x i − 1 , x i + h , x i + 1 , … , x n ) − f ( x 1 , … , x i , … , x n ) h .

以下有关偏导数的表达式等价:

uxi=fxi=fxi=fi=Dif=Dxif. ∂ u ∂ x i = ∂ f ∂ x i = f x i = f i = D i f = D x i f .

为了计算 u/xi ∂ u / ∂ x i ,我们只需将 x1,,xi1,xi+1,,xn x 1 , … , x i − 1 , x i + 1 , … , x n 视为常数并求 u u 有关xi的导数。

梯度

假设函数 f:RnR f : R n → R 的输入是一个 n n 维向量x=[x1,x2,,xn],输出是标量。函数 f(x) f ( x ) 有关 x x 的梯度是一个由 n n 个偏导数组成的向量:

xf(x)=[f(x)x1,f(x)x2,,f(x)xn].

为表示简洁,我们有时用 f(x) ∇ f ( x ) 代替 xf(x) ∇ x f ( x )

假设 x x 是一个向量,常见的梯度演算包括

xAxxxAxxAxxx2=A,=A,=(A+A)x,=xxx=2x. ∇ x A ⊤ x = A , ∇ x x ⊤ A = A , ∇ x x ⊤ A x = ( A + A ⊤ ) x , ∇ x ‖ x ‖ 2 = ∇ x x ⊤ x = 2 x .

类似地,假设 X X 是一个矩阵,那么

XX2F=2X. ∇ X ‖ X ‖ F 2 = 2 X .

黑塞矩阵

假设函数 f:RnR f : R n → R 的输入是一个 n n 维向量x=[x1,x2,,xn],输出是标量。假定函数 f f 所有的二阶偏导数都存在,f的黑塞矩阵 H H 是一个 n n n列的矩阵:

H=2fx212fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fx2n, H = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 … ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 … ∂ 2 f ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 … ∂ 2 f ∂ x n 2 ] ,

其中二阶偏导数

2fxixj=xj(fxi). ∂ 2 f ∂ x i ∂ x j = ∂ ∂ x j ( ∂ f ∂ x i ) .

概率

最后,我们简要介绍条件概率、期望和均匀分布。

条件概率

假设事件 A A 和事件B的概率分别为 P(A) P ( A ) P(B) P ( B ) ,两个事件同时发生的概率记作 P(AB) P ( A ∩ B ) P(A,B) P ( A , B ) 。给定事件 B B ,事件A的条件概率

P(AB)=P(AB)P(B). P ( A ∣ B ) = P ( A ∩ B ) P ( B ) .

也就是说,

P(AB)=P(B)P(AB)=P(A)P(BA). P ( A ∩ B ) = P ( B ) P ( A ∣ B ) = P ( A ) P ( B ∣ A ) .

当满足

P(AB)=P(A)P(B) P ( A ∩ B ) = P ( A ) P ( B )

时,事件 A A 和事件B相互独立。

期望

随机变量 X X 的期望(或平均值)

E(X)=xxP(X=x).

均匀分布

假设随机变量 X X 服从[a,b]上的均匀分布,即 XU(a,b) X ∼ U ( a , b ) 。随机变量 X X a b b <script type="math/tex" id="MathJax-Element-182">b</script>之间任意一个数的概率相等。

小结

  • 本节总结了本书中涉及到的有关线性代数、微分和概率的基础知识。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值