https://javascript.plainenglish.io/mastering-neural-networks-with-javascript-a-step-by-step-guide-f8b3dc2642ae