你如何实际评估一个 "特定 "的输入对NS的贡献? - 页 3

 
alexeymosc:
还有一种相反的情况:理论上,有可能存在两个信息量大的输入,一个信息量小的输入。从逻辑上讲,你想去掉第三个,但如果你去掉它,复杂的四元关系(三个输入-输出)将被破坏,剩下的两个输入将不再有那么多信息。

所以我在一个现成的例子上做,可以说是立即看到NS在训练样本上和训练样本外的结果的变化。 如果有什么东西倒塌了,应该会影响到最后的结果。 我去掉了一个输入,没有任何退化;我去掉了另一个输入,最终结果的退化率不到1%;我去掉了第三个输入,退化率为10%。然后同样是2个输入、3个输入等的组合。

我只做了几个小时,但我已经发现了一个空白的输入,完全重复了另一个输入(由于一个错误),还有2个输入,其影响甚至最小为十分之一。我认为这3项投入完全没有必要。

我还发现了2个输入,排除这2个输入不会使结果恶化,这很明显,但会改善结果,这是出乎意料的。我应该用它们做更多的实验,条目显然不是空的,它们对结果的影响,即使是相反的方向,也能证明这一点。

感谢你们所有人,我真的得到了一些有用的建议。

 
Figar0:

因此,我在一个准备好的样本上做,可以说,立即看到NS的结果在训练样本和外部的变化。 如果有什么东西倒塌了,应该会影响到最后的结果。 我去掉了一个输入,没有任何退化;我去掉了另一个输入,最终结果的退化率不到1%;我去掉了第三个输入,退化率为10%。然后同样是2个输入、3个输入等的组合。


这是最可靠的选择输入的方法--蛮力。这很难,但它是诚实的。好运!
 

对于20个输入来说,清扫是类似2^20的组合,即一百万。

我又想到了信息理论,但我不打算建议什么。

 
Mathemat:

对于20个输入来说,清扫是类似2^20的组合,即一百万。

因此,你可以通过 "从这里到晚餐 "或 "直到你感到厌烦"...
然后进行基因测试......试运行。
 

有可能确定一个输入的 "不需要性"。一个神经元的权重越接近于0,它就越是 "不必要"。从本质上讲,一个神经元的值是乘以0的,无论什么东西都 会导致0,即根本没有输入

拥有这样一个不必要的神经元的最大缺点是不必要地增加学习时间。

但这种 "不必要的 "神经元不仅可能出现在网格的输入层,也可能出现在其任何一层。

你可以在测试训练后自动搜索不必要的神经元的过程--取神经元权重的模数值,如果该值小于某个阈值,则将其置空。然后你需要分析哪些神经元的权重为0,并将其从网络中排除,然后重新训练--训练会明显加快,结果也会一样。当然,随后也使用了这样的稀疏网眼。

 
joo:

有可能确定一个输入的 "不需要性"。一个神经元的权重越接近于0,它就越是 "不必要"。从本质上讲,一个神经元的值乘以0,无论什么东西都 会导致0,也就是说,输入的 东西就像根本不存在一样。


这是真的。但是,输入总是等于零的说法从何而来? 不可能有这样的事情。

最有可能的是,在这种情况下,我们谈论的是一个比其他信号小得无法比拟的信号。这可以很容易地通过信号的缩放来纠正。

来自SSI的信号将比来自OsMA的信号大几百万倍。 这些信号是不可比的,如果不把它们缩放到相同的比例,就无法使用。

 
joo:


但是,这种 "不必要的 "神经元最终不仅会出现在网格的输入层,而且会出现在网格的任何一层。


如果神经元中的转换是非线性的,这就不可能发生。
 
mersi:

这倒是真的,但输入信号总是等于零从何而来?

最有可能的是,在这种情况下,我们谈论的是一个比其他信号小得多的信号。这很容易被信号转换所纠正。

来自SSI的信号将比来自OsMA的信号大几百万倍。这些信号是不可比的,如果不把它们缩小,就无法使用。

我以为对于所有的神经元学家来说,将网络的信号(缩放)带入一个范围,适合喂给网络,就像 "我们的父亲",但我错了,因为我看到了。:)

因此,信号是按比例变化的,例如在[-1.0;1.0]范围内。但其中一个输入神经元的权重为0,这是什么意思?- 这意味着网格并不关心这个神经元的输入值是多少,网络的结果并不取决于这个输入。

敬的女士们、先生们
这不可能发生在神经元的非线性转换中

这很有可能发生。而且,当内层的神经元多于解决问题所需的数量时,往往会发生这种情况。

 
joo:

我以为对所有的神经元学家来说,将网络的信号带入(缩放)一个范围,适合喂给网络,就像 "我们的父亲",但我错了,因为我看到了它。:)

因此,信号是按比例变化的,例如在[-1.0;1.0]范围内。但其中一个输入神经元的权重为0,这是什么意思?- 这意味着网络并不关心 这个神经元的输入值是多少--网络运行的结果并不取决于这个输入。

这很有可能。而当内层的神经元多于解决一个任务所需时, 往往会出现这种情况

乍一看,这一论断似乎并不虚假。

然而,来自输入Xi的数据同时被输入到几个神经元,它们的所有突触不一定等于零,所以排除输入Xi会完全改变网络的输出。

--------------

网络中的神经元越多,神经网络所能解决的问题就越准确和复杂。

NS的开发者自己限制了网络中的神经元数量,原因是在可接受的学习时间内,结果要有足够的 准确性,因为网络训练 所需的历时数与神经元的数量呈幂函数关系增长。

 
Figar0:

不算是星期五,但是......。

有一个NS,任何NS,有一个输入A={A1, A2, ....A20}.训练NS,获得满意的结果。我们如何实际评估输入A1、A2、...的每个元素的贡献?A20的这个结果?

我脑海中的选项是。

1)以某种方式总结和计算元素通过网络时的所有权重。我不太清楚怎么做,我必须沉浸在网络操作中,并以某种方式计算一些系数,等等。

2) 尝试以某种方式 "归零",或者例如反转输入矢量的一个元素,看看它对最终结果有何影响。到目前为止,我已经确定了这一点。

但在意识到这第二个变体之前,我决定征求我的意见。谁可能在这个问题上思考的时间比我长?也许有人能给我提供一个书本上的文章?

在计量经济学范围之外应用坚实的基于科学的方法,会引发幼稚的问题。

做好回归工作。

利润=s(1)*A0+...。s(n) * A(n)

我们估计这个回归的系数。

随即我们得到

特定系数等于零的概率- 我们删除这样一个输入

所有系数加起来等于零的概率

通过椭圆,我们得到相关系数

测试多余的输入

对缺失的输入进行测试

测试系数值的稳定性(评估其随机性)。