矩阵——如何理解矩阵
!请尊重作者的辛苦,转载请注明出处!
初学矩阵与线性代数,我们都会感觉有硬生生的定义一个矩阵和行列式的运算接着便是一堆的特征向量之类的数学证明与技巧,一时间头昏脑涨,感觉数学就是自己强行造出和定义一些莫名其妙的跪着然后我们稀里糊涂的在规则被要求证明和计算,完全丧失了数学的意义和兴趣。故写此文,让大家更好理解矩阵与线性代数
其实数学的发展是抽象于生活并且应用于生活,有很多地方是和其他学科交叉联系的,或者说是为了解决某些其他学科的问题,比如物理上的偏微分方程,统计学与统计物理,量子力学里的数学。从以前直观的数学代数方程、函数、微积分我们都有直观的形象的认识和理解,对于矩阵和线性代数其实也是如此。矩阵思想可以看做是数学的 第二代思维模型,更多的在现在大规模数据处理,计算机学科迅速发展迫切的需要而诞生催生出来的数学学科。他在计算机批量处理、迭代、大规模求解、机器学习等方面应用突出。
----
矩阵定义和意义
矩阵怎么定义
【静态定义】:可以认为矩阵就是数据的矩形阵列的表示
初学矩阵是从表格开始,一个描述量数学化我们可以用标量也就是实数来表示,比如速度 v 质量m 方程的解x;多元的量我们可以用向量表示,比如
X
⃗
\vec{\bm{X}}
X,其每一分量都表示一个属性,或者直接就是数学空间的矢量,每一分量表示对应坐标;但是一个实体或者说class需要诸多属性表征其特点,显然只能用多组数字表示,比如工作中常用的表格
身高 | 体重 | 语文 | 数学 |
---|---|---|---|
160 | 165 | 80 | 90 |
165 | 176 | 89 | 74 |
显然这就可以用矩阵表示一个班级学生的信息,只用一个数比如班号是表示不了这种丰富数据的,因此也可以理解矩阵就是一个规整的表格记录。还有图像处理里图像就是一个像素矩阵,矩阵的元素都代表相同的属性;初学我是在向量基础上理解矩阵就是多个向量组,比如统计学里表述数据
D
=
[
X
1
;
X
2
;
.
.
.
X
n
]
D=[{\bm{X_1;X_2;...X_n}}]
D=[X1;X2;...Xn]每一行向量都表示一组代表同种属性(一般是分布抽样)的数据信息;在线性方程里矩阵是一个方程系数的规整集合表示比如
y
=
A
x
y=Ax
y=Ax 的A,同样的在解析几何里他就是几何体或者几何元素(向量)的表示等等,所以以上的初学的观点:
矩阵就是数的一块一堆的表示和记录
好了现在,你可以大胆想象,既然如此,我们是不是可以把矩阵每个元素都定义成向量甚至矩阵的元素还是矩阵?>_<当然可以这就是【张量】 只是我接触的不多,这种定义也很容易让你通俗理解之后会专门写的【矩阵导数】一文。矩阵导数就是矩阵每一个元素与自变量的每一个元素的变化关系组成的矩阵(或者说张量)。这种理解尤其是在C语言里数组指针的编程里非常容易理解,也可以类比数组****为何程序里数组应用如此广泛和强大。
前面是矩阵静态的定义,是初学者的理解,有了更多学习尤其是矩阵运算和应用体会后我们还有矩阵动态定义:
【动态定义】:矩阵就是一种空间的线性变换(运动)或者说一种空间映射(函数) 这相当于函数里
y
=
k
x
+
b
y=kx+b
y=kx+b 矩阵就是
Y
=
A
x
⃗
+
B
Y=A\vec{x}+B
Y=Ax+B你看k即表示一个静态的实数也表示一种函数变换(一次函数),同样的A既表示静态的数据记录矩阵,也表示一种线性的空间变换,他记录着变换的特征。详细可在下面点击跳转讨论
这样定义的意义
这种表示显然特别适合同质大规模的数据,也可以理解为这就是程序员里最好的数学,这样表示既能多维度的表征数据信息又能将复杂的实体抽象成一组数来方便数学化处理,这在大规模的批量处理数据,迭代等方面非常方便,尤其是对于计算机程序来讲这种方式特别适合处理。尤其是今天深度学习 图像处理 统计处理方面大热的情况下更显身手。你看编程实践里数组 指针应用多么广泛和基础。所以定义就是怎么方便怎么来,所谓大道至简。数学很大程度上也是适应其他学科发展在交叉影响上发展壮大起来,数学不是那么艰涩远离大众的他是通过复杂严密的形式简化问题贴近生活方便大众的。这是一种数学的思维模式,他是对数学本身进行建模,方便解决问题的。
所以,你可以理解那为什么不把矩阵定义为‘圆阵’、‘曲阵’(也就是圆形的方式表示数据),因为这样定义数学上不方便也不好处理啊。这不符合我们刚说的怎么方便怎么来的原则-_-
矩阵涵义
接下来我们再看矩阵定义。经历一阶段的学习和实践,我们会对这一学科进行不断的更深层次的思考认识。比如在下文会讲到的【矩阵乘法】我们会更体会到矩阵不仅仅是单纯数的记录和表示,矩阵代表着某种空间的线性变换 他表示把一个几何元素(如向量,点,矩形等)映射到另外一个特征空间。在物理上,矩阵代表着某种运动,它代表着一个一个点到另外一个点的运动。【空间是什么?】直观点从生活中的三维空间我们知道空间应当具备相对关系、位置关系、运动、形态也就是几何的描述这几个特征。所以**矩阵就是一种变换(运动)**利用一定的“核技巧”这种变换是可以表征非线性的变换的,这将在后续博文里进行更深入的思考和探讨,比如
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
]
×
[
x
1
x
2
2
x
3
3
]
<
=
=
>
A
×
[
y
1
y
2
y
3
]
\begin{bmatrix} a_{11} &a_{12}&a_{13}\\ a_{21} &a_{22}&a_{23}\\a_{31}&a_{32}&a_{33} \end{bmatrix}\quad\times\begin{bmatrix} x_1\\ x_2^2 \\ x_3^3 \end{bmatrix}\quad <==>A\times\begin{bmatrix} y_1\\ y_2\\ y_3 \end{bmatrix}\quad
⎣⎡a11a21a31a12a22a32a13a23a33⎦⎤×⎣⎡x1x22x33⎦⎤<==>A×⎣⎡y1y2y3⎦⎤
矩阵代表线性的函数算子
另外我们再来审视下我们初入矩阵领域。以前我们接触的均是形象的实数->代数->方程->函数->微积分(高等数学)结合笛卡尔坐标也认识实数->向量->解析几何 那么在函数思想上就有了从单变量函数–>多元函数,单值函数–>多值函数的认识,这很形象直观。在矩阵领域我们也可以类比,矩阵是某种变换就是函数观点上 对某组数X到另外某组数Y的线性映射-线性多对多的函数,X是一个数对应传统的单变量函数,是一个向量对应多元函数,是一个矩阵对应一组数一个空间。输出Y是一个数对应传统的函数,是向量或举证对应着多值函数或者另一个特征空间。他是一种线性的作用算子,这里我们是从矩阵的运动变换的含义出发理解的,相当于y=f(x)里的f。 这里类比一下:
函数域 | 连续实数 | f | f − 1 f^{-1} f−1 | 基函数 | 基函数系数 | 函数空间 | 解析方法 | 微分积分 |
---|---|---|---|---|---|---|---|---|
矩阵域 | 分立表示的多组数 | A | A − 1 A^{-1} A−1or 【伪逆】 | 特征向量 | 特征值 | 线性空间 | 数值分析 | 差分迭代 |
再重复一下: ** 这相当于函数里
y
=
k
x
+
b
y=kx+b
y=kx+b 矩阵就是
Y
=
A
x
⃗
+
B
Y=A\vec{x}+B
Y=Ax+B **
你看k即表示一个静态的实数也表示一种函数变换(一次函数),同样的A既表示静态的数据记录矩阵,也表示一种线性的空间变换,他记录着变换的特征。