I wrote an article “Radial Basis Function Networks for Programmers” in the October 2013 issue of MSDN Magazine. See http://msdn.microsoft.com/en-us/magazine/dn451445.aspx. A Radial Basis Function (RBF) network is a software system that is similar to a neural network. Both RBF networks and neural networks accept numeric inputs, and use an internal set of weights and bias values to produce some numeric outputs. Both RBF and neural networks are commonly used to classify data and make predictions. For example both types of networks can be configured to accept a person’s age, sex (encoded numerically with male = -1 and female = +1), and annual income, and emit numeric values such as (0.35, 0.55, 0.10) that represent the probability that the person’s political party affiliation is democrat, republican, other.
The difference between RBF and neural networks is how the systems compute their outputs. Although there are many research papers available that describe the theory of RBF networks, I couldn’t find any good articles that explained how RBF networks work, from a developer’s point of view. So, that’s why I wrote the MSDN Magazine article. My article describes the basic RBF input-process-output mechanism and presents a complete working demo written in the C# programming language.
I am working on a follow-up article that explains how to train an RBF network — find the values for the RBF network’s weights and biases so that for a set of inputs with known target outputs, the computed outputs closely match the target outputs. One of the reasons for the creation of RBF networks is that, in theory at least, RBF networks can be trained more efficiently than neural networks.