网络可以很好地学习这个范围,并且当给出该范围内的其他点的示例时,它可以预测函数的值。但是,它无法正确推断并预测范围[-5,5]之外的函数值。是什么原因以及如何才能提高其推断能力?
谢谢!
答案 0 :(得分:13)
神经网络不外推方法(无论是否经常发生),这完全超出了他们的能力范围。它们用于在提供的数据上拟合函数,它们完全可以在填充了训练点的子空间之外构建模型。因此,在非常严格的意义上,我们应该将它们视为插值方法。
为了说清楚,神经网络应该能够推广训练样本所跨越的子空间内的函数,但不能在它之外
神经网络仅在与训练样本的一致性方面进行训练,而外推则完全不同。 “H.Lohninger:Teach / Me Data Analysis,Springer-Verlag,Berlin-New York-Tokyo,1999。ISBN 3-540-14743-8”中的简单示例显示了NN在这种情况下的表现
所有这些网络都与训练数据一致,但可以在此子空间之外执行任何。
您应该重新考虑您的问题的表述,如果它可以表示为回归或分类问题,那么您可以使用NN,否则您应该考虑一些完全不同的方法。
唯一能够以某种方式“纠正”训练集之外发生的事情的是:
结合上述两个步骤可以帮助构建在某种程度上“推断”的模型,但如前所述,这不是神经网络的目的。
答案 1 :(得分:2)
据我所知,这只适用于具有 echo 属性的网络。请参阅scholarpedia.org上的Echo State Networks。
这些网络专为任意信号学习而设计,能够记住他们的行为。
您还可以查看this tutorial。
答案 2 :(得分:0)
您的帖子的性质表明您所指的是"外推"将被更准确地定义为"序列识别和再现。"训练网络识别有或没有时间序列(dt)的数据序列几乎是回归神经网络(RNN)的目的。
帖子中显示的训练函数的输出限制由0和1控制(或-1,因为x在该函数的上下文中实际上是abs(x))。因此,首先要确保您的输入层可以轻松区分负输入和正输入(如果必须)。
接下来,神经元的数量并不像它们如何分层和互连那么重要。 7个中有多少用于序列输入?使用了什么类型的网络以及如何配置?网络反馈将揭示比率,比例,关系等,并有助于调整网络权重调整以匹配序列。反馈也可以采用前向馈送的形式,具体取决于用于创建RNN的网络类型。
制作一个可观察的'网络的指数衰减函数:1 /(1 + x ^ 2),应该是一个体面的练习,以削减你的RNNs牙齿。 ' Observable',意味着网络能够为任何输入值产生结果,即使其训练数据(远)小于所有可能的输入。我只能假设这是你的实际目标而不是"外推。"