What is machine learning?
In essence, it is a method of teaching computers to make and improve forecasts or behavior based on some data. What is this “data"? Well, that depends entirely on the problem. This may be indications from the sensors of the robot when it learns to walk, or the correct output of the program for a specific input.
Another way to think about mechanical learning is that it is "pattern recognition" - the act of teaching a program to respond or recognize patterns.
What does machine learning code do?
Depending on the type of machine learning you are talking about. Machine learning is a huge field, with hundreds of different algorithms to solve many different problems - see Wikipedia for more information; in particular, see Types of Algorithms .
When we say that a machine finds out, does it modify the code itself or changes the history (database), which will contain the code experience for a given set of inputs?
And again it depends.
One example of modifiable code: Genetic programming , where you essentially develop a program to accomplish a task (of course, the program doesn't change itself, but it modifies another computer program).
Neural networks , on the other hand, automatically change their parameters in response to prepared stimuli and the expected response. This allows them to create many models of behavior (theoretically they can produce any behavior, because they can bring any function closer to arbitrary accuracy, given enough time).
It should be noted that the use of the term “database” means that machine learning algorithms work by “storing” information, events, or events. This is not a necessary (or even often!) Case.
Neural networks, which I already mentioned, support only the current “state” of approximation, which is updated as it is trained. Instead of remembering what happened and how to react to it, neural networks create a kind of “model” of their “world”. The model tells them how to respond to certain inputs, even if the inputs are something that he has never seen before.
This last ability - the ability to respond to inputs that have never been seen before - is one of the basic principles of many machine learning algorithms. Imagine that you are trying to teach a computer driver to navigate traffic roads. Using the "database" metaphor, you must teach the computer exactly what to do in millions of possible situations. An effective machine learning algorithm (hopefully!) Can recognize the similarities between different states and respond to them in a similar way.
The similarity between the states can be anything - even those things that we could consider “ordinary” can really outshine the computer! For example, let's say that the computer driver found out that when the car in front of him slowed down, he had to slow down. For a person, replacing a car with a motorcycle does not change anything - we recognize that a motorcycle is also a vehicle. For a machine learning algorithm, this can really be surprisingly difficult! The database should store information separately about when the car is in front and where the motorcycle is in front. On the other hand, the machine learning algorithm “learned” from the example of a car and could automatically generalize the example of a motorcycle.