我的神经网络(3层)的输出层使用sigmoid作为激活,仅在范围[0-1]内输出。但是,如果我想训练输出超过[0-1]的输出,以千计说,我该怎么办?神经网络输出:缩放输出范围
例如,如果欲培养
输入---->输出
0 0 ------> 0
0 1 ------> 1000
10001 ----> 1
1 -------> 0
我的程序适用于AND,OR,XORē由于输入输出都是二进制的。
有一些建议,使用,
活化:
Y =拉姆达*(ABS(X)1 /(1 + EXP(-1(X))))
衍生物活化的:
拉姆达*(ABS(Y)y(1-y))
这没有收敛为所述的训练模式(如果我没有做错什么)。有什么建议吗?
嗨,谢谢!但为了实现你对回归情况的建议,我需要如何更改我的代码,例如,我使用反向传播,其中使用了sigmoid的派生词来传播错误(http://www.speech。 sri.com/people/anand/771/html/node37.html),我使用了这种算法,现在如果我不在输出中使用任何sigmoid,那么在那种情况下将会出现什么问题?如果我只想训练上述模式,哪种类型的拓扑结构会更好?回归还是分类?我的意思是你会做什么? – 2012-01-28 23:23:27
而不是输出层中的S形启动函数,使用标识函数f(x)= x'。此外,它是您尝试使用神经网络预测的目标属性,它决定了您拥有的问题类型:分类/名义值(分类,例如:将电子邮件分类为垃圾邮件/非垃圾邮件)与数值(回归,前:预测股票价格).. – Amro 2012-01-28 23:41:39