线性代数之线性方程组

简介

机器学习算法里面充斥着线性代数的知识,但是之前的学习主要关注了如何解题,忽略了对概念的理解,因而看着算法依然困惑,于是想重新回顾一下线性代数,对照着《线性代数及其应用》一书把概念走一遍。首先就是线性方程组。

线性方程组

线性方程组是线性代数的核心,从线性方程组来进入线性代数的世界是最平滑的方法,从而引入线性代数的许多重要概念。下面就是一个线性方程组:

\begin{matrix}
a_{11}x_{1}+a_{12}x_{2}+ a_{13}x_{3}=b_{1} \\
a_{21}x_{1}+a_{22}x_{2}+ a_{23}x_{3}=b_{2} \\
a_{31}x_{1}+a_{32}x_{2}+ a_{33}x_{3}=b_{3}
\end{matrix}

观察这个线性方程组可以发现,每一个线性方程中都有$x_{1}$、$x_{2}$、$x_{3}$,从信息的角度来看,线性方程组的主要信息其实就是系数和方程组右边的常数,这个时候就可以用矩阵来表达线性方程组的主要信息:

系数矩阵:

\begin{bmatrix}
a_{11} &a_{12} &a_{13} \\
a_{21} &a_{22} &a_{23} \\
a_{31} &a_{32} &a_{33}
\end{bmatrix}

增广矩阵(即加上常数项):

\begin{bmatrix}
a_{11} &a_{12} &a_{13} &b_{1} \\
a_{21} &a_{22} &a_{23} &b_{2} \\
a_{31} &a_{32} &a_{33} &b_{3}
\end{bmatrix}

而这样也就把求解线性方程组的问题转化为求解矩阵,具体的算法是行化简算法,本文主要是想理清概念,具体算法就不详细说了,学过线性代数的应该都知道。

向量方程

这是要说的第二个概念。向量和标量的概念对应,简单的说就是有方向的量,表示一组数。严格的数学定义与向量空间有关,之后的文章会详细介绍。

$R^{n}$中的向量

设n是正整数,$R^{n}$表示所有n个实数数列的集合,通常写成下面的形式:

id

线性组合

给定$R^{n}$中的向量和一组标量,这种形式:b=$x_{1}a_{1}+…+x_{p}a_{p}$

id

向量b称为向量$a_{1}$,…,$a_{p}$以$x_{1}$,…,$x_{p}$为权的线性组合。和上面增广矩阵比较可以发现两者有相同的解集。

矩阵方程

其实就一句话说明:矩阵方程Ax = b 这个形式其实就是把向量方程中的向量变成一个矩阵,然后乘以未知数向量,就得到了矩阵方程。

id

这下就理清楚了着三个方程的关系了,这三个是有相同解集的,可以相互之间进行转化

线性方程组的解集

这里给出一个名词:齐次线性方程组,就是可以写成Ax = 0形式的方程组。这种形式的方程组至少有个0向量解(每个未知数为0组成的向量),这个解称做它的平凡解。而如果说它有非平凡解的话,当且仅当方程至少有一个自由变量。根据上面理清的关系,可以换个角度来看,把它们写成向量方程,这个时候如果说仅有平凡解的话就称那组向量线性无关,否则就是线性相关(如果一个向量组的向量个数超过每个向量元素的个数,那么这个向量组一定是线性相关的)。

线性变换

Ax=b这是矩阵方程,对这个矩阵方程之前说他与向量方程仅仅是表示不同,这里换一种理解方法:

b是Ax产生的向量,可以这样理解x向量乘以A矩阵,得到了b。说的抽象一点:x($R^{3}$)到b($R^{3}$)的一个变换A(T)是一个规则,通过了A实现了线性变换。

这里还有名词矩阵变换,我觉得可以这样理解,向量就可以看作矩阵的列,所以线性变换也就是矩阵变换。术语线性变换强调映射的性质,而矩阵变换描述这样的映射如何实现(即先拆分成列,再做乘法)。

参考文献

[1][线性代数及其应用]
[2][https://zh.wikipedia.org/wiki/%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84]
[3][https://zh.wikipedia.org/wiki/%E5%90%91%E9%87%8F]