这里有谁熟悉回声状态网络?我在c#中创建了一个回声状态网络。目的只是将输入分为GOOD和NOT GOOD。输入是一个双数字数组。我知道,也许这种分类回声状态网络不是最好的选择,但我必须用这种方法来做。回声状态神经网络?
我的问题是,培训网络后,它不能一概而论。当我用外国数据(而不是教学输入)运行网络时,我只得到50-60%的好结果。
更多细节:我的回声状态网络必须像函数逼近器一样工作。该函数的输入是一个17个双精度值的数组,输出为0或1(我必须将输入分类为不良或好的输入)。
所以我创建了一个网络。它包含一个具有17个神经元的输入层,一个储层图层,该层的neron数量是可调的,输出层包含1个神经元,用于输出需要0或1.在一个更简单的例子中,没有使用输出反馈(我试图使用输出反馈也没有改变)。
储层的内部矩阵也是可调的。我使用可调整的稀疏比率在两个双精度值(最小值,最大值)之间生成权重。如果值太大,则将矩阵规范为具有低于1的谱半径。储层可以具有S形和tanh激活函数。
输入层以随机值完全连接到储层。所以在训练状态下,我运行训练数据计算内部X(n)储备激活,将它们收集到矩阵rowvise中。使用所需的输出数据矩阵(现在是一个具有1个0值的向量),我计算输出权重(从油藏到输出)。水库完全连接到输出。如果有人使用回声状态网络,我会说什么。我是这样的伪逆方法。
问题是,我如何调整网络,以便推广更好?使用外部数据集(不是训练数据集)打击超过50-60%的期望输出。如果我再次使用训练数据集运行网络,它可以提供非常好的结果,80-90%,但是我想要更好地推广。
我希望有人也有回声状态网络这个问题。
“如果有人可以,请回复,以便我可以更彻底地解释我的问题。”你如何更彻底地解释,然后我们回应? – Annabelle