According to Arthur Samuel, two things are needed for machines to learn:
- A performance metric
- A way to update the parameters of the system according to the performance metric
Having these two things, we can iteratively assess the performance of the system, and then update its parameters for it to improve at the task at hand.
The idea being, of course, that at each step, the system improves at the task, “learning” what needs to be done.
Quote from Mr. Samuel:
Suppose we arrange for some automatic means of testing the effectiveness of any current weight assignment in terms of actual performance and provide a mechanism for altering the weight assignment so as to maximize the performance. We need not go into the details of such a procedure to see that it could be made entirely automatic and to see that a machine so programmed would “learn” from its experience.