我的神经网络回归模型结果解读

问题描述 投票:0回答:1

我的自定义创建的网络使用线性层,中间有丢失层。据我所知,在评估阶段,丢失层不活跃,这通常会导致验证损失高于训练损失。为了更好地理解损失值,我计算了训练损失和验证损失之间的平均绝对差。对于这种差异,是否有一个通用规则或指南可以用来改进我的模型?

我也使用这个设置进行训练

criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=lr)
scheduler = lr_scheduler.ReduceLROnPlateau(optimizer, mode='min')

计算abs差异(距离):

fold_dist_rmse = np.mean(np.abs(np.subtract(fold_train_losses, fold_val_losses)))
fold_dist_r2 = np.mean(np.abs(np.subtract(fold_train_r2, fold_val_r2)))

这是我的模型结果: 折叠 1/6:训练 RMSE:35.93554242793712 |有效 RMSE:29.25876541711503 |距离:6.769316131166423 折叠 1/6:火车 $R^2$:0.9707746378183365 |有效$R^2$:0.9887450106143951 |距离:0.01803360450267792

折叠 2/6:训练 RMSE:33.979019073410804 |有效 RMSE:37.212038090521546 |距离:6.741708392705943 折叠 2/6:火车 $R^2$:0.9723036136627198 |有效$R^2$:0.9756944441795349 |距离:0.01469032382965088

折叠 3/6:训练 RMSE:32.49953081599383 |有效 RMSE:42.565526526587355 |距离:12.88033462681533 折叠 3/6:火车 $R^2$:0.9757700593471527 |有效$R^2$:0.9610446383953094 |距离:0.03205667233467102

折叠 4/6:训练 RMSE:32.936544826006646 |有效 RMSE:55.71217012745017 |距离:25.01426354134579 折叠 4/6:火车 $R^2$:0.9724288802146912 |有效$R^2$:0.9643870314359665 |距离:0.024146793484687804

我正在寻找某人来解释训练和验证损失之间的平均绝对差是否是分析我的模型的一个很好的衡量标准。此外,如果您能提供有关如何改进模型以使 RMSE 低于 10 的建议,我将不胜感激。

python machine-learning deep-learning statistics artificial-intelligence
1个回答
-1
投票

主要分析训练损失和验证损失之间的差异是否存在过度拟合的迹象。它不是纯粹模型性能的合适指标。所以我想说你正在专门检查任何过度拟合的迹象,然后观察两个损失之间的差异是合适的。

但是,平均绝对差不会很有帮助,因为它是一个绝对值。当训练损失不断减少但验证损失增加时,就会发生过度拟合。因此,最好通过绘图或打印语句来关注这两者的运动,并可能实施早期停止机制,以便在发生任何过度拟合之前停止。

此外,对于问题的这一部分“此外,如果您能提供有关如何改进模型以实现 RMSE 低于 10 的建议,我将不胜感激。”,这很大程度上取决于您的 ML/DL 任务的性质以及您的结果是什么尝试预测有关您的任务性质的更多细节会很有帮助。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.