0.1 数学基础
本章列出深度学习中常用的线性代数、微积分和概率论中常用到的数学基础,这些基本的数学基础构成当前人工智能算法大厦的基石。
0.1.1 线性代数
0.1.1.1 标量、向量、张量和矩阵
- 标量(scalar):一个单独的数(整数或实数)。如x
- 向量(vector):线性代数中的向量分为行向量和列向量,在此处无特殊说明时向量指的是列向量既用一列“[]”括起来的数。如
向量克表示成
其中,
,
是向量的元素,若各元素均为实数,则将该n维向量记为
。
矩阵(matrix):由mn个数排成的m行n列的表,如一个m行n列矩阵X可表示成
其中是X矩阵的第
行第
列的元素(
,
)。我们将各元素均为实数的m行n列矩阵X记为
,,可以看出向量是特殊的矩阵。
- 张量(tensor):在很多情况下,我们讨论的坐标超过二维,例如计算机视觉领域中图像的像素点值由RGB三个通道组成。一般的,一个数组中的元素分布在若干维坐标的规则网格中,我们称之为张量,用A表示张量“A”。张量A中坐标为(
)的元素记为
。
0.1.1.2 运算
- 內积(点乘):设n为向量
中的元素为
,...
,
维向量b中的元素
,...,
。向量a与b的內积是一个标量:
- 转置(transpose):矩阵的转置是以对角线为轴的镜像。设m行n列矩阵
如下:
矩阵转置后变成一个n行m列矩阵,它的每一行其实是原矩阵的每一列:
- 矩阵加法(同型):设矩阵
如下:
则矩阵和矩阵
的加法是对应位置元素的和:
- 广播:在深度学习中,我们也使用一些不常规的运算,允许矩阵和向量相加产生 另一个矩阵称之为广播。
其中。
- 两个矩阵按元素做乘法:我们使用符号
表示两个矩阵按元素做乘法的运算
- 矩阵乘法:矩阵乘法和上述两个矩阵按元素做乘法不同。设A为
行
列的矩阵,B为
行n列的矩阵,则
:
其结果为一个行
列的矩阵,其中第
行第
列(
)的元素为
- 标量与矩阵的乘法:标量
与矩阵
的乘法是给矩阵
逐元素乘以标量
:
- 范数:一种衡量向量大小的函数。设
维向量
中的元素为
,...
。向量
的
范数定义如下
其中。范数(包括
范数)是将向量映射到非负值的函数。直观来说,向量
的范数衡量从原点到点
的距离。
当=1时,
的
范数是该向量元素绝对值之和:
当=2时,
的
范数是该向量元素平方和的平方根,
范数成为欧几里得范数。它表示从原点出发到向量
确定的点的欧几里得距 离:
范数在机器学习中频繁出现,简化表示为
。
- Frobenius范数:衡量矩阵的大小,如下
其中为矩阵
在第
行
列的元素。
0.1.1.3 特征向量和特征值
方阵 的特征向量是指与
相乘后相当于对该向量进行缩放的非零向量
:
其中标量称为这个特征向量对应的特征值。
0.1.2 微分
0.1.2.1 导数和微分
假设函数 :
的输入和输出都是标量,则函数
的倒函数为
假定该极限存在。给定,以下有关倒函数和微分的表达式等价:
常见导数公式(
为常数)、
、
、
等
如果函数f和g都可到,设C为常数,那么
如果和
都是可导函数,根据链式法则
0.1.2.2 泰勒展开
函数f的泰勒展开式是
注意:此处不能写“=”
其中为函数
的
阶导数,假设
是一个足够小的数,如果将上式中
和
分别替换成
和
,可以得到
由于足够小,上式可以简化成
0.1.2.3 偏导数
设 为一个有
个自变量的函数,
,它有关第
个变量
的偏导数为
以下有关偏导数的表达式等价:
0.1.2.4 梯度
回顾下方向导数的概念,方向导数:函数在给定点处沿特定方向
的变化率称作沿
的方向导数。
梯度是这样一个向量:它的方向与取得最大方向导数的方向一致,而它的模为方向导数的最大值。
定义:假设函数:
的输入
是一个
维向量
,输出是标量。函数
有关x的梯度是一个 由
个偏导数组成的向量:
为简洁起见,我们有时用代替
。
常见的梯度运算:
0.1.2.5 海森(Hessian)矩阵
假设函数:
的输入
是一个
维向量
,输出是标量函数
所有的二阶偏导数都存在,
的海森矩阵H是一个n行n列的矩阵:
0.1.3 概率
0.1.3.1 条件概率
设、
是两个事件,切
,称
其中 为事件
、
同时发生的概率。
由此可知 ,
事件和事件
相互独立的条件为
0.1.3.2 期望、方差
期望
离散型随机变量的期望(或平均值)为
方差
函数 关于某分布
的期望指,当
由
产生,
作用于
时,
的平均值。
函数 关于某分布
的方差