Good stuff.<p>quick q: why do you call this a hopfield network? I see you have a fully connected 2 layer neural network (0 hidden layers): <a href="https://github.com/mateogianolio/hopfield-color-recognition/blob/master/network.js#L5" rel="nofollow">https://github.com/mateogianolio/hopfield-color-recognition/...</a><p>instead of a bunch of circularly connected perceptrons: <a href="http://en.wikipedia.org/wiki/Hopfield_network#mediaviewer/File:Hopfield-net.png" rel="nofollow">http://en.wikipedia.org/wiki/Hopfield_network#mediaviewer/Fi...</a><p>p.s. it looks like the library you're using has a built in Hopfield network `new Architect.Hopfield(10)` (at the bottom: [here](<a href="https://www.npmjs.com/package/synaptic)" rel="nofollow">https://www.npmjs.com/package/synaptic)</a>), why didn't you use this?
I don't get it. If you trained to recognize black and white, why did it find such a complex pattern where there were clearly none in the first example? Isn't it an example that it failed?