I try PPN network in Encog:
PNNOutputMode mode = PNNOutputMode.Regression;
BasicPNN network = new BasicPNN(PNNKernelType.Gaussian, mode, 10, 1);
TrainBasicPNN train = new TrainBasicPNN(network, dataSet);
train.Iteration();
I thought class GlobalMinimumSearch in TrainBasicPNN should find optimal sigma. But if I look at sigmas after training, they have all the same value 0.001 which is very low and network doesnt predict correctly on new data (I get outputs which are all the same). If I try predict on training dataset then it works correctly, beacuse vectors are the same as centers in PNN and low sigmas are not a problem. I even tried to change starting low sigma:
train.SigmaLow = 3;
This is gave me final sigmas something like 0.004, which is still low. What am I doing wrong?
More about this bug https://github.com/encog/encog-java-core/issues/188. Bug is in both versions (C# and Java).