1 机器学习数学总结

前言:此为学习《深度学习》所做笔记。

参考:《深度学习》、《机器学习》-周志华、《统计学习方法》-李航。

1 线性代数

1.1 标量、向量、矩阵和张量

  • 标量(scalar)
  • 向量(vector)
  • 矩阵(matrix)
  • 张量(tensor)

1.2 矩阵和向量相乘

  • 两个矩阵A和B的矩阵乘积是第三个矩阵C,其中A的列数必须和B的行数相等。
  • 两个矩阵A和B的元素对应乘积或者Hadamard乘积,记为A⊙B。
  • 两个相同维数的向量 x 和 y 的 点积(dot product)可看作是矩阵乘积 xTy。
  • 矩阵乘积服从分配律:A(B + C) = AB + AC
  • 矩阵乘积也服从结合律:A(BC) = (AB)C
  • 矩阵乘积并不满足交换律:AB = BA 的情况并非总是满足
  • 两个向量的 点积(dot product)满足交换律:xTy = yTx
  • 矩阵乘积的转置有着简单的形式:(AB)T = BTAT
  • 可以表达下列线性方程组:Ax = b

1.3 单位矩阵和逆矩阵

  • 单位矩阵(identity matrix):任意向量和单位矩阵相乘,其值都不会被改变。记为In ∈ Rn×n
  • 矩阵 A 的 矩阵逆(matrix inversion)记作 A-1,其定义的矩阵满足如下条件:A-1A = In
  • 当逆矩阵 A-1存在时,有几种不同的算法都能找到它的闭解形式。

1.4 线性相关和生成子空间

  • 对于方程组 Ax = b 而言,对于向量 b 的某些值,有可能不存在解,或者存在无限多个解。存在多于一个解但是少于无限多个解的情况是不可能发生的;因为如果 x 和 y 都是某方程组的解,则z = αx + (1 − α)y。
  • 一组向量的 生成子空间(span)是原始向量线性组合后所能抵达的点的集合。
  • 确定 Ax = b 是否有解相当于确定向量 b 是否在 A 列向量的生成子空间中。这个特殊的生成子空间被称为 A 的 列空间(column space)或者 A 的 值域(range)
  • 一个列向量线性相关的方阵被称为 奇异的(singular)
  • 如果矩阵 A 不是一个方阵或者是一个奇异的方阵,该方程仍然可能有解。但是我们不能使用矩阵逆去求解。

1.5 范数

  • 范数(norm)的函数衡量向量大小,Lp 范数定义如下:

范数是满足下列性质的任意函数:

  • f(x) = 0 ) x = 0
  • f(x + y) ≤ f(x) + f(y) (三角不等式(triangle inequality))
  • 所有的α ∈ R, f(αx) = |α|f(x)

当 p = 2 时, L2 范数被称为 欧几里得范数(Euclidean norm)。它表示从原点
出发到向量 x 确定的点的欧几里得距离。

  • 平方 L2 范数也经常用来衡量向量的大小,可以简单地通过点积 xTx 计算。
  • 衡量矩阵的大小,最常见的做法是使用 Frobenius 范数(Frobenius norm)

1.6 特殊类型的矩阵和向量

  • 对角矩阵
  • 对称矩阵
  • 单位向量:∥x∥2 = 1
  • 标准正交
  • 正交矩阵:是指行向量和列向量是分别标准正交的方阵

1.7 特征分解

  • 正如我们可以通过分解质因数来发现整数的一些内在性质,我们也可以通过分解矩阵来发现矩阵表示成数组元素时不明显的函数性质。
  • 特征分解(eigendecomposition)是使用最广的矩阵分解之一,即我们将矩阵分解成一组特征向量和特征值
  • 方阵 A 的 特征向量(eigenvector)是指与 A 相乘后相当于对该向量进行缩放的非零向量 v:Av = λv。
  • 如果 v 是 A 的特征向量,那么任何缩放后的向量 sv (s ∈ R,s ̸= 0) 也是 A 的特征向量。此外, sv 和 v 有相同的特征值。基于这个原因,通常我们只考虑单位特征向量。
  • 假设矩阵 A 有 n 个线性无关的特征向量 {v(1),…, v(n)},对应着特征值{λ1,…, λn}。我们将特征向量连接成一个矩阵,使得每一列是一个特征向量:V = [v(1),…,v(n)]. 类似地,我们也可以将特征值连接成一个向量 λ = [λ1,…,λn]。因此 A 的 特征分解(eigendecomposition)可以记作 A = V diag(λ) V−1
  • 不是每一个矩阵都可以分解成特征值和特征向量。
  • 每个实对称矩阵都可以分解成实特征向量和实特征值:A = QΛQ。其中 Q 是 A 的特征向量组成的正交矩阵, Λ 是对角矩阵
  • 所有特征值都是非负数的矩阵被称为 半正定(positive semidefinite)。
  • 所有特征值都是正数的矩阵被称为 正定(positive definite);

