赞
踩
每天五分钟,解决一个深度学习问题:
让我们开始本系列的第一个小节: 标量,向量,矩阵,张量。
在整个机器学习中,你需要把数据交给计算机来处理,这就要求你把数据数字化,这样才能运算。
这就要求你理解什么是张量?
诶?你的标题不是标量,向量,矩阵,张量吗?为啥你只要重点标出张量呢?ok,那你就带着这样的疑问开始阅读吧!
在深度学习中的数,可以分为以下几类:
标量:2
向量:
[
1
3
]
[13]
矩阵:
[
1
0
0
1
]
[1001]
我们为了更好的记忆,可以把他们做一下物理意义的比较
标量就是直线上的点。
向量就是平面上的一条线。
矩阵就是空间中的一个平面基(不知道什么是基,你就把他理解成是坐标系的x轴,y轴就可以了)。
在更高维度的空间中矩阵可以堆叠成一个体。 感觉就是这样:
这样是不是比较有感觉,在深度学习中,把他们统称为tensor,张量!张量!张量!张量!
标量就是1维度张量,向量是2维张量,平面是3维张量,以此类推可以到更高的维度。
你可以把矩阵想成是向量的堆叠。例如你把向量
[
1
2
]
[12]
矩阵由行和列组成,像刚才的矩阵,行为2,列为2,他的形状就记为2X2。
记住,要使用tensor,先要搞清楚形状,这是最重要的。
好了,你现在已经知道什么张量了。
接下来,我们用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)
#矩阵,看起来就是python中的list套list
t1 = np.array([[[1,0],[0,1]],[[1,0],[0,1]]])
print("t1:", t1)
print("t1 shape:", t1.shape)
输出:
t1: [[[1 0]
[0 1]]
[[1 0]
[0 1]]]
t1 shape: (2, 2, 2)
恭喜你掌握了人工智能入门的第一个知识点。
如果你感觉很有趣,请点赞,关注,转发!谢谢! |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。