Skip to main content
deleted 2 characters in body
Source Link

In general a MLP should be capable for theyour task, but when using a neural netnets there are several thingthings one should bear in mind:

  • there are no strict rules for adjusting the hyperparameters and the whole network structure (deep andsand width) because it is strongly problem dependent

  • therefore, fiddeling with the hyperparameters is important (you could use search algorithm instead of guessing)

  • due to random initialization of the network's weights, it is worseworth to start the training multiple times to avoid unfavorable initializations

I could archiveachieve much better results with only a few manual tries by using the deep learning library Keras:

enter image description here

The main problem with the implementation of scikit-learn's MLP is the tol parameter, which prevents the solvers sgd and adam from training further. SimilarlySimilar, the solver lbfgs stops quite early. As one can see from the Keras loss plot, there is a plateau before the 'main learning' begins:

enter image description here

Furthermore you should be aware of the difference between interpolation and regression, because they address different problems. Thus SciPy griddata won't be a good choice for noisy data: How is interpolation related to the concept of regression?

My modified version of the notebook.

In general a MLP should be capable for the task, but when using a neural net there are several thing one should bear in mind:

  • there are no strict rules for adjusting the hyperparameters and the whole network structure (deep ands width) because it is strongly problem dependent

  • therefore, fiddeling with the hyperparameters is important (you could use search algorithm instead of guessing)

  • due to random initialization of the network's weights, it is worse to start the training multiple times to avoid unfavorable initializations

I could archive much better results with only a few manual tries by using the deep learning library Keras:

enter image description here

The main problem with the implementation of scikit-learn's MLP is the tol parameter, which prevents the solvers sgd and adam from training further. Similarly, the solver lbfgs stops quite early. As one can see from the Keras loss plot, there is a plateau before the 'main learning' begins:

enter image description here

Furthermore you should be aware of the difference between interpolation and regression, because they address different problems. Thus SciPy griddata won't be a good choice for noisy data: How is interpolation related to the concept of regression?

My modified version of the notebook.

In general a MLP should be capable for your task, but when using neural nets there are several things one should bear in mind:

  • there are no strict rules for adjusting the hyperparameters and the whole network structure (deep and width) because it is strongly problem dependent

  • therefore, fiddeling with the hyperparameters is important (you could use search algorithm instead of guessing)

  • due to random initialization of the network's weights, it is worth to start the training multiple times to avoid unfavorable initializations

I could achieve much better results with only a few manual tries by using the deep learning library Keras:

enter image description here

The main problem with the implementation of scikit-learn's MLP is the tol parameter, which prevents the solvers sgd and adam from training further. Similar, the solver lbfgs stops quite early. As one can see from the Keras loss plot, there is a plateau before the 'main learning' begins:

enter image description here

Furthermore you should be aware of the difference between interpolation and regression, because they address different problems. Thus SciPy griddata won't be a good choice for noisy data: How is interpolation related to the concept of regression?

My modified version of the notebook.

Source Link

In general a MLP should be capable for the task, but when using a neural net there are several thing one should bear in mind:

  • there are no strict rules for adjusting the hyperparameters and the whole network structure (deep ands width) because it is strongly problem dependent

  • therefore, fiddeling with the hyperparameters is important (you could use search algorithm instead of guessing)

  • due to random initialization of the network's weights, it is worse to start the training multiple times to avoid unfavorable initializations

I could archive much better results with only a few manual tries by using the deep learning library Keras:

enter image description here

The main problem with the implementation of scikit-learn's MLP is the tol parameter, which prevents the solvers sgd and adam from training further. Similarly, the solver lbfgs stops quite early. As one can see from the Keras loss plot, there is a plateau before the 'main learning' begins:

enter image description here

Furthermore you should be aware of the difference between interpolation and regression, because they address different problems. Thus SciPy griddata won't be a good choice for noisy data: How is interpolation related to the concept of regression?

My modified version of the notebook.