【发布时间】:2019-11-11 09:07:33
【问题描述】:
Ciao, 我正在研究 R 中的神经网络。 我曾经在 python 中使用 Keras 编写过这类东西,所以我希望能够为不同的层设置不同的激活函数。
让我解释一下。假设我想构建一个有 2 个隐藏层(比如 5 个和 4 个神经元)和一个介于 -1 和 1 之间的输出的神经网络。
我想在隐藏层设置RELU或softplus,在输出层设置tanh。
这里的问题是 neuralnet 包让我只能通过参数 act.fun 选择一个激活函数:
> nn <- neuralnet(data = data, hidden = c(5, 4), act.fun =tanh)
我尝试将 act.fun 参数设置为 c(softplus, softplus, tanh) 但我当然会收到错误,因为 neuralnet 函数只需要一个函数对于那个论点。
你知道我如何以这种方式设置神经网络吗?在互联网上,我只能找到用这个包构建的非常基本的线性神经网络。如果不可能,这意味着这个包几乎没有用,因为它只能构建“线性模型”(??!)
非常感谢, 咻
【问题讨论】:
-
也许有可能?但是那个包不是一个等同于 Keras 的框架。如果您已经在 Python 中使用过 Keras,并且目前正在使用 R,you can use Keras from R。尽管如此,它还是使用 reticulate 来通过 Python,所以如果您已经对该界面感到满意,那么您最好还是坚持使用它,除非这是 R 中更大项目的一部分。
-
@alistaire Thsx 供您发表评论。不幸的是,我无法在当前使用的版本上安装 Keras,也无法升级它。
标签: r neural-network layer relu