This is the source code I created way back in 1999 to build a basic Kohonen Neural Network. This code went on to form the server side engine of the Virtual Bodies Project.
The code is provided as is and available under the MIT license, but do please respect copyright. If you wish to use it please do - however remember to keep credit where credit is due.
You can read more about this code here [www.samhill.uk/kohonen] and the Virtual Bodies Project itself, plus please visit my website at www.samhill.uk
Back in 1999 (as a young Software Developer) I wrote one of the very first online demonstrations of API driven server based Kohonen Neural Networks that were used to process natural language speech input from users and determine what they wanted to do and then trigger various ongoing activities. Basically a client application called into a data centre hosted server via an API and requested the best response to give.
Now around 20 years later this is finally becoming common place ideas and concepts through devices like Google Home, Alexa and siri however at the time this was ground breaking brand new research in this space and how the internet could be used.
The Kohonen Neural Network is a development of the "percepton" network developed by Rosenblatt in 1962. Both networks make use of artificial neurons which are electrical simulations of biological ones - the core component of a brain. These artificial neurons are mathematical abstractions and aim to emulate the functionality of the neurons through computational code, this artificial abstraction is often termed neuro-computing, this term is used since neuro-computing is fundamentally different to digital computing.
Neurons are what makes a brain a much more powerful processor than a computer, this is because by careful organisation of the neurons, the brain can operate much more efficiently than the most powerful of today’s computers. A neuron on its own is an incredibly simple object. It is made up of an input, and operator and an output in its basic form.
This is written in Java (version 1.2 at the time in 1999, I think) so may or may not now compile, it used an applet as a means of a GUI which was fine at the time but less ideal now.
There are three main classes: Neuron, Network (kohonen) and Brain which combine together - a brain contains one or more networks which is made up o a matrix of neurons who hold weighted relationships with each other to store data an infer outputs based on fuzzy inputs.