An Introduction to Neural Networks Using C#
Dr. James McCaffrey of Microsoft Research gave an interesting introduction to neural networks at the recent Build 2013 conference. While the title of the talk, “Developing Neural Networks using Visual Studio”, implies that it is Visual Studio (VS) specific, it is in fact applicable to any developer seeking to learn more about neural networks (NN). McCaffrey has a doctorate in mathematics, but in this engaging presentation he is targeting developers with a computer science background.
His approach serves as a useful introduction to the concept of neural networks, and viewers will be left with a firm foundation for further study. In his talk, McCaffrey bases his approach around the sample problem he provides which is based around predicting an individual’s political affiliation based on their age, income, sex, and religion. This was useful as it is both easy to follow and an example of a practical application for using a NN.
During the talk McCaffrey covers what he calls the seven core concepts for utilizing neural networks:
- Data encoding
- Free parameters
McCaffrey observes that many newcomers to using neural networks may be challenged by the lack of reliable documentation. McCaffrey addresses by listing what he considers to be reliable sources of information. While his enthusiasm for the subject is palpable, he tempers this reaction by also describing the strengths and weaknesses of a NN-based approach. Going further, he describes 6 alternatives to neural networks, and when they might be more suitable based on the problem that needs to be solved.
McCaffrey provides working C# code for the sample neural network presented at the end of his talk, allowing viewers to continue experimenting. This example uses the Iris flower data set, which is commonly used when testing machine learning programs. (Note that with the copy I obtained a semicolon will needed to be added to line 756 in order for the program to compile.) McCaffrey gave a similar presentation at the Microsoft Management Summit in April, but I found the one at Build to be a superset of that material and the definitive edition to watch.
What happened to Jeff Heaton?