向量、矩阵、数组、向量空间

在学习机器学习的过程中,会经常遇到向量、矩阵和数组这些概念,并涉及到多维度,造成许多困惑,因此进行一个总结,主要参考了:https://blog.csdn.net/qq_33419476/article/details/105546442。


向量

概念:n个有次序的数 a 1 , a 2 , ⋯   , a n a_1,a_2,\cdots,a_n a1,a2,,an所组成的数组称为n维向量,这n个数称为该向量的n个分量,第i个数 a i a_i ai称为第i个分量。(同济大学线性代数第五版-4.1)

n维向量可写成一行,也可写成一列,分别称为行向量列向量,也就是行矩阵和列矩阵,并规定行向量和列向量都按矩阵的运算规则进行运算

n维行向量: a = ( a 1 , a 2 , ⋯   , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,,an)

n维列向量:
a ⊤ = ( a 1 a 2 ⋮ a n ) \mathbf{a}^\top= \begin{equation} \left( %左括号 \begin{array}{} a_1\\ a_2\\ \vdots\\ a_n \end{array} \right) %右括号 \nonumber \end{equation} a= a1a2an
Note: 这个解释其实是说在线性代数中,向量和矩阵其实是一回事。不同的是矩阵论阶,向量论维。


矩阵

矩阵定义:由m×n 个数 a i j a_{ij} aij(i= 1,2,…,m;j= 1,2,…,n)排成的m 行n 列的数表。(同济大学线性代数第六版)
a 11 ⋯ a 1 n ⋮ ⋱ ⋮ a m 1 ⋯ a m n \begin{array}{c} a_{11} & \cdots &a_{1n} \\ \vdots & \ddots &\vdots \\ a_{m1} & \cdots &a_{mn} \end{array} a11am1a1namn
称为m 行n 列矩阵,简称m×n 矩。

矩阵的列向量组和行向量组都是只含有限个向量的向量组;反之,一个含有限个向量的向量组总可以构成一个矩阵。因此可知向量可以组成矩阵,矩阵是包含向量的。

二维矩阵:

二维矩阵的维度类似于空间向量的维数,而不是一个包含两个元素的列矩阵。所以,我们通常会说矩阵的维度是指矩阵的行数。


数组

概念:所谓数组,是有序的元素序列。

这里的概念就没有涉及到空间了,我们通常称的n维数组,这里的维度指的不是空间的维度,而是数据所构成的维度。

例如:

一维数组
[1, 2, 3, 4]

二维数组
[[1, 2],[3, 4]]

三维数组
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]

数组常用在python等编程语言中实现向量、矩阵等数据结构。


向量空间

几何中,“空间”通常是作为点的集合,即构成“空间”的元素是点,这样的空间叫做点空间。

我们把3 维向量的全体所组成的集合叫做3维向量空间。类似的,n维向量的全体所组成的集合叫做n维向量空间

Note: 这里n维向量空间的概念应该可以理解成n x n矩阵。

在同济大学线性代数第六版中,矩阵的列向量组和行向量组都是只含有限个向量的向量组;反之,一个含有限个向量的向量组总可以构成一个矩阵。例如,一个mxn矩阵的全体列向量是一个含n个m维列向量的向量组。

你可能感兴趣的:(ML&DL笔记,矩阵,机器学习,线性代数)