Deep learning, neural networks and machine learning have been the buzz words for the past few years. Surely, there is a lot that can be done using neural networks.
There has been immense research and innovation in the field of neural networks. Here are some amazing tasks that neural networks can do with extreme speed and good accuracy:
- Image classification — For example, when given images of cats and dogs, the neural network can tell which image has a cat and which has a dog.
- Object Detection — locating different objects in a given image.
- Chatbots — Neural networks can chat with humans in conversations. Neural networks can do tasks for humans based on the human’s typed request or spoken request.
- Language translation — Translating text from one language to another.
- Image generation — Generating new images of a particular type. The people in the picture below do not exist! These faces have been generated by AI!!
- Predicting stock prices
- Playing computer games
People use neural networks for numerous applications. Moreover, it is essential to note that generally, for each task a particular type of neural network that is used; that is, the neural network structure varies for different tasks.
This brings us to the question: What are neural networks?
Before we come to that, let us look at this question: What is machine learning?
Generally, when we want to predict house prices in a city like Bangalore, we have some data about different houses like
- the carpet area (in sq. ft.)
- walled area (in sq. ft.)
- house type — independent house, flat in an apartment complex, villa
- latitude and longitude (for the location of the house)
- number of floors in the house
- which floor the house is in (ground floor, 1st floor, etc.)
- facilities available — swimming pool, gym, etc.
- builder of the apartment/house
Typically, we would have a function that take the values of these features (characteristics) as input and estimate the price of the house. In other words, we already have a function that can be used to calculate the price of the houses based on these values.
Generally, we have some data and a function. We use this function to determine some quantity (house price) that we need.
However, in many cases, the data we get is new and we do not have any such function to estimate the price of the houses. We might need to take the help of experts to determine such a function. Even then, in many cases, this may not be possible to obtain easily.
In such situations, machine learning turns out to be of great value!
The machine learning (ML) algorithm is used to find the function that is mentioned here. The machine learning algorithm will take in the values of the features (the different characteristics of each house) and also the output quantity (price of the corresponding houses). It will find a function which will calculate the prices of these houses. This function will be such that the overall error between the actual house price and, the prices calculated by the function based on the features of the corresponding houses is least.
Then, this function given out by the ML algorithm can be used to predict the prices of other houses as well!