深度学习基础:标量、向量、矩阵、张量
标量(scalar)
标量是一个独立存在的数,比如线性代数中的一个实数5就可以被看作一个标量,所以标量的运算相对简单,与平常做的算数运算类似。
向量(vector)
向量指一列顺序排列的元素,我们通常习惯用括号将这些元素扩起来,其中每个元素都又一个索引值来唯一的确定其中在向量中的位置。
矩阵(matrix)
矩阵是二维数组,其中的每一个元素被两个索引而非一个所确定,我们通常会赋值矩阵粗体大写变量名称,比如一个实数矩阵Height=m,Weight=n,如图所示
矩阵在机器学习中用到的很多,比如我们有N个用户,每个用户有M个特征,那这个数据集就可以用一个NM的矩阵表示,还有在卷积神经网路中我们输入模型的最初的数据是一个图片,我们读取图片上的像素点(Pixel)作为输入,一张256256的一张图片,实质上就可以用256*256的矩阵表示。
张量(tensor)
在几何代数中,张量是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量是为0阶张量,矢量视为一阶张量,矩阵视为二阶张量,例如一张彩色图片,可以表示成一个三阶张量,因为彩色图片的每个像素点可以看成一个(RGB)3*1的矩阵[12,242,43](也可以看作二维张量),然后我们把这些像素点拼接成一个面,就变成了三维张量,如图所示: