【发布时间】:2019-12-26 03:08:51
【问题描述】:
我已经实现了一个用于分类和回归的 PyTorch NN 代码。
分类: a) 使用 stratifiedKfolds 进行交叉验证(K=10- 表示 10 折交叉验证)
我对数据进行了划分:如下: 假设我有 100 个数据:10 个用于测试,18 个用于验证,72 个用于训练。
b) 损失函数 = CrossEntropy
c) 优化 = SGD
d) 提前停止,其中等待时间 = 100 个时期。
Problem is:
Baseline Accuracy = 51%
Accuracy on Training set = 100%
Accuracy on validation set = 90%
Accuracy on testing set = 72%
我不明白测试数据/验证数据的巨大性能差异背后的原因是什么?
我该如何解决这个问题?
回归:
a) 使用相同的网络结构
b) 损失函数 = MSELoss
c) 优化 = SGD
d) 提前停止,其中等待时间 = 100 个时期。
e) 使用 K-fold 进行交叉验证。
我对数据进行了划分:如下:
假设我有 100 个数据:10 个用于测试,18 个用于验证,72 个用于训练。
Problem is:
Baseline MSE= 14.0
Accuracy on Training set = 0.0012
Accuracy on validation set = 6.45
Accuracy on testing set = 17.12
我不明白测试数据/验证数据的巨大性能差异背后的原因是什么?
我该如何解决这些问题?或者这对于 NN/ 取决于特定的数据集是显而易见的吗?
【问题讨论】:
标签: neural-network classification regression pytorch