Machine learning

Machine learning gives computers the ability to learn without being explicitly programmed (Arthur Samuel, 1959).John McCarthy & Edward Feigenbaum 1990. In Memoriam Arthur Samuel: pioneer in machine learning. AI Magazine. AAAI. 11 (3).  It is a subfield of computer science.

The idea came from work in artificial intelligence. Machine learning explores the study and construction of algorithms which can learn and make predictions on data. Such algorithms follow programmed instructions, but can also make predictions or decisions based on data.Christopher Bishop 1995. Neural networks for pattern recognition. Oxford University Press.  They build a model from sample inputs.

Machine learning is done where designing and programming explicit algorithms cannot be done. Examples include spam filtering, detection of artificial neural network intruders or malicious insiders working towards a data breach, optical character recognition (OCR),Wernick et al 2010. Machine learning in medical imaging, IEEE Signal Processing Society|IEEE Signal Processing Magazine. 27, 4, 25-38. search engines and computer vision.

Using machine learning has risks. Some algorithms create a final model which is a black box. Models have been criticized for biases in hiring, criminal justice, and recognizing faces.

 Overview 
Learning algorithms try to predict what will happen in the future with patterns from the past. These predictions can be obvious: for example, if the sun rose for the past 10,000 days, it will probably rise again. These predictions can also be more complex. An example of a complex prediction is facial recognition (knowing who someone is by looking at face).

Machine learning programs can do things that it hasn't been told to do by a programmer. Machine learning programs will be shown some patterns. These patterns will be an input (such as a question) and an output (the answer to the question). Then, the machine learning program will predict the output based on the input. Machine learning isn't always necessary. Computers can do simple tasks by being told instructions. However, sometimes there are a lot of things that control the output. Then, it is hard for a human to tell the computer all of the instructions. It is sometimes easier to tell the computer how to teach itself.

There are a lot of different ways to tell the computer to teach itself. When a problem has a lot of answers, different answers can be marked as valid. This is used to form data that the computer is trained with. One example of training data is the MNIST data. The MNIST data has images of handwritten numbers. The computer can learn to identify handwritten numbers using the MNIST data.

 References