线性代数
标量
严格来说,称仅包含一个数值的叫标量(scalar)
标量由只有一个元素的张量表示。
在下面的代码中,我们实例化两个标量,并执行一些算术运算
import torch
x = torch.tensor(3.0)
y = torch.tensor(2.0)
x + y, x * y, x / y, x**y
(tensor(5.), tensor(6.), tensor(1.5000), tensor(9.))
向量
可以将向量视为标量值组成的列表。
将这些标量值称为向量的元素(element)或分量(component)。
当向量表示数据集中的样本时,它们的值具有一定的现实意义。
- 例如,如果我们正在训练一个模型来预测贷款违约风险,我们可能会将每个申请人与一个向量相关联, 其分量与其收入、工作年限、过往违约次数和其他因素相对应。 如果我们正在研究医院患者可能面临的心脏病发作风险,我们可能会用一个向量来表示每个患者, 其分量为最近的生命体征、胆固醇水平、每天运动时间等。
我们通过一维张量处理向量。一般来说,张量可以具有任意长度,取决于机器的内存限制。
x = torch.arange(4)
x
tensor([0, 1, 2, 3])
我们可以使用下标来引用向量的任一元素。
例如,我们可以通过𝑥𝑖来引用第𝑖个元素。 注意,元素𝑥𝑖是一个标量,所以我们在引用它时不会加粗。
大量文献认为列向量是向量的默认方向。在数学中,向量𝐱可以写为:
`
其中𝑥1,…,𝑥𝑛是向量的元素。
x[3] #在代码中,通过张量的索引来访问任一元素
tensor(3)
长度、维度、 形状
向量只是一个数字数组,就像每个数组都有一个长度一样,每个向量也是如此。
在数学表示法中,如果说一个向量𝐱由𝑛个实值标量组成, 可以将