首页 文章

SGD的培训准确性

提问于
浏览
0

您如何计算SGD的训练准确度?您是否使用您训练网络的批量数据来计算它?或者使用整个数据集? (对于每个批次优化迭代)

我尝试使用我训练网络的批量数据计算每次迭代的训练准确度 . 它几乎总能给我100%的训练准确度(有时100%,90%,80%,总是10%的倍数,但第一次迭代给了我100%) . 这是因为我正在计算我为该迭代训练的相同批次数据的准确性吗?或者我的模型过度拟合,它立刻给了我100%,但验证准确性低? (这是这里的主要问题,如果这是可以接受的,或者模型有问题)

以下是我使用的超参数 .

batch_size = 64
kernel_size = 60 #from 60 #optimal 2
depth = 15 #from 60 #optimal 15
num_hidden = 1000 #from 1000 #optimal 80

learning_rate = 0.0001
training_epochs = 8

total_batches = train_x.shape[0] // batch_size

1 回答

  • 2

    在训练过程中计算批量数据的训练准确性是正确的 . 如果精确度的数量始终是10%的倍数,则很可能是因为您的批量大小为10.例如,如果8个训练输出与标签匹配,那么您的训练准确度将为80% . 如果训练准确度数字上下变化,则有两种主要可能性:1 . 如果在一个时期内多次打印出准确度数字,这是正常的,特别是在训练的早期阶段,因为模型预测不同数据样本; 2.如果您在每个时期打印出准确度,并且如果您在训练的后期阶段看到训练准确性上下变化,则表示您的学习率太高 . 你需要在训练期间减少加班时间 . 如果这些没有回答您的问题,请提供更多详细信息,以便我们提供帮助 .

相关问题