Neural network is a means of doing machine learning, in which a computer learns to perform some task by analyzing training examples. Its design closely resembles human brain and consists of nodes and its connections. Data is fed into the neural network using a training set, which is previously verified and as the neural network process data, some nodes and connections develop more weights or importance and overall develop the capability to handle similar data other than the training set.
To make the concept simple, consider a grass field with different paths. As people travel more and more through different paths, paths develop characters, like some will not have any grass at all, some may be broad and wider because more people waked through it, some paths may be never used at all. If you just take a look from above, you can clearly see paths which can be used or not used, from the amount of grass each path has. If the paths are intersecting, you can see which path is less used and more used. And if you are asked to start from one edge of the field and reach to another edge of the field, all you need to do is look at the path. You can choose a proven path or a long path, or a short path, or maybe a path that was never used and pick up a path that best suits your need. Even if you don’t have a map of the field, you can follow the path and still get to the end efficiently, following the trail.
Why Neural Network is relevant today
Neural network has been there since 1944, but its applications were limited, largely due to the availability of computing power. As computers evolved, became cheaper more progress were made. With the development of cloud computing, Neural networks, where were once only used in scientific research, became available, easy to use and incorporate in software programs. With the explosion of data due to internet and other technologies like Internet of Things, data analysis became more and more challenging with traditional tools. With the adoption of Neural Network and Machine learning, it became easier to analyze data in real-time. At present, almost all application programs are incorporating some form of machine learning into it, thereby bettering the software and its purpose as it is used. On the business side, historic data is being used to predict future outcomes.
Where (in practical / real world) is this concept applied. We need to give couple of examples
If you have used services like google, amazon or Netflix, that chances are that you already experienced the neural networks at work. Google and Amazon uses neural networks to give you relevant search results, Netflix gives you movie or show suggestions depending on your taste.
In the backend, google is able to optimize the product that you are using, based on your usage behavior.
Amazon is able to suggest and market your products, that may be of interest to you, but you did not search, based on your previous purchases and search behavior.
How will someone implement this in software.
Neural network has become easy to use with the advancement in frameworks such as tensorflow, sci-kit, keras etc, which can be easily used with existing application software. Mostly coded in python, these frameworks can be included in any programming languages using existing wrapper codes. For large scale use, cloud services can be used, and now cloud providers are giving it as an easy to use service.