Machine Learning is a process of training a computer algorithm to properly classify future inputs after having trained the algorithm with sample data.
Tom M. Mitchell provided a widely quoted definition: "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E."
A program is first trained with known inputs, and "learns" these patterns through one or more statistical methods. Then it can classify new input based on the inputs it has seen before. Machine Learning is often used in computer vision to classify images. 
Ray Solomonoff published the first report on non-semantic machine learning in 1956, titled "An Inductive Inference Machine." He also was a pioneer in algorithmic probability, publishing several papers in the 1960s. It wasn't until the late 1970s that machine learning started emerging as a more focused field of study in computer vision. Machine learning has also been applied in many other fields such as natural language processing, speech and handwriting recognition, and sentiment analysis.
A program can be trained from security camera images to recognize whether a person is present in the frame. Someone would first train the program by giving it several images without a person present in the frame as the negative input, and then give it several images with a person in the frame as the positive input. The program would then be able to classify future images it is given with reasonable accuracy. This would allow a computer to take an action based on whether it sees a person or not.
More recently, machine learning has been applied to create search engine algorithms. Researchers at Cornell University created a prototype, STRIVER, which improves its results over time based on which results the visitor clicks on.
- Mitchell, T. (1997). Machine Learning, McGraw Hill. ISBN 0-07-042807-7, p.2.
- Machine Learning in Computer Vision. Ajay Joshi, Anoop Cherian and Ravishankar Shivalingam. Dept. of Computer Science, University of Minnesota