PyTorch 神经网络(Neural Networks)的数学构建模块

数学在任何机器学习算法中都是至关重要的,它包括数学的各种核心概念,以获取以特定方式设计的正确算法。本文主要介绍神经网络(Neural Networks)机器学习中数据科学的重要性及向量、标理和矩阵。

1、数学的重要性

在机器学习与深度学习中需要大量使用数学知识,也给很多初学带来困难的主要原因之一。下图可以看数学主题对机器学习和数据科学的重要性。


2、向量(Vector)

向量被认为是连续或离散的数字数组,由向量组成的空间称为向量空间。向量的空间维度可以是有限的或无限的,但机器学习和数据科学问题处理的是固定长度的向量。向量(Vector)是有大小和方向的量,其实就是一串数字,如(1,2)。

例如,

temp = torch.FloatTensor([23,24,24.5,26,27.2,23.0])
temp.size()

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

3、标量(Scalar)

标量被称为零维,仅包含一个值。说到 PyTorch,它不包含一个特殊的零维张量;标量(Scalar)是只有大小,没有方向的量,如1,2,3等。

例如,

x = torch.rand(10)
x.size()

4、矩阵(Matrice)

大多数结构化数据通常以表格或特定矩阵的形式表示。我们将使用一个名为 Boston House Prices 的数据集,该数据集可在 Python scikit-learn 机器学习库中轻松获得。矩阵(Matrix)是好几个向量拍成一排合并而成的一堆数字,如[1,2;3,4]。

boston_tensor = torch.from_numpy(boston.data)
boston_tensor.size()
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


推荐阅读
cjavapy编程之路首页