-1

我不明白在任何类型的 ML 代码中使用steps和的需要。num_epochs

有些程序同时包含这两个变量。

谁能帮我吗?

4

2 回答 2

1

据我所知和理解,

在机器学习 (ML) 模型的训练阶段,您的目标通常是最小化成本函数。在监督学习中,您将数据输入模型并将输出与标签进行比较。然后,您朝着成本函数的最小值迈出“一步”。也就是说,您计算某种形式的梯度并相应地调整模型的权重。

现在,这个过程可以以不同的方式完成。例如,当涉及到梯度下降时,您可以进行批量梯度下降、随机梯度下降或小批量梯度下降。在进行批量梯度下降时,您将输入所有示例,计算梯度,然后迈出一步,重复此过程step多次。但是,在随机梯度下降中,您只会提供一个示例,计算梯度,采取一步,重复处理step时间,然后再次开始 'n_epochs' 次(在每个 epoch 之前打乱数据)。

所以step指的是您采取的步骤数,n_epoch指的是您查看数据的次数。一些算法会多次检查数据(或部分数据),这就是为什么您需要两个变量:stepn_epochs.

于 2018-08-01T20:45:16.380 回答
1

假设你有一个大小为 1000 的数据,num_epoch 为 10,步长为 200。在每个 epoch,程序将处理每个步骤。因此,每个时期的时期 1 -> 200..400..600..800..1000,时期 2 -> 200..400..600..800..1000 等等。

于 2018-08-02T06:16:05.953 回答