gpt4 book ai didi

matlab - 神经网络输出 :Scaling the output range

转载 作者:行者123 更新时间:2023-12-05 01:03:16 24 4
gpt4 key购买 nike

我的神经网络(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))

对于上述训练模式,这并没有收敛(如果我没有做错任何事)。请问有什么建议吗?

最佳答案

对于分类问题,习惯上在输出层使用sigmoid/logistic激活函数来得到[0,1]范围内的合适概率值;再加上多类分类的 1-of-N 编码,每个节点输出将代表实例属于每个类值的概率。

另一方面,如果您有回归问题,则无需在输出上应用额外的函数,您只需获取原始线性组合输出即可。网络将自动学习权重,以提供您拥有的任何输出值(即使是数千个)。

您还应该注意缩放输入特征(例如,通过将所有特征标准化到范围 [-1,1])。

关于matlab - 神经网络输出 :Scaling the output range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com