编辑: 对有兴趣的人来说,我做了一些改进。我使用了L2正则化器=0.0001,增加了两个没有激活函数的密集层,分别有3和5个节点。在第二个和第三个GRU层上添加了0.1的丢弃率。将批量大小减少到1000,同时将损失函数设置为平均绝对误差(mae)。
重要说明: 我发现我的测试数据框与训练数据框相比非常小,这是导致结果非常差的主要原因。
我有一个GRU模型,输入有12个特征,我试图预测输出功率。然而,我真的不明白应该选择
- 1层还是5层
- 50个神经元还是512个神经元
- 小批量大小下的10个周期还是大批量大小下的100个周期
- 不同的优化器和激活函数
- 丢弃率和L2正则化
- 增加更多的密集层
- 增加和减少学习率
我的结果总是相同的,没有任何意义,我的损失和验证损失在前两个周期内急剧下降,然后在剩余的周期内保持恒定,验证损失有小幅波动
这是我的代码和损失图,如果需要的话,还有我的数据框:
数据框1: https://drive.google.com/file/d/1I6QAU47S5360IyIdH2hpczQeRo9Q1Gcg/view数据框2: https://drive.google.com/file/d/1EzG4TVck_vlh0zO7XovxmqFhp2uDGmSM/view
...
回答:
我做了一些改进。我使用了L2正则化器=0.0001,增加了两个没有激活函数的密集层,分别有3和5个节点。在第二个和第三个GRU层上添加了0.1的丢弃率。将批量大小减少到1000,同时将损失函数设置为平均绝对误差(mae)。
重要说明:我发现我的测试数据框与训练数据框相比非常小,这是导致结果非常差的主要原因。