An Introduction to Neural Networks Using C#

by Jeff Martin on Jul 09, 2013 |

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: 

  • Feed-forward
  • Activation
  • Data encoding
  • Error
  • Training
  • Free parameters
  •  Over-fitting


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.


Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

What happened to Jeff Heaton? by Richard Clayton

No offense to Dr. McCaffrey, but Jeff Heaton's provided incredible Neural Network documentation in both .NET and Java for years ( I don't know why he thinks there is a lack of "reliable documentation".

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss
General Feedback
Marketing and all content copyright © 2006-2016 C4Media Inc. hosted at Contegix, the best ISP we've ever worked with.
Privacy policy

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.