擅长:python、mysql、java
<p>以下是一些可能导致不良结果的因素:</p>
<ol>
<li><p>你的突变率太高了。每个基因40%意味着每10个基因每个个体平均会有4个变化。实际上,你应该选择突变率,使每一代在整个群体中只引入很少的突变。</p></li>
<li><p>你的<code>cross</code>功能在选择的父母之间交换基因,而不是让父母保持不变,将父母双方的部分基因复制给新创造的孩子。</p></li>
<li><p>如果你使一个基因突变,你就用一个新的独立随机变量来代替它。这是无效的,因为它使得算法运行的环境非常粗糙。如果只向原始值添加小的随机变量,例如在范围[-0.1,0.1]范围内,则可以获得更平滑的景观和更好的拟合效果。</p></li>
<li><p>与其为基因组选择一个交叉点,不如在双亲之间完全随机地选择基因,因为基因的顺序在你的模型中没有意义。</p></li>
<li><p>你等待的时间不够长,10代人不会带你走远。</p></li>
<li><p>据我所见,你没有正确地测量健身增益。你应该打印出人口的平均健康状况(可能是最好的健康状况或前10名的平均值)。</p></li>
</ol>