人工神经网络和有效的参数优化

数据挖掘 神经网络 监督学习 参数估计
2022-02-24 07:41:40

我有一堆测试测量数据和一个半经验模型,它有 18 个参数,我必须找到这些参数,以便模型很好地拟合我的数据。到目前为止,我已经设法使用 MATLAB 中的优化和全局优化算法找到并优化参数。

现在我想探索参数估计的不同方法。我已经阅读了一些描述神经网络方法的论文。我是 NN 的新手,不知道这是否可能。

我将创建一个具有 18 个输入和输出神经元的两层网络。我不确定哪种传递函数适合该问题。

我必须拟合并找到参数的公式如下所示:

y=Dsin(Carctan(BxE(Bxarctan(Bx))))

在哪里B,C,D,E是宏观系数,而微观系数用于表示每个主要系数相对于其他一些数据的变化。 在此处输入图像描述

这就是我的数据的样子。你将如何在 MATLAB 中为这个问题创建网络?你能给我一些提示并推动正确的方向来解决这个问题吗?

提前致谢。

1个回答

如果您要拟合大量不同的模型,并且每个不同模型都有训练数据序列(在这些情况下参数已知),那么您也许可以使用递归神经网络 (RNN) 来提供参数新数据序列的估计。但是,这似乎不是你的情况。

据我了解您的问题,您有一个带有一些自由参数的数学模型,以及您想用来估计这些参数的一组数据。

在这里,神经网络对您没有任何用处。那是因为神经网络会用 NN代替你的半经验模型,而自由参数变成了 NN 的权重。训练后的 NN 与您想要的模型不匹配,但通常适合数据。它可用于在给定输入的情况下预测更多函数输出 - NN 甚至可能比您首选的模型做得更好,这将是一个有趣的结果,表明您的模型不完整。

通常我们不知道(甚至可能不关心)一个潜在的简约模型。在这种情况下,使用诸如平方误差之类的目标函数将通用模型的参数与数据拟合的 ML 技术可能是非常有用的工具。然而,当我们对一个简单或解释性模型有一个好主意时,这些相同的技术就不太有用了,相反我们可以直接在模型上使用优化器——在某些情况下,这些优化器可能与用于训练神经网络的优化器相同,前提是模型是可微的。