To train a neural network, firstly we need to design a good and efficient idea.

There are three types of learning tasks.

- Supervised Learning
- Reinforcement Learning
- Unsupervised Learning

In this present time, unsupervised learning is very popular.Unsupervised Learning is a deep learning task of inferring a function to describe hidden structure from "unlabeled" data (a classification or categorization is not included in the observations).

Since the examples given to the learner are unlabeled, there is no evaluation of the accuracy of the structure that is output by the relevant algorithm—which is one way of distinguishing unsupervised learning from Supervised Learning and Reinforcement Learning.

There are three types of Unsupervised learning.

- Restricted Boltzmann Machines
- Sparse Coding Model
- Autoencoders

I will describe in detail of autoencoder.

The aim of an autoencoder is to learn a representation (encoding) for a set of data, typically for the purpose of dimensionality reduction.

The simplest form of an autoencoder is a feedforward, having an input layer, an output layer and one or more hidden layers connecting them.

But with the output layer having the same number of nodes as the input layer, and with the purpose of reconstructing its own inputs and that’s why it is called unsupervised learning.

Now I will try to give an example of training neural network.

Here Xi is input, W is weight, f(e) is activation function and y is output.

Now we see step by step flow of training neural network based on autoencoder.

We calculate every activation function’s value with this equation: y=WiXi.

First of all, we randomly pick numbers for weights and then try to adjust that weights.

Now, we calculate deviation from our desired output, that is y=z-y and calculate every activation function’s deviations.

Then we adjust our new weight of every connections.

if you want to reproduce, please indicate the source:

machine-learning – Short brief of Deep learning - CodeDay