如何用pybrain构建神经网络?

2 投票
1 回答
938 浏览
提问于 2025-04-17 21:37

我刚接触pybrain,正在搭建神经网络,但遇到了很多问题。文档对我来说不太清楚,网上也找不到很多例子。

我想要一个有一个输入、一个隐藏层和一个输出的神经网络。

x--->f1(x),f2(x),...,b---->g(z)

这个例子应该比较简单。隐藏层有不同的功能和一个偏置单元。对于这个例子,我们可以把 f1=f2=sigmoidg 是一个自定义的函数。

这是我目前做的,但我完全不确定我做的是否正确。

而且我不知道如何在隐藏层添加偏置单元。

class gLayer(NeuronLayer):

    def _forwardImplementation(self, inbuf, outbuf):
        outbuf[:]=g(inbuf)


    def _backwardImplementation(self, outerr, inerr, outbuf, inbuf):
      inerr[:]=derivative(g,inbuf)*outerr


print "build a network"

#Layer
inLayer=LinearLayer(1)
hLayer=SigmoidLayer(2)
outLayer=gLayer(1)
net=FeedForwardNetwork()
net.addInputModule(inLayer)
net.addModule(hLayer)
net.addOutputModule(outLayer)
#connection
in_to_hidden = FullConnection(inLayer, hLayer)
hidden_to_out = FullConnection(hLayer, outLayer)
net.addConnection(in_to_hidden)
net.addConnection(hidden_to_out)
net.sortModules()

1 个回答

1

你可以添加一个 BiasUnit,作为另一个隐藏层。

hBiasLayer=BiasUnit()

net.addModule(hBiasLayer)

撰写回答