每天五分钟,解决一个深度学习问题:
让我们开始本系列的第一个小节: 标量,向量,矩阵,张量。
在整个机器学习中,你需要把数据交给计算机来处理,这就要求你把数据数学化,这样才能运算。这就要求你理解什么是张量。诶?你的标题不是标量,向量,矩阵,张量吗?为啥你只要重点标出张量呢?ok,那你就带着这样的疑问开始阅读吧!
深度学习中的数
在深度学习中的数,可以分为以下几类:
标量:2
向量:
矩阵:
我们为了更好的记忆,可以把他们做一下物理意义的比较
标量就是直线上的点。
向量就是平面上的一条线。
矩阵就是空间中的一个平面基(不知道什么是基,你就把他理解成是坐标系的x轴,y轴就可以了)。
在更高维度的空间中矩阵可以堆叠成一个体。
这样是不是比较有感觉,在深度学习中,把他们统称为tensor,张量!张量!张量!张量!
标量就是1维度张量,向量是2维张量,平面是3维张量,以此类推可以到更高的维度。
你可以把矩阵想成是向量的堆叠。例如你把向量 , 拼到一起就是矩阵。
矩阵由行和列组成,像刚才的矩阵,行为2,列为2,他的形状就记为2X2。
记住,要使用tensor,先要搞清楚形状,这是最重要的。
python代码实现
好了,你现在已经知道什么张量了。
接下来,我们用python的numpy模块,把标量,向量,矩阵,还有张量表示出来。见下面的代码:
环境准备可以看视频
#导入模块
import numpy as np
#标量,这个没啥要解释的。
a = 1
a
输出:
1
#向量
v1 = np.array([1,3])
print("v1:",v1)
#注意观察向量的形状
print("v1 shape:", v1.shape)
输出:
v1: [1 3]
v1 shape: (2,)
#矩阵,看起来就是python中的list套list
m1 = np.array([[1,0],[0,1]])
print("m1:", m1)
print("m1 shape:", m1.shape)
输出:
m1: [[1 0]
[0 1]]
m1 shape: (2, 2)
目录:
人工智能必知必会-前言
人工智能必知必会-标量,向量,矩阵,张量
人工智能必知必会-向量的加减与缩放
人工智能必知必会-向量的内积
人工智能必知必会-向量之间的距离
人工智能必知必会-初识矩阵
人工智能必知必会-矩阵与向量
人工智能必知必会-矩阵的加减法
人工智能必知必会-矩阵乘法
人工智能必知必会-矩阵与方程组
人工智能必知必会-再看矩阵与向量
人工智能必知必会-矩阵与向量乘法的物理意义
人工智能必知必会-词向量(案例)
人工智能必知必会-矩阵相乘上
人工智能必知必会-矩阵相乘下