通过pybrain创建神经网络很简单,通过buildNetwork方法即可创建:
>>> from pybrain.tools.shortcuts import buildNetwork >>> net = buildNetwork(2, 3, 1)三个参数分别表示2个输入神经元,3个隐藏层神经元,1个输出层神经元
创建后,默认会以随机数初始化这个神经网络,通过.activate()方法可调用
>>> net.activate([2, 1]) array([-0.98646726])activate方法可接受列表,元组,数组作为输入。
在pybrain中,创建完成一个神经网络后每一层默认都有名字
>>> net['in'] <LinearLayer 'in'> >>> net['hidden0'] <SigmoidLayer 'hidden0'> >>> net['out'] <LinearLayer 'out'>隐藏层后面有个数字以区分不同隐藏层。
隐藏层默认是通过sigmoid函数构建,我们可以指定为其他类型
>>> from pybrain.structure import TanhLayer >>> net = buildNetwork(2, 3, 1, hiddenclass=TanhLayer) >>> net['hidden0'] <TanhLayer 'hidden0'>我们也可以为输出层指定不同类别
>>> from pybrain.structure import SoftmaxLayer >>> net = buildNetwork(2, 3, 2, hiddenclass=TanhLayer, outclass=SoftmaxLayer) >>> net.activate((2, 3)) array([ 0.6656323, 0.3343677])还可以设置偏置层:
>>> net = buildNetwork(2, 3, 1, bias=True) >>> net['bias'] <BiasUnit 'bias'>