【发布时间】:2012-02-21 07:29:26
【问题描述】:
我的神经网络(3 层)的输出层使用 sigmoid 作为激活,它仅在 [0-1] 范围内输出。但是,如果我想针对超出 [0-1] 的输出进行训练,比如以千计,我该怎么办?
例如,如果我想训练
输入---->输出
0 0 ------> 0
0 1 ------> 1000
1000 1 ----> 1
1 1 -------> 0
我的程序适用于 AND、OR、XOR 等。因为输入输出都是二进制的。
有一些建议可以使用,
激活:
y = lambda*(abs(x)1/(1+exp(-1(x))))
激活导数:
lambda*(abs(y)y(1-y))
对于上述训练模式,这并没有收敛(如果我没有做错任何事)。请问有什么建议吗?
【问题讨论】:
标签: matlab artificial-intelligence neural-network