如何使用多层感知器进行预测,并给出一个倾斜分布的特征?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (237)

我对深度学习和Keras相当新,这个问题困扰了我好几个星期。希望我能从这里得到一些提示。

特点

我模拟了两个变量,每个变量有10k个样本并遵循标准正态分布:A~Norm(0,1); B~Norm(0,1)。

标签

我从模拟变量中导出了两个标签:y1 = A * B; y2 = A / B.

模型

输入尺寸:2

隐藏层:4层密集层,全部为32个神经元宽

输出层:具有1个神经元的密集层

激活功能:ReLU用于所有激活功能

编译器:'MSE'作为损失函数,'Adam'作为优化器,学习率为1e-05

任务

最后,我为MLP设置了三个任务来学习:(1)用A,B来预测y1; (2)用A,B预测y2; (3)使用A,1 / B预测y2

验证

使用'validation_split = 0.2'验证模型

结果和推论

在任务1中的10~15个时期之后,训练和验证设置都可以轻松达到低于1的MSE。但是,对于其他两个任务,我总是会在训练损失方面获得非常高的损失,如30k +。

欢迎提出任何建议或意见。

提问于
用户回答回答于

y2值与y1值的分布差别很大,具体而言,它将具有更大绝对值的值。这意味着直接比较损失并不公平。

这有点像估计一个人的质量与估计一个行星的质量,并且因为你已经被数百万英镑贬值而感到不安。

为了说明,尝试计算所有三个问题的损失,但使用只能猜测0.0的估算器。我怀疑问题1的损失比其他两个要低得多。

扫码关注云+社区

领取腾讯云代金券