How to Train a Machine Learning Radial Basis Function Network Using C#

I wrote an article titled “How to Train a Machine Learning Radial Basis Function Network Using C#” in the March 2020 edition of Visual Studio Magazine. See https://visualstudiomagazine.com/articles/2020/03/19/train-radial-basis-function.aspx.



A radial basis function network (RBF network) is a software system that is similar to a single hidden layer neural network. In the article I explain how to train an RBF network classifier. I used the C# language for the demo.

The demo set up a 2-15-3 RBF network — there are two input nodes, 15 hidden nodes, and three output nodes. I set up 28 dummy training items. Each item has two predictor varables and the class to predict is one-hot encoded as (1, 0, 0), (0, 1, 0), or (0, 0, 1).




Somewhat weirdly, there is very little information available on RBF training so I had to experiment quite a bit. In the end, I used a form of online stochastic gradient descent.



In my opinion, there is no solid research evidence to indicate that RBF networks are better than, worse than, or about the same as standard single hidden layer neural networks. One possible use of RBF networks is as part of an ensemble approach. For example, you can create and train a standard neural network model and an RBF network model, and then combine the predictions made by each system for a consensus prediction.



Three paintings by artist Fabien Clesse (b. 1962). They all have a radial design theme.

This entry was posted in Machine Learning. Bookmark the permalink.