回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我创建了一个这样的神经网络:</p>
<pre><code>n = FeedForwardNetwork()
inLayer = LinearLayer(43)
bias = BiasUnit()
hiddenLayer = SigmoidLayer(100)
outLayer = LinearLayer(1)
n.addInputModule(inLayer)
n.addModule(bias)
n.addModule(hiddenLayer)
n.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer, hiddenLayer)
bias_to_hidden = FullConnection(bias, hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer, outLayer)
n.addConnection(in_to_hidden)
n.addConnection(bias_to_hidden)
n.addConnection(hidden_to_out)
n.sortModules()
</code></pre>
<p>我用以下方式训练它(我在简化,它在多次迭代中训练):</p>
^{pr2}$
<p>有时我会收到以下警告:</p>
<blockquote>
<p>(...)/lib/python3.5/site-packages/PyBrain-0.3.1-py3.5.egg/pybrain/supervised/trainers/backprop.py:99: RuntimeWarning: overflow encountered in square
error += 0.5 * sum(outerr ** 2)</p>
<p>(...)/lib/python3.5/site-packages/PyBrain-0.3.1-py3.5.egg/pybrain/structure/modules/sigmoidlayer.py:14: RuntimeWarning: invalid value encountered in multiply
inerr[:] = outbuf * (1 - outbuf) * outerr</p>
</blockquote>
<p>当我检查保存的网络文件时,我发现所有的权重都是<code>nan</code>:</p>
<pre><code>(...)
<FullConnection class="pybrain.structure.connections.full.FullConnection" name="FullConnection-8">
<inmod val="BiasUnit-5"/>
<outmod val="SigmoidLayer-11"/>
<Parameters>[nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan]</Parameters>
</FullConnection>
(...)
</code></pre>