Press "Enter" to skip to content

机器学习中的随机数

关于伪随机数、种子和可复现性的一切

由Riho Kroll在Unsplash上的照片

机器学习依赖于统计学,随机数对于数据处理和模型训练流程中的许多步骤的性能至关重要。现代机器学习框架提供了在幕后实现随机性的抽象和函数,对于我们作为数据科学家和机器学习工程师来说,随机数生成的细节通常是模糊的。

在本文中,我想对机器学习中的随机数进行一些解释。您将了解以下内容:

  • 机器学习中使用随机数的3个例子
  • 生成(伪)随机数
  • 通过种子固定随机数
  • 可复现的机器学习:确保scikit-learn、tensorflow和pytorch的必要代码行。

通过阅读本文,您将了解在机器学习流程中使用随机数时会发生什么,并学习确保机器学习算法可复现性所需的必要代码行。

机器学习中随机数使用的三个示例

为了说明随机数的重要性,我们讨论了它们在机器学习流程中的三个相关示例。

  1. 创建数据集的训练/测试集分割
  2. 神经网络的权重初始化
  3. 训练过程中选择小批量样本

训练/测试集分割将数据集划分为训练和测试数据是评估机器学习算法性能最重要的步骤之一。我们希望创建能够对训练期间未使用的数据进行很好泛化的模型。为此,将一组数据样本划分为至少两个不相交的集合。

训练数据用于训练算法,即迭代地固定模型参数。测试数据用于通过将经过训练的模型应用于测试数据并报告适当的度量指标来验证算法。

Leave a Reply

Your email address will not be published. Required fields are marked *