Introduction
NeuralNet is a neural network library that is great both for a beginner looking to get started quickly, and a technical expert wishing to implement their own features. It is built on the Vector<double>
and Matrix<double>
types in Math.NET Numerics.
Creating your first Neural Network
To begin, read the article on creating your first neural network. This will teach you how to make a very basic neural network, introducing you to all the key tools and concepts.
Next Steps
Once you are comfortable with the basics, start exploring the features in NeuralNetFactory
and NeuralNet
. This will introduce you to advanced concepts that have been overlooked in the previous article, such as GradientDescender
and CostFunction
.
Outside Research
Machine learning is a heavily researched and documented field, and there are lots of resources to help you learn more. Below are a list of links that taught me the technical details behind machine learning:
- Very brief overview of what a neural network is: Why do Neural Networks Need an Activation Function? (up to "What does a Neuron do?")
- The mathematics behind machine learning: 3blue1brown, machine learning playlist
- An overview of cost functions and gradient descent: Machine learning fundamentals (I): Cost functions and gradient descent
- Activation functions explained: Understanding Activation Functions in Neural Networks
- Various Gradient Descent methods compared: An overview of gradient descent optimisation algorithms