机器学习模型训练中的过拟合与设计模式
1. 模型训练评估与 Keras 训练循环
在机器学习中,我们无法预先知道模型复杂度对于特定数据集是否过高,只有在该数据集上实际训练模型后才能确定。因此,评估需要在训练循环中进行,同时要监控验证数据集(从训练数据中划分出来的一部分)上的误差指标。由于训练和验证数据集都已在训练循环中使用,所以还需划分出一个测试数据集,用于报告在新的、未见过的数据上可能出现的实际误差指标,此评估在训练结束时进行。
1.1 Keras 典型训练循环
Keras 中的典型训练循环如下代码所示:
model = keras.Model(...)
model.compile(optimizer=keras.optimizers.Adam(),
loss=keras.losses.categorical_crossentropy(),
metrics=['accuracy'])
history = model.fit(x_train, y_train,
batch_size=64,
epochs=3,
validation_data=(x_val, y_val))
results = model.evaluate(x_test, y_test, batch_size=128)
model.save(...)
在这个训练循环中:
- 模型使用 Adam 优化器对训练数据集的交叉熵进
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



