首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pybrain导出网络

Pybrain导出网络
EN

Stack Overflow用户
提问于 2015-09-05 06:43:17
回答 1查看 130关注 0票数 0

在看了this answer之后,我在导出我的网络时遇到了一些困难。以下是网络生成代码:

代码语言:javascript
复制
net = buildNetwork(2, 1, 1, bias=False)
sol = net.activate([2,3])
print("solution", sol)

for mod in net.modules:
    for conn in net.connections[mod]:
        print("connection:",conn)
        for cc in range(len(conn.params)):
            print(conn.whichBuffers(cc), conn.params[cc])

产出:

代码语言:javascript
复制
solution [ 0.12654066]
connection: <FullConnection 'FullConnection-3': 'hidden0' -> 'out'>
(0, 0) 1.02869832075
connection: <FullConnection 'FullConnection-4': 'in' -> 'hidden0'>
(0, 0) 0.410307885215
(1, 0) -0.928280457049

它提出的解决方案难道不等于

代码语言:javascript
复制
(0.410307885215*2-0.928280457049*3)*1.02869832075

是-2.0206而不是0.12654066

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-05 15:48:13

好吧,所以我忘了一个激活函数。默认的激活函数是sigmoid函数,在python中可以很容易地使用该函数。

代码语言:javascript
复制
from scipy.special import expit
expit((0.410307885215*2-0.928280457049*3))*1.02869832075 = 0.1265406616438563

我的下一个问题是如何增加偏见。在运行sigmoid函数之前会添加偏差。所以如果你在做:

代码语言:javascript
复制
net = buildNetwork(2, 1, 1, bias=True)

然后,它从本质上构建:

代码语言:javascript
复制
expit(weight_in1*input1+weight_in2*input2+hidden_bias)*hidden_weight+bias_out

希望这对那些和我有同样问题的人来说是有意义的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32410295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档