线性代数
基本概念
标量、向量、矩阵、矩阵运算、范数、特征向量、特征值。
标量就是一个实数,比如 1,2,3,2.5 都是一个标量,我们一般用小写的 来表示。
向量就是一组标量的集合,如下:
向量拥有n个元素,代表的是其第i个元素,用有n个元素的向量我们记作:
或者
矩阵就是一组相同长度的向量集合,一个m*n的矩阵是拥有m行n列的元素,如下:
其中代表矩阵的第i行第j列的元素,一个的矩阵,我们也记作:
这么看向量其实也是一种特殊的矩阵。
基本运算
向量点积
矩阵转置
定义矩阵如下:
其转置如下:
矩阵加减法
矩阵加减法要求矩阵形状相同的矩阵才能够进行加减法。
定义两个矩阵如下:
那么矩阵加法效果如下:
即将每个矩阵内的元素加起来即可。减法和按元素乘法同理,即每个元素按位置相减和相乘。
这里要强调一下矩阵按元素乘法跟普通的乘法定义略有不同,按元素乘法记作:
下面一节要介绍的矩阵乘法直接就记作:
矩阵乘法
矩阵乘法要求第一个矩阵的列跟第二个矩阵的宽是一样的。
假设两个矩阵:
其中 ,
变成了一个 m*k
的矩阵,该矩阵的第 i
行,第 j
列的元素内容为A的第i行的向量和B的第j列的向量的点积,如下:
范数
向量和矩阵都会有范数,范数会有级别,一个向量的p级别范数为:
一般比较常用的范数是L1范数和L2范数,其中
L1范数就是向量各元素的绝对值之和:
L2范数是将求个元素的平方和再开根,如下:
我们通常用来代替,也就是说L2范数是最常使用的范数。
矩阵也会有范数,定义跟向量是类似的,以L2范数定义为例子:
即将矩阵中所有元素求平方和再开根。
特征值和特征向量
特征值和特征向量只针对矩阵行和列都相同的矩阵才有意义,假设有一个n*n的矩阵A,如果存在一个标量和n维向量 v
,使得如下的等式成立:
那么我就称这个就是矩阵A的特征值,这个 v
就是矩阵A的特征向量。
微积分
导数
导数的定义是针对函数的,假设有一个函数
对一个函数求导的数学记号记作如下:
函数求导之后又是另外一个函数,常见的导数函数如下:
导数运算
假如我们现在有两个函数,我们针对两个函数通过加减乘除组合而成的新的函数来求导,求导公式如下:
通过如上的基本运算符,我们就可以对相对比较复杂的函数来进行求导了,比如如下函数:
该函数的导数就是:
嵌套函数求导运算:
或者换一个更清晰一点的表述方式,假设有两个函数,那么
用一个实际的例子来阐述如上的嵌套函数求导,比如:
如上例子用了两种方式来计算,最终得到的结果都一样的。
泰勒展开
泰勒展开是将一个函数展开为用其n阶导数的函数公式求和的一个展开式,具体公式如下:
其中a可以是任意实数。
偏导数
偏导数是指当一个函数拥有多个自变量,针对其中某一个自变量求导的函数就叫偏导数。
求导的过程也很简单,就是将其他自变量都当成常数,只针对这一个变量进行求导就好,例子如下:
梯度
梯度是一个函数的所有自变量的偏导数的向量集合。假设一个函数为:
那么该函数的梯度如下:
梯度的计算在机器学习的求解过程中非常重要,目前机器学习绝大部分求解过程都是将所有参数的损失函数沿着梯度逐步下降到一个近似的最优解。
梯度有如下的一些计算规则,假设是一个自变量的向量集合,是一个矩阵,那么如下一些特殊函数的梯度计算公式如下:
海森矩阵
海森矩阵是一个函数的二阶偏导数集合的矩阵,首先,假设一个函数定义如下:
那么该函数的海森矩阵定义如下:
概率
条件概率
假设 A
和 B
是两个概率事件, P(A)
和 P(B)
分别表示两件事件发生的概率, P(A,B)
代表A和B同时发生的概率, P(A|B)
代表给定 B
成立的情况下,发生事件 A
的概率,那么条件概率有如下的公式:
从这个公式可以推导出来:
当 A
和 B
是两个独立事件的时候,意味着:
期望
假设有一组离散的事件 ,其中每个事件对应发生的概率为,那么该组离散事件的期望为:
均匀分布
如果我们说一个随机变量 x
在区间 [a, b]
上服从均匀分布的话,也就是说 x
取出 [a,b]
任意一个数的概率是相等的。