微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

神经网络回归饱和

如何解决神经网络回归饱和

我正在尝试使用回归建模物理行为。训练/测量数据在下图 the Data and Models 中以蓝色显示。它只有一个一维特征集(x 轴)和一个响应(y 轴)。我首先尝试使用线性回归模型 (LR) 对其进行建模,并在 the figure 中以橙色显示模型拟合。然后我尝试使用一个带有 10 个神经元的隐藏层的浅层神经网络 (NN),我获得了 the figure 中以黄色显示的模型。正如所见,NN 预测似乎在输入

我没有在图中显示,但我有一个测试数据集,其中包含值低于 228 的输入样本,这些样本实际上代表了一些不寻常或不规则的情况。线性模型为我提供了对低于 228 的输入的准确预测,但神经网络模型的输出刚好在这一点以下饱和。我基本上希望神经网络的行为与这里的线性模型相同或收敛到它,而不是因为训练集中不存在的看不见的输入而饱和。

我尝试更改隐藏层的数量和每层中的神经元数量,但结果几乎相同。我想我在这里遗漏了一些关于神经网络回归的基本知识。 训练数据是否总是必须包含输入变量的所有可能范围?这种饱和的原因可能是什么,我该如何解决?我也在这里分享神经网络实现的Matlab代码,以便大家更好地理解。

trainFcn = 'trainlm';
hiddenLayer1Size = 10;
net = fitnet([hiddenLayer1Size],trainFcn);
net.trainParam.epochs = 1000;
[net,tr] = train(net,X_train',Y_train');
vlt = linspace(205,240,1000);
outputs = net(vlt);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。