由于之前我学习过高等代数和解析几何,所有在此只列举不熟悉或容易忘记的知识点。目录如下:
一、 线性代数
二、概率与信息论
三、数值计算
一、线性代数
- 张量:一般的,一个数组中的元素分布在若干维坐标的规则网格中,我们称之为张量。
- 矩阵与向量相加:在深度学习中,我们允许矩阵和向量相加,产生另一个矩阵:C=A+b,其中Ci,j=Ai,j+bj。换言之,向量b和矩阵A的每一行相加。(这里隐式地复制向量b到很多位置的方式,称为广播)
- 元素对应乘积(Hadamard乘积):两个矩阵中对应元素的乘积。
- 矩阵乘积满足结合律,但是不满足交换律。
- 标量可以看作只有一个元素的矩阵,标量的转置等于它本身。
- 生成子空间:一组向量的生成子空间,是原始向量线性组合后所能抵达的点的集合。(确定Ax=b是否有解,相当于确定向量b是否在A列向量的生成子空间中。这个特殊的生成子空间被称为A的列空间或者A的值域)
- 奇异的:一个列向量线性相关的方阵被称为奇异的。
- 范数(包括Lp范数):是将向量映射到非负值的函数。直观上来说,向量x的范数衡量原点到x的距离。(当机器学习问题中零和非零元素之间的差异非常重要时,通常会使用L1范数)
- 最大范数:表示向量中具有最大幅值的元素的绝对值。
- Frobenius范数:衡量矩阵的大小。
- 对角矩阵: 只在主对角线上含有非零元素,其他位置都是零。我们用diag(v)表示对角元素由向量v中元素给定的一个对角方阵。
- 对称矩阵:转置和自己相等的矩阵。
- 正交:如果x的转置和y的乘积等于0,那么向量x和向量y互相正交。在Rn中,至多有n个范数非零向量互相正交。如果这些向量不但互相正交,而且范数都为1,那么我们称它们是标准正交。
- 正交矩阵:行向量和列向量是分别标准正交的方阵,即A的转置与A的乘积为单位矩阵,且等于A与A的转置的乘积(这意味着A的逆矩阵与A的转置相等)。
- 奇异值分解:参考李航《统计学习方法》中的奇异值分解
- Moore-Penrose伪逆:矩阵A的伪逆定义为A+=lim(AT A+I)-1 AT (α→0),实际计算伪逆时,我们采用下列公式:A+=V D+ UT,其中,矩阵U、D和V是矩阵A奇异值分解后的矩阵。对角矩阵D的伪逆D+是其非零元素取到数之后再转置得到的。(对于非方阵而言,其逆矩阵没有定义)
- 迹运算:迹运算返回的是矩阵对角元素的和,记作Tr(A)。
- 行列式:记作det(A),是一个将方阵A映射到实数的函数。行列式等于矩阵特征值的乘积。行列式的绝对值可以用来衡量矩阵参与矩阵乘法后空间扩大或者缩小了多少。
二、概率与信息论
-
概率质量函数(PMF):离散型变量的概率分布可以用概率质量函数来描述。
-
概率密度函数(PDF):当研究的对象是连续型随机变量时,我们用概率密度函数来描述它的概率分布。(这里,我们不要求p(x)≤1)
-
常见的分布:
①Bernoulli分布:是单个二值随机变量分布。它由单个参数φ∈[0,1]空值,φ给出了随机变量等于1的概率。
②Multinoulli分布(范畴分布):是指在具有k个不同状态的单个离散型随机变量上的分布,其中k是一个有限值。Multinoulli分布经常用来表示对象分类的分布。
③高斯分布:正态分布也称为高斯分布。
④指数函数:用指示函数1(x≥0)来使得当x取负值时的概率为零。一个联系紧密的概率分布是Laplace分布,它允许我们在任意μ处设置概率质量的峰值。
⑤Dirac分布:Dirac delta函数δ(x)定义概率密度函数来实现:p(x)=δ(x-μ)。Dirac delta函数被定义成在除了0以外的所有点的值为0,但是积分为1。
经验分布: -
先验概率:αi=P(c=i),先验一词表明了在观测到x之前传递给模型关于c的信念。
-
后验概率:P(c|x),因为它是在观测到x之后进行计算的。
-
高斯混合模型是概率密度的万能近似器
-
常用函数的有用性质:
①logistic sigmoid函数:通常用来产生Bernoulli分布中的参数φ。(sigmoid函数在变量取绝对值非常大的正值或负值时会出现饱和现象,意味着函数会变得很平)
②softplus函数:可以用来产生正态分布的参数。它是x+=max(0,x)(正部函数)的软化形式。
③重要的性质:
-
零测度:描述那些非常微小的点的集合。(可以认为零测度集在我们的度量空间中不占有任何的体积。例如在二维空间中,一条直线的测度为零,而填充的多边形具有正的测度)
-
几乎处处:某个性质如果是几乎处处都成立的,那么它在整个空间中除了一个测度为零的集合以外都是成立的。
-
在高维空间中,微分运算扩展为Jacobian矩阵的行列式。
-
信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息。我们想要提供这种基本想法来量化信息,特别是:
· 非常有可能发生的事件信息量要比较少,并且极端情况下,确保能够发生的事件应该没有信息量。
· 较不可能发生的事件具有更高的信息量。
· 独立事件应具有增量的信息。
为了满足上述三个性质,我们定义一个事件x=x的自信息为I(x)=-logP(x)。(log表示自然对数,其底数为e)因此,我们定义的I(x)单位是奈特。一奈特是以1/e的概率观测到一个事件时获得的信息量。(使用底数为2的对数,单位是比特或香农,通过比特度量的信息只是通过奈特度量信息的常数倍) -
香农熵:对整个概率分布中的不确定性总量进行量化,也记作H§。换言之,一个分布的香农熵是指遵循这个分布的事件所产生的期望信息总量。当x连续时,香农熵被称为微分熵。
-
KL散度:如果对于同一个随机变量x有两个单独的概率分布P(x)和Q(x),可以使用KL散度来衡量这两个分布的差异。
在离散随机变量情况下,KL散度衡量的是,当我们使用一种被设计成能够使得概率分布Q产生的消息的长度最小的编码,发送包含由概率P产生的符号的消息时,所需要的额外信息量。
KL散度的性质:它是非负的。KL散度为0,当且仅当P和Q在离散型变量的情况下是相同的分布,或者在连续型变量的情况下是“几乎处处”相同的。它是非对称的。
一个和KL散度密切联系的量是交叉熵,即H(P,Q)=H§+DKL(P||Q)。 -
结构化概率模型(图模型):用图来表示概率分布的分解。有向模型使用带有有向边的图,它们用条件概率分布来表示分解。无向模型使用带有无向边的图,它们将分解表示成一组函数。
三、数值计算
- 下溢:极具毁灭性的舍入误差。当接近零的数被四舍五入为零时发生下溢。
- 上溢:极具破坏力的数值错误形式。当大量级的数被近似为∞或-∞时发生上溢。
- 条件数:是指函数相对输入的微小变化而变化的快慢程度。
- 偏导数:衡量点x处只有xi增加时f(x)如何变化。
- 梯度:是相对一个向量求导的导数,f的导数是包含所有偏导数的向量。梯度的第i个元素是f关于xi的偏导数。在多维情况下,临界点是梯度所有元素都为零的点。
- 方向导数:在u(单位向量)方向的方向导数是函数f在u方向的斜率。换句话说,方向导数是函数f(x+αu)关于α的导数(在α=0时取得)。
- 爬山算法:递增带有离散参数的目标函数。
- Jacobian矩阵:
- Hessian矩阵:等于梯度的Jacobian矩阵。
Hessian矩阵是实对称的,我们可以将其分解成一组实特征值和一组特征向量的正交基。在特定方向d上的二阶导数可以写成dT Hd。当d是H的一个特征向量时,这个方向的二阶导数就是对应的特征值。对于其他的方向d,方向二阶导数是所有特征值的加权平均,权重在0和1之间,且与d夹角越小的特征向量的权重越大。最大特征值确定最大二阶导数,最小特征值确定最小二阶导数。(???没理解) - 在深度学习的背景下,限制函数满足Lipschitz连续或其导数Lipschitz连续可以获得一些保证。Lipschitz连续函数的变化速度以Lipschitz常数为界: