What is Machine learning?
Machine learning is a term that is taken from the real world of a person, and applied on something that can’t actually learn – a machine. Like we humans as we grow up our life experiences grows and based on that our ablity to take better decision also grows, similarly machine learning can be considered as a computer program that is said to learn in the context of performing a task if its performance with respect to some measure improves with experience.
IT is a method of teaching computers to make and improve predictions or behaviors based on some data. Today machine learning is primaryly used to extract hidden information from the petabytes of data that is being generated through internet. All the big tech giants are using the machine learning concepts to enhance their market. For example,google news collects all the information from different news websites ,classifies it and shows it on the news.google.com.
Driverless car is the biggest example of large scale machine learning application, where all the sorts of scenarios which usually the human driver would face and driver reaction is taught to the machine, based on these reactions, car would than automatically learn and apply most feasable action when on road.
Few areas of use are:
Identification of spam messages.
What does machine learning code do ?
Machine learning is a huge field, with hundreds of different algorithms for solving myriad different problems – see Wikipedia for more information; specifically, look under Algorithm Types.
When we say machine learns, does it modify the code of itself or it modifies history (Data Base) which will contain the experience of code for given set of inputs ?
Once again, it depends.
One example of code actually being modified is Genetic Programming, where you essentially evolve a program to complete a task (of course, the program doesn’t modify itself – but it does modify another computer program).
Neural networks, on the other hand, modify their parameters automatically in response to prepared stimuli and expected response. This allows them to produce many behaviors (theoretically, they can produce any behavior because they can approximate any function to an arbitrary precision, given enough time).
I should note that your use of the term “database” implies that machine learning algorithms work by “remembering” information, events, or experiences. This is not necessarily (or even often!) the case.
Neural networks, which I already mentioned, only keep the current “state” of the approximation, which is updated as learning occurs. Rather than remembering what happened and how to react to it, neural networks build a sort of “model” of their “world.” The model tells them how to react to certain inputs, even if the inputs are something that it has never seen before.
This ability to react to inputs that have never been seen before – is one of the core tenets of many machine learning algorithms. Imagine trying to teach a computer driver to navigate highways in traffic. Using your “database” metaphor, you would have to teach the computer exactly what to do in millions of possible situations. An effective machine learning algorithm would (hopefully!) be able to learn similarities between different states and react to them similarly.
The similarities between states can be anything – even things we might think of as “mundane” can really trip up a computer! For example, let’s say that the computer driver learned that when a car in front of it slowed down, it had to slow down to. For a human, replacing the car with a motorcycle doesn’t change anything – we recognize that the motorcycle is also a vehicle. For a machine learning algorithm, this can actually be surprisingly difficult! A database would have to store information separately about the case where a car is in front and where a motorcycle is in front. A machine learning algorithm, on the other hand, would “learn” from the car example and be able to generalize to the motorcycle example automatically.