在神经网络中计算权重

我目前正在尝试使用遗传算法进行训练,并使用Sigmoid激活函数来实现我的第一个神经网络。一切进展顺利,但我不太确定权重的范围应该设定在什么区间。我已经搜索了一些相关问题,但没有找到答案。如何选择神经网络中权重的范围?这取决于什么因素?


回答:

权重可以被视为你使用GA/NN方法试图解决的问题的内在属性;这些没有普遍的最佳值,因此你最好在其他参数固定的情况下,研究不同权重范围(相对于训练集)。

例如,研究参数weightSpan的不同设置:

weights \in [-weightSpan/2, weightSpan/2], 

让你的初始染色体描述在这个范围内的随机化权重值。你的压缩函数(Sigmoid)用于将神经网络的响应评分到[0, 1]的范围内。

找到合适的权重范围,就像设置隐藏层数量的值一样,是一个问题特定的测试过程。(“没有免费的午餐”)。


编辑:

我想补充一点,研究不同权重范围的最简单方法可能是设定一个固定的权重范围,比如[-1, 1],然后研究你的压缩函数(Sigmoid)中的压缩常数。即,研究Sigmoid中常数c的不同(非负)值

σ(s) = 1 / (1 + e^(-c*s))

Related Posts

L1-L2正则化的不同系数

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

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

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

f1_score metric in lightgbm

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

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

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

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

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

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

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

发表回复

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