机器学习 Keras 精度模型 vs 精度新数据预测
Machine Learning Keras accuracy model vs accuracy new data prediction
我用keras做了一个深度学习模型。模型准确率达到 99%。
$`loss`
[1] 0.03411416
$acc
[1] 0.9952607
当我使用模型对我的新数据文件进行预测 类 时,我只有 87% 的 类 分类正确。我的问题是,为什么模型准确率和模型预测分数之间存在差异?
你的99%在训练集上,这是你自己在训练时执行你的算法的一个指标,你不应该把它当作参考。
您应该始终查看您的测试集,这才是真正重要的价值。
此外,您的准确度应始终如下所示(至少样式):
例如训练集的准确性一直在增长,测试集遵循相同的趋势,但 低于 训练曲线。
您永远不会拥有完全相同的两组(训练和 testing/validating),所以这是 正常 有所不同。
训练集的objective用于概括您的数据并从中学习。
测试集的objective就是看你泛化好不好。
如果你离你的训练集太远,要么这两个集之间有很多差异(主要是分布、数据类型等),要么如果它们相似那么你的模型会过拟合(这意味着你的模型与你的训练数据太接近,如果你的测试数据有一点差异,这将导致错误的预测。
模型过拟合的原因通常是你的模型太复杂,你必须简化它(例如减少层数,减少神经元数量等)
我用keras做了一个深度学习模型。模型准确率达到 99%。
$`loss`
[1] 0.03411416
$acc
[1] 0.9952607
当我使用模型对我的新数据文件进行预测 类 时,我只有 87% 的 类 分类正确。我的问题是,为什么模型准确率和模型预测分数之间存在差异?
你的99%在训练集上,这是你自己在训练时执行你的算法的一个指标,你不应该把它当作参考。
您应该始终查看您的测试集,这才是真正重要的价值。
此外,您的准确度应始终如下所示(至少样式):
例如训练集的准确性一直在增长,测试集遵循相同的趋势,但 低于 训练曲线。
您永远不会拥有完全相同的两组(训练和 testing/validating),所以这是 正常 有所不同。
训练集的objective用于概括您的数据并从中学习。
测试集的objective就是看你泛化好不好。
如果你离你的训练集太远,要么这两个集之间有很多差异(主要是分布、数据类型等),要么如果它们相似那么你的模型会过拟合(这意味着你的模型与你的训练数据太接近,如果你的测试数据有一点差异,这将导致错误的预测。
模型过拟合的原因通常是你的模型太复杂,你必须简化它(例如减少层数,减少神经元数量等)