2

我正在研究人工神经网络。我想在 Matlab 中实现它,但我找不到合适的激活函数。我需要一个阶跃函数,因为我的输出是 0 或 1。Matlab 中是否有任何函数可用于这种输出。另外,我想要相同激活函数的反向函数。logsig并且tansig不为我工作。

4

2 回答 2

2

两者都是神经网络工具箱的一部分tansiglogsig因为在线文档清楚地表明了这一点。所以,如果which tansig什么都不返回,那么你就没有那个工具箱(或者至少没有一个足够新的版本来包含那个函数)。但是,这两个函数都非常简单,文档甚至在“算法”部分为您提供了公式:tansig, logsig. 如果您愿意,两者都可以实现为单行匿名函数。

如果您的问题实际上是关于如何生成Heaviside 阶跃函数,Matlab 有heaviside(它是符号数学工具箱的一部分,但包含纯数字版本 - 键入edit heaviside以查看简单代码)。但是,请注意,对于某些类型的神经网络,使用这种不可微分的函数是有问题的,因为这个 StackOverflow 问题和答案地址

于 2013-11-10T18:06:07.667 回答
0

Heaviside 对我不起作用。我最终将我的数据标准化为 1 到 -1 之间,然后应用了 tansig。谢谢

于 2013-12-08T07:46:11.060 回答