Nowadays I’ve been mostly coding in ruby at work and in my free time at agreelist.org, but I’m learning deep learning by means of Andrew Ng’s Coursera specialization and I love it.
Basically, a neural network (NN) is a box (function) which predicts a result:
For example, X is an image and Yhat is the prediction (cat or no cat).
In this case, X is a vector with all the pixels of the image:
Before being able to use it, we need to train the neural network with a group of images that are previously labeled as cat or not (training data). The training process finds a function that maps (X, Y) and provides the parameters W and b: