OWL - neural network

Hi guys,
I have just started learning OWL and its components for machine learning. I am working on a simple exercise to find out the influence of size, time, date and day on the number of likes on Facebook posts.

I have tried to train the neural network to give me the optimal result but I don’t think it has been trained rightly. As in the end, the number of likes just increase with respect to size, time, date and day. There is no randomness seen as you can see in the internalized data, so I don’t think the approach I have taken to train the tensor is working.

I am attaching here with the grasshopper file. I hope I could make myself clear. It would be really nice if anyone of you could just have a look at the script and see if its working or not.

Kedar machineLearning3.gh (24.4 KB)

It seems the data you’re feeding the network with is not normalized. Please remap the numbers (before making the tensors) to 0-1 domain. The output of the network will of course have to be remapped back to the initial output domain.
Second - your network has 5 layers. I would stick with 3 layers for the first try (4 inputs + 6 hidden neurons + 1 output neuron).
Third - with a small network you can initialize the Alpha value to 2 (the default value).

You have 50-ish samples in your training set… you could produce some more samples artificially by adding a random noise to them (there is a component for that in Owl). This would additionally prevent the network from overfitting.

Thank you so much for the reply Mateusz. Yes, I have 49 samples, I will try to reproduce some more artificially. So, is this why the network is not getting trained cause I have fewer values?

Also, I did step one, two and three as you have mentioned. The output value seems to be a bit better now but I am not sure if this is right or wrong. It would be really helpful if you could take a look at the new script.

machineLearning4.gh (25.9 KB)