是否可以在 encog 中指定最小和最大权重值?
Is it possible to specify minimum and maximum weight values in encog?
我试图指定 BasicNetwork 的最小和最大权重约束,但我就是找不到实现它的方法。是否可以设置这些约束条件?
您可以这样做,以下代码将权重限制在 -10 和 +10 之间。您可以将其直接放入 HelloWorldXOR 示例中。 flat.getWeights只是权重的一维数组,因此您可以根据需要修改它们。
VectorAlgebra va = new VectorAlgebra();
FlatNetwork flat = network.getFlat();
do {
train.iteration();
va.clampComponents(flat.getWeights(), 5);
System.out.println("Epoch #" + epoch + " Error:" + train.getError());
epoch++;
} while(train.getError() > 0.01);
我试图指定 BasicNetwork 的最小和最大权重约束,但我就是找不到实现它的方法。是否可以设置这些约束条件?
您可以这样做,以下代码将权重限制在 -10 和 +10 之间。您可以将其直接放入 HelloWorldXOR 示例中。 flat.getWeights只是权重的一维数组,因此您可以根据需要修改它们。
VectorAlgebra va = new VectorAlgebra();
FlatNetwork flat = network.getFlat();
do {
train.iteration();
va.clampComponents(flat.getWeights(), 5);
System.out.println("Epoch #" + epoch + " Error:" + train.getError());
epoch++;
} while(train.getError() > 0.01);