014-机器学习背后的思维-针对入门小白的概念算法及工具的朴素思考

7模型训练
7.1 次数的定义

在训练的过程中, 我们会遇到两个关于次数的定义。 一个是 epoch, 一个是 batch。 这里,我们说它是怎么做的,然后解释它背后的思路。

假设,你的训练数据集中收集到了 100 笔输入数据。 开始时,你把这些输入数据 一笔笔送到模型中,计算一下其最后的损失值。 (这里的「计算」一词,文献中被称 evaluate.) 接着,把刚刚得到的这 100 个损失值求个平均值。 然后根据最小化损失的 原则, 把模型中的参数都用梯度下降法更新一遍。 我们把刚才这个过程称为第 1 遍 epoch。 早期数据量小,epoch 和 batch 是一回事。 如果你阅读的文献出版时间早,可 能也会用 batch 这个词。

接下来重复一遍刚刚的动作: 再把输入的训练数据集中的这 100 个数据再送进去 算一遍损失值。 然后计算损失平均值,按最小化损失的原则更新模型中的参数。 这是 第 2 遍 epoch。 理论上,你可一直这样训练下去。 我们把所有训练数据集中的数据全 部算一遍损失值(有时也称为全量数据),就称为一次 epoch。

为什么可以反复地把相同的数据放到同一个模型中训练呢你可以这样想:还拿 估算房价的例子, 前面的例子中考试卷子上只有一道题,现在呢, 我们一张卷子上 有 100 道题。 当你更新了模型参数后,也意味着你找到了前一个人A推荐的下一位专 家B。 所以,因为换了一个新人,你不得不推倒重来, 让他把卷子上 100 道题都重新 做一遍, 才能更好地评估当前这个人的专业水平。 这是不得已而为之的,是被迫的。 当然这个办法也有其优点,就是每次的评估比较全面。

但是后来,大数据的时代来了。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33834 人正在系统学习中

来源:jerodyan

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月20日
下一篇 2020年1月20日

相关推荐