gpt4 book ai didi

artificial-intelligence - 我什么时候应该停止使用交叉验证方法训练神经网络进行分类

转载 作者:行者123 更新时间:2023-12-03 05:36:40 24 4
gpt4 key购买 nike

我现在正在实现神经网络进行分类。我使用反向传播算法来训练。我使用交叉验证方法。但我不清楚什么时候应该停止训练神经网络。
接下来是如何检查过拟合和欠拟合。

我有一个包含 1,000 个模式的数据集。我使用10折交叉验证方法。所以 1 Fold 有 100 个图案。我使用 900 个模式进行训练并使用 100 个模式进行测试。

虽然我改变了隐藏节点的数量和纪元的数量,但测试准确性并没有太大变化。但是我将训练数据提供给经过训练的网络,训练的准确性根据隐藏节点的数量和历元的数量而变化。我的想法足以检查过度拟合和欠拟合吗?我可以准确地确定过拟合和欠拟合吗?

我还想问一些问题,继续。我发布了我的结果,即使用各种隐藏节点和各种纪元进行的测试。正如我所说,我使用交叉验证,仅使用 10 个经过训练的网络中的一个网络(测试准确性最高)。

No of hidden nodes=50 ,Learning Rate=0.1 , no of epoch=100
Network 0 on Test=75.0 , onTrain= 97.11111111111111
Network 1 on Test=72.0 , onTrain= 98.22222222222223
Network 2 on Test=69.0 , onTrain= 97.88888888888889
> Network 3 on Test=78.0 , onTrain= 97.44444444444444
Network 4 on Test=77.0 , onTrain= 97.77777777777777
Network 5 on Test=77.0 , onTrain= 97.11111111111111
Network 6 on Test=69.0 , onTrain= 97.55555555555556
Network 7 on Test=74.0 , onTrain= 98.22222222222223
Network 8 on Test=76.0 , onTrain= 97.77777777777777
Network 9 on Test=74.0 , onTrain= 97.55555555555556

No of hidden nodes=50 ,Learning Rate=0.1 , no of epoch=70
Network 0 on Test=71.0 , onTrain= 93.22222222222221
Network 1 on Test=70.0 , onTrain= 93.33333333333333
Network 2 on Test=76.0 , onTrain= 89.88888888888889
Network 3 on Test=80.0 , onTrain= 93.55555555555556
Network 4 on Test=77.0 , onTrain= 93.77777777777779
> Network 5 on Test=81.0 , onTrain= 92.33333333333333
Network 6 on Test=77.0 , onTrain= 93.0
Network 7 on Test=73.0 , onTrain= 92.33333333333333
Network 8 on Test=75.0 , onTrain= 94.77777777777779
Network 9 on Test=70.0 , onTrain= 93.11111111111111

No of hidden nodes=50 ,Learning Rate=0.1 , no of epoch=50

Network 0 on Test=73.0 , onTrain= 87.8888888888889
Network 1 on Test=74.0 , onTrain= 89.22222222222223
Network 2 on Test=73.0 , onTrain= 87.1111111111111
Network 3 on Test=66.0 , onTrain= 90.44444444444444
Network 4 on Test=82.0 , onTrain= 88.77777777777777
Network 5 on Test=80.0 , onTrain= 88.44444444444444
Network 6 on Test=67.0 , onTrain= 88.33333333333333
Network 7 on Test=75.0 , onTrain= 87.8888888888889
Network 8 on Test=78.0 , onTrain= 87.44444444444444
Network 9 on Test=73.0 , onTrain= 85.0

第一个网络(纪元数=100)最好的网络在测试中获得的准确度是 78.0,但在火车上是 97.4444。这是否意味着过度拟合?如果这是过度拟合,那么第三个网络(纪元数=50)的最佳网络在测试中获得的准确度是否为 82.0,在火车上的准确度为 88.777 是否可以接受?如果 Not Acceptable ,我应该减少纪元数吗?

最佳答案

有关更多详细信息,请参阅此答案:whats is the difference between train, validation and test set, in neural networks?

或者,如果您喜欢伪代码,这大约是这样的:

for each epoch
for each training data instance
propagate error through the network
adjust the weights
calculate the accuracy over training data
for each validation data instance
calculate the accuracy over the validation data
if the threshold validation accuracy is met
exit training
else
continue training

关于artificial-intelligence - 我什么时候应该停止使用交叉验证方法训练神经网络进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7509666/

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