【发布时间】:2020-09-19 01:29:59
【问题描述】:
背景
我正在观看关于机器学习的 popular YouTube crash course。
在3:35:50,他提到模型可能过拟合,所以用更少的时期再次拟合。
由于他没有重新实例化模型,这不等于用相同的数据拟合模型,从而继续过度训练吗?
我的问题
假设您已创建模型并准备好数据。
你跑:
model.fit(train_images, train_labels, epochs=10)
model.fit(train_images, train_labels, epochs=8)
这是否等同于跑步:
model.fit(train_images, train_labels, epochs=18)
或者:
model.fit(train_images, train_labels, epochs=8)
如果previously fitted data is overwritten,为什么第二次运行model.fit会以之前模型的精度开始?
在multipleotherquestions关于保存和训练模型,可接受的解决方案是加载之前训练的模型,并再次运行model.fit。
如果这会覆盖预先存在的权重,这是否会破坏最初保存模型的目的?第一次在新数据上训练模型不是等效的吗?
在跨多个相似数据集训练模型同时保持所有数据准确性的适当方法是什么?
【问题讨论】:
-
你是对的。拟合 10 个 epoch 然后 8 个 epoch 相当于拟合 18 个 epoch。视频中的笔记本中发生了一些奇怪的事情。也许当他按下播放或其他东西时,他的模型会重新加载。引用问题中的答案是关于 scikit learn 模型,与 keras 模型无关。
标签: python tensorflow keras