我正在尝试建立和培训一个多层感知神经网络,该网络正确预测总统第一次赢得了什么县。我有以下培训数据的信息。

总人口中值年龄%单位居住或更高的失业率人均收入总收入家庭平均家庭规模%的家庭规模百分比所有者占用房屋%租用者占用住房中位房屋中位房屋价值房屋价值人口增长房屋持有人均收入增长赢家

那是14列训练数据,第15列是输出的本应有的。

我正在尝试使用KERAS构建多层感知神经网络,但是我需要一些帮助理解一些属性和选择这些属性的不同选项的利弊。

  1. 激活函数

我知道我的第一步是提出激活功能。我一直研究神经网络使用Sigmoid激活功能。 Sigmoid激活功能是最好的吗?您怎么知道要使用哪一个? KERAS还提供了使用SoftMax,SoftPlus,Relu,Tanh,Linear或Hard_sigmoid激活函数的选项。我可以使用任何东西,但是我只想能够理解为什么以及利弊。

  1. 概率初始化

我知道初始化定义了用于设置凯拉斯层的初始随机权重的概率分布。 Keras给出的选项是统一的lecun_uniform,正常,身份,正交,零,glorot_normal,glorot_uniform,he_normal和he__uniform。我的选择如何影响我的最终结果或模型?这不重要,因为我们正在“训练”我们开始的任何随机模型,无论如何都会提出更优化的层?

有帮助吗?

解决方案

1)激活是一种体系结构选择,归结为超参数选择。您可以对使用任何功能进行理论论点,但是确定此功能的最佳方法是尝试多个功能并在验证集上进行评估。还要记住您可以混合和匹配各种层的激活。

2)从理论上讲,如果您的数据表现得很好并且网络理想,那么许多随机初始化将相同。但是在实践中,初始化试图确保梯度开始合理,并且信号可以正确地传播。在这种情况下,这些初始化中的任何一个都可能相似,但是最好的方法是尝试一下,如果您获得不良结果,则切换。

许可以下: CC-BY-SA归因
scroll top