简介
机器学习算法里面充斥着线性代数的知识,但是之前的学习主要关注了如何解题,忽略了对概念的理解,因而看着算法依然困惑,于是想重新回顾一下线性代数,对照着《线性代数及其应用》一书把概念走一遍。首先就是线性方程组。
线性方程组
线性方程组是线性代数的核心,从线性方程组来进入线性代数的世界是最平滑的方法,从而引入线性代数的许多重要概念。下面就是一个线性方程组:
\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个实数数列的集合,通常写成下面的形式:
线性组合
给定$R^{n}$中的向量和一组标量,这种形式:b=$x_{1}a_{1}+…+x_{p}a_{p}$
向量b称为向量$a_{1}$,…,$a_{p}$以$x_{1}$,…,$x_{p}$为权的线性组合。和上面增广矩阵比较可以发现两者有相同的解集。
矩阵方程
其实就一句话说明:矩阵方程Ax = b 这个形式其实就是把向量方程中的向量变成一个矩阵,然后乘以未知数向量,就得到了矩阵方程。
这下就理清楚了着三个方程的关系了,这三个是有相同解集的,可以相互之间进行转化。
线性方程组的解集
这里给出一个名词:齐次线性方程组,就是可以写成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]