我正在学习NEAT(增强拓扑的神经进化),并且我正在尝试用C ++实现它,我不知道什么是良好的兼容性阈值,请你推荐一个,以及c1,c2和c3(参见论文中的距离函数(δ)(第13页):http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf)
答案 0 :(得分:0)
应根据您的问题以及为NEAT实现设置的其他变量来选择兼容性阈值以及变量c1,c2和c3。相容性阈值越大,种类越少。如果您的人口很小,这可能就是您想要的,因为您不希望将已经很小的人口进一步分割。但是,如果您的种群数量确实很大,您可以负担更多的物种。要注意的另一件事是,通常,c1和c2应该始终设置为同一事物,因为不相交和多余基因的行为方式没有任何区别。现在,您要做的就是确定每个网络的权重可计入物种形成的数量。以我的经验,这只能通过反复试验来调整。