很多同学一看到机器学习的数学内容就头皮发麻,甚至因此产生了弃坑的想法,在这里我要告诉大家,每一个学过高数的人,都有足够的数学基础去研究机器学习,有些知识点可能忘了,但看到了就能很快想起来,想入门机器学习真的不难!
这个系列的目的,是帮大家把机器学习所需要的数学基础(线性代数部分)回忆 起来。为了合理控制篇幅,我打算分成 2~3 次来写。
为了直观地展示机器学习所需的线性代数的知识结构,我画了一张思维导图:
相信其中的很多内容你都觉得眼熟,可以直接跳过觉得没有问题的部分。
P.S.这三个概念,不同的学科有不同的理解方式,在这里的概念是依据计算机科学的思维给出的。
向量 (vector): 一列有序排列的数。
矩阵 (matrix): 二维的数组。
张量 (tensor): 多维的数组。
把向量分别乘以标量系数并相加的操作称为 线性组合。
一组向量,如果任意一个向量都不能表示为其它向量的线性组合,就可以被称为是 线性无关 的,反之,则称为 线性相关。
如果把向量看成是多维空间中的一个点,一组向量通过线性组合所能构成的点的集合,称为这组向量的 生成子空间。
矩阵可以看作是向量的组合。通常我们会研究线性相关对
A x = b Ax=b Ax=b
这个方程的解的影响,其中 A A A 是一个矩阵, x x x 和 b b b 是向量。
在知乎上看了一些关于 “如何理解范数” 的回答,感觉并没有 get 到我想要的东西。还是花书讲的好,总结一下就是一句话:
范数是用来衡量向量或矩阵的大小的!
范数是用来衡量向量或矩阵的大小的!
范数是用来衡量向量或矩阵的大小的!
因为向量的大小可以有不同的定义方式,所以存在不同的范数。
或者说,范数是将向量映射到非负值的满足下列性质的任意函数:
我们经常使用的范数有 L p L^p Lp 范数 、最大范数 、Frobenius 范数等。
向量 x x x 的 L p L^p Lp 范数定义为
∣ ∣ x ∣ ∣ p = ( ∑ i ∣ x i ∣ p ) 1 p ||x||_p=(\sum_i|x_i|^p)^\frac{1}{p} ∣∣x∣∣p=(i∑∣xi∣p)p1
其中 p ∈ R p\in R p∈R 且 p ≥ 1 p\geq 1 p≥1 。
当 p = 2 p=2 p=2 时,上式的形式跟我们定义 向量的模 的公式一毛一样,这个 L 2 L^2 L2 范数,也被称为是 欧几里得范数 。
L 2 L^2 L2 范数在机器学习中的应用非常广泛。很多时候,我们也会用直接用其平方来衡量向量的大小,因为计算会更加方便。
L 1 L^1 L1 范数常用于需要严格区分向量中零和非零但是很小的元素的情景,因为平方 L 2 L^2 L2 范数在零附近增长很慢。
最大范数即向量中最大的元素的绝对值,记作 ∣ ∣ x ∣ ∣ ∞ ||x||_\infty ∣∣x∣∣∞。
Frobenius 范数通常用来衡量矩阵的大小,类似于向量的 L 2 L^2 L2 范数,其形式为
∣ ∣ A ∣ ∣ F = ∑ i , j A i , j 2 ||A||_F=\sqrt{\sum_{i,j}A_{i,j}^2} ∣∣A∣∣F=i,j∑Ai,j2
P.S. 大家在实际中可能会遇见各种各样的范数,或者自己也可以根据需要去定义一个。
主要有对角、单位、对称、奇异、正交、正定这几种。
只在主对角线上有非零元素的矩阵。
要注意并不是所有对角矩阵都是方阵,长方形的矩阵也可以是对角矩阵。
主对角线上全是 1 的对角矩阵,且为方阵。
元素以主对角线为对称轴对应相等的矩阵。也就是转置等于自身的矩阵。
列向量线性相关的方阵。
需要注意的是,非方阵谈不上奇异非奇异,这里说列向量线性相关,其实等价于行向量线性相关。
同时,奇异矩阵不可逆,可逆矩阵一定是非奇异矩阵。
如果 x T y = 0 x^Ty=0 xTy=0,则称向量 x x x 和向量 y y y 正交。如果这些向量不但相互正交,而且其 L 2 L^2 L2 范数都为 1,则称它们为 标准正交。
正交矩阵,是指行向量和列向量分别 标准正交的方阵。
分别标准正交,即所有行向量之间相互标准正交,所有列向量之间也相互正交。由于 n 维空间中至多有 n 个向量两两正交,所以正交矩阵必定是方阵。
对正交矩阵,有 A T A = A A T = I A^TA=AA^T=I ATA=AAT=I,于是 A − 1 = A T A^{-1}=A^T A−1=AT,即
正交矩阵的逆等于它的转置。
如果方阵 A A A 与一个向量 v v v 相乘,结果是一个与 v v v 共线的向量,相当于对 v v v 进行了缩放,即
A v = λ v Av=\lambda v Av=λv
则称 v v v 为 A A A 的 特征向量,标量 λ \lambda λ 为 v v v 这个特征向量对应的 特征值。
特征值 均为正数的方阵称为 正定矩阵。
特征值均为 非负数 的矩阵成为 半正定,均为 负数 的称为 负定,均为 非正数 的称为 半负定。
在下篇文章中,我们将一起复习线性代数的常见运算。感谢阅读!