gpt4 book ai didi

python - 我在这里想做什么?训练 ACC : 100%, 测试 ACC : 80% does this mean overfitting?

转载 作者:行者123 更新时间:2023-11-30 08:53:06 25 4
gpt4 key购买 nike

classifier.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
classifier.fit(X_train, y_train, epochs=50, batch_size=100)

Epoch 1/50
27455/27455 [==============================] - 3s 101us/step - loss: 2.9622 - acc: 0.5374

我知道我正在第一行编译我的模型并将其安装在第二行。我知道什么是优化器。我对 metrics=['accuracy'] 的含义以及编译模型时 acc: XXX 的确切含义感兴趣。另外,当我训练模型时(100%),我得到 acc : 1.000,但当我测试模型时,我得到 80% 的准确度。我的模型是否过度拟合?

最佳答案

好的,让我们从头开始

首先,metrics = ['accuracy'],模型可以在多个参数上进行评估,准确度是指标之一,其他可以是binary_accuracycategorical_accuracysparse_categorical_accuracytop_k_categorical_accuracysparse_top_k_categorical_accuracy,这些只是内置的,您甚至可以创建自定义指标,以要更详细地了解指标,您需要对神经网络中的损失有清晰的了解,您可能知道损失函数必须是可微的才能进行反向传播,但这不是必需的对于指标,指标纯粹用于模型评估,因此甚至可以是不可微分的函数,在 Keras 中甚至在其文档中也提到过

A metric function is similar to a loss function, except that the results from evaluating a metric are not used when training the model. You may use any of the loss functions as a metric function.

您可以自己自定义一个不可微分的精度,但可以根据您的模型需要创建一个目标函数。

TLDR; Metrics are just loss functions not used in back propagation but used for model evaluation.

现在,acc:xxx 可能只是它还没有完成一个小批量传播,因此还不能给出准确度分数,我没有太注意它,但它通常会停留在那里几秒钟,并且因此这是一个推测。

最后 退出训练后模型性能下降 20%,是的,这可能是过度拟合的一种情况,但没有人可以在不查看数据集的情况下确定,但很可能是的,它过度拟合,您可能需要查看表现不佳的数据才能了解原因。

如果有什么不清楚、没有意义的地方,请随时发表评论。

关于python - 我在这里想做什么?训练 ACC : 100%, 测试 ACC : 80% does this mean overfitting?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55157832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com