PyTorch 神经网络的数学构建块


数学在任何机器学习算法中都至关重要,它包含数学的各种核心概念,以便以特定方式设计正确的算法。

数学主题对于机器学习和数据科学的重要性如下:

machine learning

现在,让我们关注机器学习的主要数学概念,这从自然语言处理的角度来看很重要:

Vectors


向量被认为是连续或离散的数字数组,由向量组成的空间称为向量空间。向量的空间维度可以是有限的或无限的,但已经观察到机器学习和数据科学问题处理固定长度的向量。

矢量表示显示如下:

temp = torch.FloatTensor([23,24,24.5,26,27.2,23.0])
temp.size()
输出 - torch.Size([6])

在机器学习中,我们处理多维数据。因此向量变得非常重要,并被视为任何预测问题陈述的输入特征。

Scalars


标量被称为具有仅包含一个值的零维。对于 PyTorch,它不包含零维的特殊张量;因此声明如下:

x = torch.rand(10)
x.size()
输出 - torch.Size([10])

Matrices


大多数结构化数据通常以表格或特定矩阵的形式表示。我们将使用名为波士顿房价的数据集,该数据集可在 Python scikit-learn 机器学习库中轻松获得。

boston_tensor = torch.from_numpy(boston.data)
boston_tensor.size()
输出: torch.Size([506, 13])
boston_tensor[:2]
输出:
Columns 0 to 7
0.0063 18.0000 2.3100 0.0000 0.5380 6.5750 65.2000 4.0900
0.0273 0.0000 7.0700 0.0000 0.4690 6.4210 78.9000 4.9671
Columns 8 to 12
1.0000 296.0000 15.3000 396.9000 4.9800
2.0000 242.0000 17.8000 396.9000 9.1400