本文为原创文章,欢迎转载,但请务必注明出处。
线性代数是机器学习和深度学习算法的数学基础之一,这个系列的文章主要描述在AI算法中可能涉及的线性代数相关的基本概念和运算。本文主要参考Garrett Thomas(2018),Marc Peter Deisenroth(2018),Strang(2003),José Miguel Figueroa-O’Farrill, Isaiah Lankham(UCD, MAT67,2012)等教授的相关讲座和教材。本文的主要内容包括向量的基本概念,向量空间,线性组合、线性无关、线性相关、基以及线性映射。
1、向量的基本概念
线性代数的研究对象是向量(vector),在数学上通常称之为“几何向量(geometric vector)”,使用 x→ x → 或 y→ y → 等来表示(如图一所示),这个时候,向量就可以表示为空间的一个点。而在计算机领域,向量通常使用黑体小写字母表示,如 x x 或 y y 。
通常,满足以下两个运算条件的对象都可以看成是向量:
- 对象之间可以进行相加运算;
- 对象可以乘以一个标量得到同样类型的另一个对象。
比如向量 x x 和 y y 可以相加: x+y=z x + y = z , 那么 z z 也是向量; 另外,向量 x x 乘以标量 λ∈ℝ λ ∈ R 得到 λx λ x 也是向量。从这个角度来说,多项式(polynomials)也是向量(两个多项式相加仍是多项式,一个多项式乘以一个标量同样还是多项式)。 还有,任何数字信号也是向量。
图二表示了向量相加及向量与标量相乘,其中(a)表示两个向量相加,其结果向量的长度是是两个向量组成的平行四边形的对角线的长度,方向与两个向量的方向相同;(b)是向量与标量相乘,其结果向量与原向量在同一个直线上,方向由标量的符号决定(正为同方向,负为反方向),结果向量的长度由标量的绝对值决定,如果标量的绝对值在0和1之间,那么向量的长度被同比例压缩;如果标量的绝对值的绝对值大于或等于1,那么向量的长度被同比拉升;(c)是表示了一个三维空间的向量。三维空间里,两个向量(如果不在一个直线上)可以确定一个平面,3个向量(如果不在同一个直线或同一个平面上)可以确定一个立体柱体。
需要说明的是向量和计算机语言中的数组是不同概念。数组是计算机编程语言的一种数据结构,不具有向量的运算特性,比如python中
list
和 numpy 中的
array
是有本质区别的,虽然他们都有类似的编程访问特性(比如都可以根据下标随机访问任何一个元素,可以切片访问一个子序列等),但是只有
array
实现了向量的运算(比如向量的内积运算等)。
2、向量空间
向量空间(vector space,又称为线性空间)是线性代数的基本概念之一。本文开始提到了成为向量所需要的两种运算条件(或两个特性),而向量空间的定义就是基于这两个特性。向量空间定义:一个向量空间 V V 是向量的集合,在这个集合上定义了向量的两种运算:
- 向量之间可以相加,即
, 其中 x,y∈V x , y ∈ V ;
- 向量可以乘以一个称为标量(scalar)的实数,即 αx∈V α x ∈ V , 其中 x∈V,α∈ℝ x ∈ V , α ∈ R 。
以上两个条件又构成了向量空间的“闭包”(closure)特性。也就是说,向量空间中的向量进行以上两种运算后,其结果仍然在该向量空间中。
向量空间 V V 必须满足:
- 存在加法单位元,记作 (即零向量),使得 x+0=x x + 0 = x , 这里 x∈V x ∈ V ;
- 对于任意 x∈V x ∈ V , 存在加法逆元(又称为相反数),记作 −x − x ,使得 x+(−x)=0 x + ( − x ) = 0 ;
- 在实数集 ℝ R 中存在乘法单位元,记为 1,使得 1x=x 1 x = x ,这里 x∈V x ∈ V ;
- 交换律(commutativity): x+y=y+x x + y = y + x ;
- 结合律(associativity): (x+y)+z=x+(y+z) ( x + y ) + z = x + ( y + z ) , α(βx)=(αβ)x α ( β x ) = ( α β ) x , 这里 x,y,z∈V,α,β∈ℝ x , y , z ∈ V , α , β ∈ R ;
- 分配律(distributivity): α(x+y)=αx+αy α ( x + y ) = α x + α y 和 (α+β)x=αx+βx ( α + β ) x = α x + β x , 这里 x,y∈V,α,β∈ℝ x , y ∈ V , α , β ∈ R 。
3、线性组合、线性无关、向量张成与向量空间的基
3.1、线性组合
线性组合(linear combination)定义:对于向量空间 V V 中的一组非零向量集 ,且一组标量(即实数) α1,α2,...,αn α 1 , α 2 , . . . , α n ,则等式
∑i=1nαivi=α1v1+α2v2+...+αnvn ∑ i = 1 n α i v i = α 1 v 1 + α 2 v 2 + . . . + α n v n
称为向量空间 V V 中向量集 的线性组合。3.2、线性无关与线性有关
线性无关(linearly independent)定义:对于向量空间 V V 中的一组非零向量集 ,当且仅当 α1=α2=...=αn=0 α 1 = α 2 = . . . = α n = 0 时,等式
α1v1+α2v2+...+αnvn=0 α 1 v 1 + α 2 v 2 + . . . + α n v n = 0
成立,那么称非零向量集 v1,v2,...,vn v 1 , v 2 , . . . , v n 是线性无关的。如果存在一个 αi≠0 α i ≠ 0 使得上式成立,那么称非零向量集 v1,v2,...,vn v 1 , v 2 , . . . , v n 是线性相关的 (linearly dependent)。 这说明在这 n n 个向量中,其中至少有一个向量是剩下的 个向量的线性组合。比如,假设 α1≠0 α 1 ≠ 0 , 那么根据上式,有
v1+α2α1v2+...+αnα1vn=0 v 1 + α 2 α 1 v 2 + . . . + α n α 1 v n = 0
那么,有
v1=−α2α1v2−...−αnα1v