The world is moving fast with a lot of automation happening around. We have all at one point of time wondered how our Google searches are reflected in our YouTube video recommendations, LinkedIn job recommendations, Facebook post suggestions and so on.
The basis of these predictive models is data analysis leveraging a complex network of data inputs across systems for a particular user. Inspired by the biological neuron networks which are studied for years, the same principles are applied to create artificial neural network systems. The most common and basic forms being, Feed Forward Neural Network systems, also called, deep feedforward networks or multi-layer perceptrons.
Being the simplest form of neural network systems it forms the basis of advanced neural networks including convolutional neural networks, recurrent neural networks and so on. This system is called Feed-forward network system because the data flow is only forward, without any looping. The system also requires constant monitoring.
Let us now understand the functioning of these neural network systems. This has several input points, with a lot many hidden layers, formed by bias criteria and then a single output. As mentioned before, this does not have any looping. The diagram below should provide a fair idea of its structure.

Each of the unit/layer indicated above functions by stage-wise data processing and learning so as the output is customized based on the bias provided in the hidden layer. The parts of this network can be individually described as:
1.Input layer: Consisting of neurons that receive inputs from the attributes of a data set and pass them on to the other layers.
2.Output layer: This is the predicted feature that depends on the algorithm built.
3.Hidden layer: The layer describing the biases, conditions, depending on which the output would differ in each case.
4.Neuron weights: Weights correlate the strength or amplitude of a connection between two neurons.
The easiest form of a Feed Forward Neural Network is a single layer “perceptron”. In this model, a series of inputs are fed to the first layer, which are then multiplied by the weights. Adding each of those values,we get a sum of the weighted input values. A threshold is pre-decided and if the sum is above the threshold, the value produced is considered 1, if it is below the threshold, it is -1. An example for this system is the prediction of rainfall for a given day.
Let us now understand how these neural networks are updated, optimized, developed and trained further. The most popular means of optimizing a feed-forward neural network is by using a “gradient descent”. As the term describes, this technique usesquantity change of output obtained when the inputs change a little. Mathematically, this can also be defined as a slope of a function. Providing higher angles with steeper slopes helps the model learn faster.
Unsupervised learning happens when training data does not include the desired outputs. In Unsupervised learning, algorithms are tasked with identifying patterns in data, trying to spot similarities and variances, and categorize them into segments. An example is clustering. Its quality of learning is not guaranteed.
Not only the process, but the output is also optimized time and again, using a method called “back-propagation”. This is basically calculating all the errors during the training sets and updating the weights based on the nature of the error and their individual contribution to the output. One such cycle of valuation of error and feeding the algorithm with adjustments is called an “epoch”. A network may be trained for thousands of such epochs.
Now that we have learnt the structure and functions of Feed-forward neural network (ffNN) systems, let us also learn their applications. These systems are especially used in the predictive modelling systems. A few examples are:
Marketing and sales: Predictive models are fed to the systems which enhance a user experience while using several applications, including search engines, social media platforms etc. This is leveraged by various businesses to target their ads and promos to interested personnel. This model also provides appropriate search suggestions, “People You May Know” features, youtube video suggestions among others.
Predictive functions: Tools that make weather predictions, stock market predictions, text predictions in our email and search engines and many more use ffNN protocols. Other areas of applications include, data compression, pattern recognition,speech and handwriting recognition, using which we can communicate which technological devices, including cars, mobile phones and homesecurity systems.
Health and medicine: These neural network systems make it easy to monitor our health and well-being on a day to day basis. Several wearable devices are integrated with the same systems. This technology also enables doctors and physicians with medical models of disease progression, computer vision tests and corrective suggestions, and many more.
Military applications: These modelling systems help recognize long range targets, including sonar target recognition, drone applications and several similar technological ventures, thus advancing along the military space.
These systems also form the basis for quantum computers, which hold great promises for the future, along with artificial intelligence and biometric spaces.
With this basic understanding of these neural network systems, let us now move towards the building of these. A variety of languages are compatible for building neural networks such as Python, Java, C++, Matlab and others, but the language that is most widely used is Python. The steps include:
• Initialize Network – This steps decides the inputs, biases and their individual weights
• Forward Propagate - This is further divided into neuron activation, neuron transfer and forward propagation. The program is run and the output is observed in this step.
• Back Propagate Error – Errors in outputs are studied and each of the nodes resulting errors and their respective attributes are weighed and fed back into the algorithm.
• Train Network – Multiple rounds of forward propagation and back propagation are done to train the system.