2

由于神经网络包没有ReLU函数,所以我尝试编写ReLU函数的代码。但是有一个我不明白的错误。请在下面查看我的代码和错误信息。

relu<-function(x){ifelse(x>=0,x,0)}
nn <- neuralnet(y~a+b+c+d+e+f,data=train,hidden=c(5),linear.output=T,act.fct = relu)

deriv.formula(eval(parse(text = text)), "x", func = eval(parse(text = text2)), 中的错误:函数 'ifelse' 不在导数表中

4

1 回答 1

6

ReLU 可以在 sigmoid 包中找到。要添加使用的激活函数需要是微分函数。

这是 ReLU 的几个简单实现

relu <- function(x) {x * (x>=0)}
relu <- function(x) {max(0,x)}
于 2018-05-03T18:37:02.070 回答