1.8 奇异值分解

  • 奇异值分解(singular value decomposition, SVD),将矩阵分解为奇异向量(singular vector)和 奇异值(singular value)。通过奇异值分解,我们会得到一些与特征分解相同类型的信息。
  • 例如,非方阵的矩阵没有特征分解,这时我们只能使用奇异值分解。
  • 将矩阵 A 分解成三个矩阵的乘积:A = UDV。假设 A 是一个 m × n 的矩阵,那么 U 是一个 m × m 的矩阵, D 是一个 m × n 的矩阵, V 是一个 n × n 矩阵。矩阵 U 和 V 都定义为正交矩阵,而矩阵 D 定义为对角矩阵。注意,矩阵 D 不一定是方阵。
  • 对角矩阵 D 对角线上的元素被称为矩阵 A 的 奇异值(singular value)。矩阵U 的列向量被称为 左奇异向量(left singular vector),矩阵 V 的列向量被称 右奇异向量(right singular vector)。

1.9 Moore-Penrose 伪逆

  • 对于非方矩阵而言,其逆矩阵没有定义。对于方程 Ax = y ,如果矩阵 A 的行数大于列数,那么上述方程可能没有解。如果矩阵 A 的行数小于列数,那么上述矩阵可能有多个解。
  • 矩阵A的伪逆定义为如下图,而计算伪逆的实际算法没有基于这个定义,而是使用 A+ = VD+U 这个公式,其中,矩阵 U, D 和 V 是矩阵 A奇异值分解后得到的矩阵。对角矩阵 D 的伪逆 D+ 是其非零元素取倒数之后再转置得到的。

  • 当矩阵 A 的列数多于行数时,使用伪逆求解线性方程是众多可能解法中的一种。特别地, x = A+y 是方程所有可行解中欧几里得范数 ∥x∥2 最小的一个。
  • 当矩阵 A 的行数多于列数时,可能没有解。在这种情况下,通过伪逆得到的 x 使得 Ax 和 y 的欧几里得距离 ∥Ax − y∥2 最小。

2.10 迹运算

  • 迹运算返回的是矩阵对角元素的和:

  • 迹运算提供了另一种描述矩阵Frobenius范数的方式:

2.11 行列式

  • 行列式,记作 det(A),是一个将方阵 A 映射到实数的函数。
  • 行列式等于矩阵特征值的乘积。
  • 行列式的绝对值可以用来衡量矩阵参与矩阵乘法后空间扩大或者缩小了多少。
  • 如果行列式是 0,那么空间至少沿着某一维完全收缩了,使其失去了所有的体积。
  • 如果行列式是 1,那么这个转换保持空间体积不变。

2.12 主成分分析

问题描述:假设在 Rn 空间中我们有 m 个点 {x(1),…, x(m)},我们希望对这些点进行有损压缩。有损压缩表示我们使用更少的内存,但损失一些精度去存储这些点。我们希望损失的精度尽可能少。

解决方法:一种编码这些点的方式是用低维表示。对于每个点 x(i) ∈ Rn,会有一个对应的编码向量 c(i) ∈ Rl。如果 l 比 n 小,那么我们便使用了更少的内存来存储原来的数据。

我们希望找到一个编码函数,根据输入返回编码, f(x) = c;我们也希望找到一个解码函数,给定编码重构输入, x ≈ g(f(x))。

PCA 由我们选择的解码函数而定。具体地,为了简化解码器,我们使用矩阵乘法将编码映射回 Rn,即 g(c) = Dc,其中 D ∈ Rn×l 是定义解码的矩阵。

  • 为了使问题有唯一解,我们限制 D 中所有列向量都有单位范数。
  • 计算这个解码器的最优编码可能是一个困难的问题。为了使编码问题简单一些,PCA 限制 D 的列向量彼此正交。
  • 首先我们需要明确如何根据每一个输入 x 得到一个最优编码 c∗。一种方法是最小化原始输入向量 x 和重构向量g(c∗) 之间的距离。在 PCA 算法中,我们使用 L2 范数:

  • 我们可以用平方 L2 范数替代 L2 范数,因为两者在相同的值 c 上取得最小值。其中 g(c) = Dc。

  • 为了编码向量,我们使用编码函数:f(x) = Dx 。
  • 也可以定义 PCA 重构操作:r(x) = g(f(x)) = DDx 。

