【发布时间】:2017-10-19 13:18:18
【问题描述】:
我正在学习 ANN,我为简单的二进制分类问题做了两个脚本(在 fortran90 和 python 中)。
我第一次没有偏见,我得到了很好的收敛。但是为每个节点添加一个偏差,它不再收敛(或者一切都接近 0 或一切接近 1)
偏差为 1,并且对每个节点都有特定的权重。它是随机初始化的,然后更新添加增量,例如其他权重。我试图改变梯度步长,但它仍然在做同样的事情。
有人有什么线索吗?....
编辑:
网络:
IN HIDDEN OUTPUT node
(each column is a LAYERS (each column is
training data) (2layers of 3node) the wanted result)
W1 .___W2__. W3
|0|0|1|1|-------->|___|___|______
|0|1|0|1|--\/_-\->|___|___|______\_--> |1|1|0|0|
|1|0|1|1|--/\__/->|___|___|______/
激活函数是一个sigmoid (1/(1+exp(-x)))
权重初始化为[-1, 1]范围内的正态分布
【问题讨论】:
-
如果没有更多上下文,这可能无法回答:例如,您正在使用什么激活函数,您如何初始化权重(什么分布?),您使用什么优化程序来训练,什么您为优化过程选择的参数,您的网络架构是什么(您包含有关 CS.SE 的更多信息,您应该在此处添加...)。我建议编辑问题以包含该信息,并显示MCVE 的代码。我不明白隐藏层如何可以有 3 个节点但只有一个输出。
-
我在 CS.SE 上编辑并删除了我的帖子
标签: neural-network backpropagation bias-neuron