0

我有一个进化神经网络群体的遗传算法

到目前为止,我使用 random.randn (Python) 对权重或偏差进行突变,它是来自均值 = 0 的正态分布的随机值

它工作“很好”,我设法使用它来实现我的项目,在给定的时间间隔内使用均匀分布不是更好吗?

我的直觉是它会导致我的网络更加多样化

4

1 回答 1

1

我认为,这个问题没有简单的解决方案。在正态分布的情况下,平均值周围的数字有更多机会被您的数字生成器“选择”,均匀分布为所有数字提供几乎相等的机会。这很清楚,但对问题的回答,机会均等意味着更好的结果,据我说,这只是在经验实验中。所以我建议你进行正态分布和均匀分布的实验,尝试根据结果来判断。

关于品种。我假设您创建了一些代表权重的随机向量。在突变阶段,您执行随机数的加法。这个数字更有可能来自均值附近的紧密区间,因此在高概率的 0 突变的情况下,某些元素的变化很小。因此,对矢量的改进只会很小,有时会出现一些大问题。在均匀分布的情况下,变化会更加随机,从而导致个体不同。问题是,这些人会更好吗?我不知道,但我给你另一种观点。我把遗传算法看作是进化论的类比。而从这个角度来看,个人的累积小改进,发生大变化的可能性很小,更为合适。想想情况,用的是均匀分布,但是孩子因为变化大,适应度低,所以不会选择在创造新一代的阶段。而且您将等待很长时间才能使您的网络取得良好效果的微小改进。

也许还有一件事。您的实验可能表明均匀/正态分布更好。但是这样的结果可能只适用于您当前的问题,一般情况下不会。

于 2018-11-03T19:00:39.053 回答