It’s been a while since I played with Machine Learning and AI. Last time I was using C++, this time I used Python & Numpy.
A world of difference: although I no longer can find the C++ hack, I know fore sure that it had very many more lines of code, and in general was more complex to write than doing it in Python with Numpy. Particularly Numpy’s array broadcasting makes manipulation of huge matrices very convenient, compared to writing the corresponding low level code. Of course, the C++ version run much quicker, but for non-industrial use it’s much more convenient to use Python.
Anyways: the target detection capability of this Neural Network, trained by 500 iterations, on 200 samples, where half the samples are non-targets, i.e. noise, while the other half of data is targets, i.e non-random signals (think sonars trying to determine whether a sound is a submarine or something else) is impressive.
The graph below shows the target detection capability of this neural network on a set of 10000 data points (think ping returns), after the network has been properly trained (“Machine Learning”). Half of the data points it will attempt to classify (the first 5000) are noise, the rest of them are signal, i.e real Targets (“submarines”).
The network is capable of making a perfect separation of targets vs non-targets, despite a fairly limited number of training samples and training iterations.
Rest assured that Machine Learning & AI will result in HUGE changes for society!