由于神经网络包没有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)),&#34; x&#34;,func = eval(parse(text = text2)),: 功能&#39; ifelse&#39;不在衍生表中
答案 0 :(得分:2)
ReLU可以在sigmoid包中找到。要添加激活函数,需要使用差分函数。
以下是ReLU的几个简单实现
relu <- function(x) {x * (x>=0)}
relu <- function(x) {max(0,x)}