机器学习数学基础

数学基础

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

线性代数

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

向量

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

其中 是向量的元素。我们将各元素均为实数的 维向量 记作 或 。

矩阵

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

\boldsymbol{X} = \begin{bmatrix} x_{11} & x_{12} & \dots & x_{1n} \\ x_{21} & x_{22} & \dots & x_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ x_{m1} & x_{m2} & \dots & x_{mn} \end{bmatrix},

其中 是矩阵 中第 行第 列的元素()。我们将各元素均为实数的 行 列矩阵 记作 。不难发现,向量是特殊的矩阵。

运算

设 维向量 中的元素为 , 维向量 中的元素为 。向量 与 的点乘(内积)是一个标量:

设两个 行 列矩阵

\boldsymbol{A} = \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{bmatrix},\quad \boldsymbol{B} = \begin{bmatrix} b_{11} & b_{12} & \dots & b_{1n} \\ b_{21} & b_{22} & \dots & b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ b_{m1} & b_{m2} & \dots & b_{mn} \end{bmatrix}.

矩阵 的转置是一个 行 列矩阵,它的每一行其实是原矩阵的每一列:
\boldsymbol{A}^\top = \begin{bmatrix} a_{11} & a_{21} & \dots & a_{m1} \\ a_{12} & a_{22} & \dots & a_{m2} \\ \vdots & \vdots & \ddots & \vdots \\ a_{1n} & a_{2n} & \dots & a_{mn} \end{bmatrix}.

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

\boldsymbol{A} + \boldsymbol{B} = \begin{bmatrix} a_{11} + b_{11} & a_{12} + b_{12} & \dots & a_{1n} + b_{1n} \\ a_{21} + b_{21} & a_{22} + b_{22} & \dots & a_{2n} + b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} + b_{m1} & a_{m2} + b_{m2} & \dots & a_{mn} + b_{mn} \end{bmatrix}.

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

\boldsymbol{A} \odot \boldsymbol{B} = \begin{bmatrix} a_{11} b_{11} & a_{12} b_{12} & \dots & a_{1n} b_{1n} \\ a_{21} b_{21} & a_{22} b_{22} & \dots & a_{2n} b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} b_{m1} & a_{m2} b_{m2} & \dots & a_{mn} b_{mn} \end{bmatrix}.

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

k\boldsymbol{A} = \begin{bmatrix} ka_{11} & ka_{21} & \dots & ka_{m1} \\ ka_{12} & ka_{22} & \dots & ka_{m2} \\ \vdots & \vdots & \ddots & \vdots \\ ka_{1n} & ka_{2n} & \dots & ka_{mn} \end{bmatrix}.

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

矩阵乘法和按元素的乘法不同。设 为 行 列的矩阵, 为 行 列的矩阵。两个矩阵相乘的结果

\boldsymbol{A} \boldsymbol{B} = \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1p} \\ a_{21} & a_{22} & \dots & a_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ a_{i1} & a_{i2} & \dots & a_{ip} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mp} \end{bmatrix} \begin{bmatrix} b_{11} & b_{12} & \dots & b_{1j} & \dots & b_{1n} \\ b_{21} & b_{22} & \dots & b_{2j} & \dots & b_{2n} \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ b_{p1} & b_{p2} & \dots & b_{pj} & \dots & b_{pn} \end{bmatrix}

是一个 行 列的矩阵,其中第 行第 列()的元素为

范数

设 维向量 中的元素为 。向量 的 范数为

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

而 的 范数是该向量元素平方和的平方根:

我们通常用 指代 。

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

其中 为矩阵 在第 行第 列的元素。

特征向量和特征值

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

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

微分

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

导数和微分

假设函数 的输入和输出都是标量。函数 的导数

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

其中符号 和 也叫微分运算符。常见的微分演算有 ( 为常数)、( 为常数)、、 等。

如果函数 和 都可导,设 为常数,那么

\begin{aligned} \frac{d}{dx} [Cf(x)] &= C \frac{d}{dx} f(x),\\ \frac{d}{dx} [f(x) + g(x)] &= \frac{d}{dx} f(x) + \frac{d}{dx} g(x),\\ \frac{d}{dx} [f(x)g(x)] &= f(x) \frac{d}{dx} [g(x)] + g(x) \frac{d}{dx} [f(x)],\\ \frac{d}{dx} \left[\frac{f(x)}{g(x)}\right] &= \frac{g(x) \frac{d}{dx} [f(x)] - f(x) \frac{d}{dx} [g(x)]}{[g(x)]^2}. \end{aligned}

如果 和 都是可导函数,依据链式法则,

泰勒展开

函数 的泰勒展开式是

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

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

偏导数

设 为一个有 个自变量的函数,,它有关第 个变量 的偏导数为

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

为了计算 ,我们只需将 视为常数并求 有关 的导数。

梯度

假设函数 的输入是一个 维向量 ,输出是标量。函数 有关 的梯度是一个由 个偏导数组成的向量:

为表示简洁,我们有时用 代替 。

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

\begin{aligned} \nabla_{\boldsymbol{x}} \boldsymbol{A}^\top \boldsymbol{x} &= \boldsymbol{A}, \\ \nabla_{\boldsymbol{x}} \boldsymbol{x}^\top \boldsymbol{A} &= \boldsymbol{A}, \\ \nabla_{\boldsymbol{x}} \boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x} &= (\boldsymbol{A} + \boldsymbol{A}^\top)\boldsymbol{x},\\ \nabla_{\boldsymbol{x}} \|\boldsymbol{x} \|^2 &= \nabla_{\boldsymbol{x}} \boldsymbol{x}^\top \boldsymbol{x} = 2\boldsymbol{x}. \end{aligned}

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

黑塞矩阵

假设函数 的输入是一个 维向量 ,输出是标量。假定函数 所有的二阶偏导数都存在, 的黑塞矩阵 是一个 行 列的矩阵:

\boldsymbol{H} = \begin{bmatrix} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} & \dots & \frac{\partial^2 f}{\partial x_1 \partial x_n} \\ \frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \dots & \frac{\partial^2 f}{\partial x_2 \partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^2 f}{\partial x_n \partial x_1} & \frac{\partial^2 f}{\partial x_n \partial x_2} & \dots & \frac{\partial^2 f}{\partial x_n^2} \end{bmatrix},

其中二阶偏导数

概率

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

条件概率

假设事件 和事件 的概率分别为 和 ,两个事件同时发生的概率记作 或 。给定事件 ,事件 的条件概率

也就是说,

当满足

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

期望

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

均匀分布

假设随机变量 服从 上的均匀分布,即 。随机变量 取 和 之间任意一个数的概率相等。

练习

  • 求函数 的梯度。

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