我正在使用NEAT-Python来模拟基于曲线与 0 的绝对差异的常规正弦函数的过程。配置文件几乎完全采用了基本的 XOR 示例,但输入的数量设置为1. 偏移的方向是在实际预测步骤之后立即从原始数据中推断出来的,所以这实际上就是预测范围内的偏移[0, 1]。
适应度函数和大部分剩余代码也已从帮助页面中采用,这就是为什么我相当有信心从技术角度来看代码是一致的。从下面包含的观察到的与预测的偏移的可视化中可以看出,该模型在大多数情况下产生了相当好的结果。但是,它无法捕获值范围的下限和上限。
任何有关如何提高算法性能的帮助,特别是在下/上边缘,将不胜感激。或者到目前为止我还没有考虑到任何有条理的限制吗?
config-feedforward 位于当前工作目录:
#--- parameters for the XOR-2 experiment ---#
[NEAT]
fitness_criterion = max
fitness_threshold = 3.9
pop_size = 150
reset_on_extinction = False
[DefaultGenome]
# node activation options
activation_default = sigmoid
activation_mutate_rate = 0.0
activation_options = sigmoid
# node aggregation options
aggregation_default = sum
aggregation_mutate_rate = 0.0
aggregation_options = sum
# node bias options
bias_init_mean = 0.0
bias_init_stdev = 1.0
bias_max_value = 30.0
bias_min_value = -30.0
bias_mutate_power = 0.5
bias_mutate_rate = 0.7
bias_replace_rate = 0.1
# genome compatibility options
compatibility_disjoint_coefficient = 1.0
compatibility_weight_coefficient = 0.5
# connection add/remove rates
conn_add_prob = 0.5
conn_delete_prob = 0.5
# connection enable options
enabled_default = True
enabled_mutate_rate = 0.01
feed_forward = True
initial_connection = full
# node add/remove rates
node_add_prob = 0.2
node_delete_prob = 0.2
# network parameters
num_hidden = 0
num_inputs = 1
num_outputs = 1
# node response options
response_init_mean = 1.0
response_init_stdev = 0.0
response_max_value = 30.0
response_min_value = -30.0
response_mutate_power = 0.0
response_mutate_rate = 0.0
response_replace_rate = 0.0
# connection weight options
weight_init_mean = 0.0
weight_init_stdev = 1.0
weight_max_value = 30
weight_min_value = -30
weight_mutate_power = 0.5
weight_mutate_rate = 0.8
weight_replace_rate = 0.1
[DefaultSpeciesSet]
compatibility_threshold = 3.0
白板的微信
相关分类