我在遗传算法中使用神经网络。神经网络有 4 个输入(和 之间的值0)1和4输出,对应于不同动作的概率。神经网络有 58 个参数。
首先,我创建了一个随机群体:每个人有 58 个随机参数。在 python 上,使用 Keras 的默认方法随机选择参数(值介于-1和之间1)。这是一个好方法吗?也许最好的解决方案需要具有高于1例如值的参数,但是使用我的方法,只有介于-1和之间的值1存在于“基因库”中。因此,例如不能出现等于 3.4 的参数。
我尝试使用标记数据和梯度下降来训练相同的神经网络,以便了解参数的范围。在训练模型之后,我得到了一些带有值的参数>1,或者<-1。我想我可以使用这些参数作为我的遗传算法的初始化。但是我怎么能得到不同的人呢?如果我的训练模型的第一个参数等于 2.5,我是否必须将不同个体的第一个参数设置2.5 +- 20%为例如?