我不理解在任何一种ML代码中都需要使用steps
和num_epochs
的需求。
某些程序同时包含两个变量。
有人可以帮我吗?
答案 0 :(得分:1)
据我所了解和理解,
在机器学习(ML)模型的训练阶段,您的目标通常是最小化成本函数。在监督学习中,您将数据输入模型,并将输出结果与标签进行比较。然后,您朝着成本函数的最小值迈出了“一步”。也就是说,您可以计算某种形式的渐变并相应地调整模型的权重。
现在,可以用不同的方式完成此过程。例如,当涉及到梯度下降时,您可以执行“批量梯度下降”,“随机梯度下降”或“小批量梯度下降”。进行批次梯度下降时,您将提供所有示例,计算梯度,然后采取步骤,重复此过程step
次。但是,在随机梯度下降中,您将仅提供一个示例,计算梯度,采取步骤,重复该过程step
次,然后再次开始“ n_epochs”次(在每个时期之前对数据进行混排)。>
因此,step
是指您执行的步骤数,而n_epoch
是指您浏览数据的次数。某些算法会多次遍历数据(或部分数据),这就是为什么您需要两个变量:step
和n_epochs
的原因。
答案 1 :(得分:1)
比方说,您得到的数据大小为1000,num_epoch为10,步长为200。在每个时期,程序将处理每个步骤。 因此,第1个-> 200..400..600..800..1000,第2个-> 200..400..600..800..1000,依此类推。