Neural networks are a computation method which is used to create an algorithm which can learn skills from the data that you give it. There are an infinite amount of tasks which you can train a neural network to do. Some examples may be: teaching the neural network to tell whether a given image is a cat or a dog, teaching it how to predict a house’s price based on given information such as its square footage, distance from a city, number of bedrooms etc, or even teaching it how to classify types of cancer given images of cells. But to understand specifically how neural networks work, we have to first understand the general picture.

Above is an example of a neural network. All basic neural networks take this form, in which they have an input layer, a series of layers in between to increase its capacity for solving complex problems, and an output layer.

This entire neural network takes in an input through the input layer (such as the characteristics of a house), does calculations in the middle (hidden layers) and eventually passes an output through the output layer (the predicted price of the house).

This is an emergent property of the individual neurons. Just like the neurons, each of the nodes (blue circles) themselves have an input, a computation, and an output. When a number enters the neural network through the input layer (number x), it is sent to a bunch of other neurons in the first hidden layer through the edges (black) shown in the diagram. Each of these edges have weights (w) that multiply this number and magnify it a certain amount. So as the number arrives at the first layer of nodes, it really takes the form of w * x. Each node in the first hidden layer adds its own number (b) to this input, what we call bias. So as a number in a neural network travels through an edge and a node, it is multiplied by the weight of that edge and added the bias of that node taking the form wx + b.

As this method is repeated in neural networks (usually, this is the method that is repeated over and over no matter where you are in the network), these neural networks are able to perform complex calculations if the weights and biases are set correctly.

## Comments