编码矩阵D : 接下来的关键问题在于如何挑选编码矩阵 D。

  • 因为用相同的矩阵 D 对所有点进行解码,我们不能再孤立地看待每个点。反之,我们必须最小化所有维数和所有点上的误差矩阵的 Frobenius 范数:

  • 为了推导用于寻求 D∗ 的算法,我们首先考虑 l = 1 的情况, 在这种情况下,D 是一个单一向量 d。具体来讲,最优的 d 是 XTX 最大特征值对应的特征向量。
  • 更一般地,当我们希望得到主成分的基时,矩阵 D 由前 l 个最大的特征值对应的特征向量组成。这个结论可以通过归纳法证明。

2 概率与信息论

在人工智能领域,概率论主要有两种用途。

  • 首先,概率法则告诉我们 AI 系统如何推理,据此我们设计一些算法来计算或者估算由概率论导出的表达式。
  • 其次,我们可以用概率和统计从理论上分析我们提出的 AI 系统的行为。

概率论使我们能够提出不确定的声明以及在不确定性存在的情况下进行推理,而信息论使我们能够量化概率分布中的不确定性总量。

2.1 为什么使用概率?

  • 直接与事件发生的频率相联系,被称为 频率派概率(frequentist probability);
  • 涉及到确定性水平,被称为 贝叶斯概率(Bayesian probability)。
  • 关于不确定性的常识推理,如果我们已经列出了若干条我们期望它具有的性质,那么满足这些性质的唯一一种方法就是将贝叶斯概率和频率派概率视为等同的。
  • 概率论提供了一套形式化的规则,可以在给定一些命题的似然后,计算其他命题为真的似然。

2.2 随机变量

  • 随机变量(random variable)是可以随机地取不同值的变量。
  • 就其本身而言,一个随机变量只是对可能的状态的描述;它必须伴随着一个概率分布来指定每个状态的可能性。
  • 随机变量可以是离散的或者连续的。

2.3 概率分布

  • 概率分布(probability distribution)用来描述随机变量或一簇随机变量在每一个可能取到的状态的可能性大小。

2.3.1 离散型变量和概率质量函数

  • 离散型变量的概率分布可以用 概率质量函数(probability mass function, PMF)来描述。
  • 有时我们会先定义一个随机变量,然后用 ∼ 符号来说明它遵循的分布: x ∼ P (x)。
  • 概率质量函数可以同时作用于多个随机变量。这种多个变量的概率分布被称为 联合概率分布(joint probability distribution)。 P (x = x, y = y) 表示 x = x 和 y = y 同时发生的概率。我们也可以简写为 P (x, y)。

2.3.2 连续型变量和概率密度函数

  • 当我们研究的对象是连续型随机变量时,我们用 概率密度函数(probability density function, PDF)而不是概率质量函数来描述它的概率分布。
  • 概率密度函数 p(x) 并没有直接对特定的状态给出概率,相对的,它给出了落在面积为 δx 的无限小的区域内的概率为 p(x)δx。
  • 我们可以对概率密度函数求积分来获得点集的真实概率质量。

2.4 边缘概率

有时候,我们知道了一组变量的联合概率分布,但想要了解其中一个子集的概率分布。这种定义在子集上的概率分布被称为 边缘概率分布(marginal probability distribution)。

2.5 条件概率

  • 我们感兴趣的是某个事件,在给定其他事件发生时出现的概率。这种概率叫做条件概率。
  • 我们将给定 x = x, y = y 发生的条件概率记为P (y = y | x = x)。这个条件概率可以通过下面的公式计算:

2.6 条件概率的链式法则

任何多维随机变量的联合概率分布,都可以分解成只有一个变量的条件概率相乘的形式:

2.7 独立性和条件独立性

  • 两个随机变量 x 和 y,如果它们的概率分布可以表示成两个因子的乘积形式,并且一个因子只包含 x 另一个因子只包含 y,我们就称这两个随机变量是 相互独立的(independent):

  • 如果关于 x 和 y 的条件概率分布对于 z 的每一个值都可以写成乘积的形式,那么这两个随机变量 x 和 y 在给定随机变量 z 时是 条件独立的(conditionally independent):

2.8 期望、方差和协方差

  • 期望:函数 f(x) 关于某分布 P (x) 的 期望(expectation)或者 期望值(expected value)是指,当 x 由 P 产生, f 作用于 x 时, f(x) 的平均值。
  • 对于离散型随机变量,这可以通过求和得到:

  • 对于连续型随机变量可以通过求积分得到:

  • 期望是线性的,例如,

  • 方差(variance)衡量的是当我们对 x 依据它的概率分布进行采样时, 随机变量 x 的函数值会呈现多大的差异:

  • 协方差(covariance)在某种意义上给出了两个变量线性相关性的强度以及这些变量的尺度:

  • 协方差的绝对值如果很大则意味着变量值变化很大并且它们同时距离各自的均值很远。
  • 如果协方差是正的,那么两个变量都倾向于同时取得相对较大的值。
  • 如果协方差是负的,那么其中一个变量倾向于取得相对较大的值的同时,另一个变量倾向于取得相对较小的值,
  • 两个变量如果相互独立那么它们的协方差为零,如果两个变量的协方差不为零那么它们一定是相关的。
  • 两个变量如果协方差为零,它们之间一定没有线性关系。
  • 独立性比零协方差的要求更强,因为独立性还排除了非线性的关系。
  • 随机向量 x ∈ Rn协方差矩阵(covariance matrix)是一个 n × n 的矩阵,并且满足:Cov(x)i, j = Cov(xi, xj)。协方差矩阵的对角元是方差:Cov(xi, xi) = Var(xi)。

2.9 常用概率分布

  • Bernoulli 分布

  • Multinoulli 分布
  • 高斯分布

  • 指数分布和 Laplace 分布

  • Dirac 分布和经验分布
  • 分布的混合

2.10 常用函数的有用性质

  • 其中一个函数是 logistic sigmoid 函数:

  • 另外一个经常遇到的函数是 softplus 函数(softplus function):

  • 常用的一些性质

2.11 贝叶斯规则

我们经常会需要在已知 P (y | x) 时计算 P (x | y)。幸运的是,如果还知道 P (x),我们可以用 贝叶斯规则(Bayes’ rule)来实现这一目的:

注意到 P (y) 出现在上面的公式中,它通常使用:

3 信息论

信息论是应用数学的一个分支,主要研究的是对一个信号包含信息的多少进行量化

  • 非常可能发生的事件信息量要比较少。
  • 较不可能发生的事件具有更高的信息量。
  • 独立事件应具有增量的信息。

3.1 自信息

定义一个事件 x = xi 的自信息为 I(xi) = -log P(xi)。

3.2 香农熵(Shannon entropy)

用香农熵对整个概率分布中的不确定性总量进行量化:

一个分布的香农熵是指遵循这个分布的事件所产生的期望信息总量。

3.3 KL散度

对于同一个随机变量 x 有两个单独的概率分布 P (x) 和 Q(x),可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异:

3.4 交叉熵

交叉熵和KL散度密切相关,针对 Q 最小化交叉熵等价于最小化 KL 散度,因为 Q 并不参与被省略的那一项。

3.5 信息增益

  • 信息熵

设X是一个取有限值的离散随机变量,其概率分布为:

则随机变量X的信息熵定义为:

这里的信息熵和上述的香农熵是一个东东。

信息熵只依赖于X的分布,而与X的取值无关,所以也可以将X的熵记做H(p),即:

熵越大,随机变量的不确定性就越大。

  • 条件熵

设有随机变量(X,Y),其联合概率分布为P(X = xi,Y = yi) = Pij,i = 1,2..n; j = 1,2..n;

条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。

这里,pi = P(X = xi),i = 1,2,..,n。

当熵和条件熵中的概率有数据统计(特别是极大似然估计)得到时,所对应的熵分别是经验熵和经验条件熵。其中,令0log0 = 0.

  • 信息增益

信息增益表示得知特征X的信息,使得类Y的信息的不确定性减少的程度。

特征A的训练数据集D的信息增益 g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差:

一般地,熵H(Y)与条件熵H(Y|X)之差称为互信息。

3.6 信息增益比

特征A对训练数据集D的信息增益比gR(D,A)定义为其信息增益g(D,A)与训练数据集D的经验熵H(D)之比:

其中,C4.5决策树算法就使用信息增益

3.7 基尼指数

数据集D的纯度可用基尼值来衡量:

Gini(D)反应了数据集D中随机抽取两个样本,其类别标记不一致的概率。因此,Gini越小,数据集D的纯度越高。

则属性a的基尼指数定义为:

于是,在候选属性集合A中,选择使得划分后基尼指数最小的属性作为最优划分属性。

4 数值计算

你可能感兴趣的:(机器学习)