适用于简单数值输入/输出的正确Keras/TensorFlow激活函数

我的输入层有98个浮点值,范围在-5.0 < x < 5.0之间,输出是一个单节点的浮点值,范围同样在-5.0 < x < 5.0之间

数据集非常大,达到10GB,并且可以很容易地扩展到更大的尺寸。

我遇到的最大问题是激活函数。对于输入和输出值在-5.0 < x < 5.0范围内的数据,应该使用什么样的激活函数最好呢?

另外,如果您对这种数据集适合使用哪种类型的神经网络(如LSTM、CNN)、 dropout、隐藏层的数量、批次大小和优化器有建议,也非常欢迎分享。

尽管有大量的例子和信息,但我仍然在尝试为我的数据集调整所有这些参数时遇到了相当多的困难。


回答:

您可以使用手动拉伸的'tanh'函数。

单独使用时,’tanh’函数的输出范围在-1到+1之间。您可以通过将其乘以5(或者稍微大一点,比如5.1)来拉伸这个范围。

model.add(YourLastLayer(..., activation='tanh'))model.add(Lambda(lambda x: x * 5))

其他问题无法回答,因为我们完全不知道您的数据集是关于什么的,数据是如何组织的,它代表什么以及您想要达到的目标是什么。

不过,看起来这是一个经典的Dense(或全连接)网络的案例。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注