我正在研究人工神经网络。我想在Matlab中实现它,但我无法找到合适的激活函数。我需要一个步进函数,因为我的输出是0或1.在Matlab中是否有任何可用于此类输出的函数。另外,我想要相同激活功能的反向功能。 logsig
和tansig
对我不起作用。
答案 0 :(得分:2)
在线文档明确指出,tansig
和logsig
都是神经网络工具箱的一部分。因此,如果which tansig
没有返回任何内容,那么您没有该工具箱(或者至少没有足够的版本来包含该函数)。但是,这两个函数都非常简单,文档甚至为您提供了“算法”部分下的公式:tansig
,logsig
。如果你愿意的话,两者都可以作为一行匿名函数实现。
如果您的问题实际上是关于如何生成Heaviside step function,那么Matlab有heaviside
(它是符号数学工具箱的一部分,但包含纯数字版本 - 键入edit heaviside
以查看简单的代码)。但是,请注意,对于某些类型的神经网络this StackOverflow question and answer addresses,使用这种不可微函数是有问题的。
答案 1 :(得分:0)
Heaviside对我不起作用..我最终将我的数据标准化为1和-1,然后应用tansig。 谢谢