Deep Learning Fundamentals Part 1
Deep Learning (specifically Neural Networks) is a subset of Machine Learning. So let's first look at what is Machine Learning. Then we will move on to Deep Learning.
What is Machine Learning ?
It is the practice of using algorithms to analyze data, learn from data and then make a determination or prediction about new data.
How Machine Learning differs from Traditional programming ?
Let's look at an example to understand this. Sentiment analysis on a piece of text from any media source.
Traditional programming approach:
1. The algorithm might have a list of words associated with positive sentiment like happily, great, amazing, thankfully, etc and a list of words associated with negative sentiment like sorry, regret, unfortunately, etc.
2. Then the algorithm might look for these words in the piece of input text and whichever list has most tallied words, the algorithm might classify the overall sentiment to be corresponding to that list.
Machine Learning approach:
1. The algorithm would analyzes large amount of data from varied media sources and learn the features of positive and negative articles by itself without the programmer explicitly telling the algorithm what to look for.
2. Based on these learned featured the algorithm then might classify new articles as positive or negative.
What is Deep Learning ?
Deep Learning is a fancy name for Artificial Neural Networks with a lot of hidden layers (sorry to disappoint you 😐).
An Artificial Neural Network has three kinds of layers :
input layer, hidden layers and output layer. Each of these layers is a collection of neurons or units and each of these neurons is connected to neurons from the layer before it and the layer after it. These neurons process the signal received from the neurons of the previous layer and pass on the processed information to the neurons of the layer ahead of it.

In figure 1 if we stack multiple hidden layers together voila we get a deep neural network.
How do we build these Deep Neural Networks ?
I will be showing you code snippets using the Keras neural networks framework and will keep providing links to the github repo as we go along.
'Dense' is a kind of layer (one of many) which connects all it's input signals to all it's output signal just like the one shown in Fig.1
