R中神经网络包中的Sigmoid函数

时间:2017-02-02 20:14:53

标签: r neural-network sigmoid

我似乎无法找到有关如何在Neuralnet包中应用sigmoid函数的任何文档,我尝试过:

neuralnet(...,act.fct="sigmoid")

然而这又回来了;

Error: ''act.fct' is not known

1 个答案:

答案 0 :(得分:5)

您正在寻找该套餐的“后勤”。

neuralnet(..., act.fct = "logistic")

尽管如此,如果你有一个不在那里的功能(并且那个包中没有很多)你可以自己传递这个功能。

library(neuralnet)

data(infert)

set.seed(123)
net.infert <- neuralnet(case~parity+induced+spontaneous, infert, 
                        err.fct="ce", linear.output=FALSE, likelihood=TRUE)

sigmoid = function(x) {
  1 / (1 + exp(-x))
}

set.seed(123)
net.infert2 <- neuralnet(case~parity+induced+spontaneous, infert, 
                        err.fct="ce", linear.output=FALSE, likelihood=TRUE,
                        act.fct = sigmoid)

all.equal(net.infert$weights, net.infert2$weights)
[1] TRUE