我不明白在任何类型的 ML 代码中使用steps
和的需要。num_epochs
有些程序同时包含这两个变量。
谁能帮我吗?
我不明白在任何类型的 ML 代码中使用steps
和的需要。num_epochs
有些程序同时包含这两个变量。
谁能帮我吗?
据我所知和理解,
在机器学习 (ML) 模型的训练阶段,您的目标通常是最小化成本函数。在监督学习中,您将数据输入模型并将输出与标签进行比较。然后,您朝着成本函数的最小值迈出“一步”。也就是说,您计算某种形式的梯度并相应地调整模型的权重。
现在,这个过程可以以不同的方式完成。例如,当涉及到梯度下降时,您可以进行批量梯度下降、随机梯度下降或小批量梯度下降。在进行批量梯度下降时,您将输入所有示例,计算梯度,然后迈出一步,重复此过程step
多次。但是,在随机梯度下降中,您只会提供一个示例,计算梯度,采取一步,重复处理step
时间,然后再次开始 'n_epochs' 次(在每个 epoch 之前打乱数据)。
所以step
指的是您采取的步骤数,n_epoch
指的是您查看数据的次数。一些算法会多次检查数据(或部分数据),这就是为什么您需要两个变量:step
和n_epochs
.
假设你有一个大小为 1000 的数据,num_epoch 为 10,步长为 200。在每个 epoch,程序将处理每个步骤。因此,每个时期的时期 1 -> 200..400..600..800..1000,时期 2 -> 200..400..600..800..1000 等等。