For more than a hundred years, mathematicians and engineers have been developing the field of computer science. What started as a theoretical thought experiment all those years ago, the concept of a computer device that can think, is now a goal modern engineers strive to reach. The concept of an artificial intelligence is now a staple of the science fiction genre, while various theories have developed as an attempt to explain how such a creation would function. The scientific study of algorithms and statistical models that allow computers to become more efficient at completing a given task is known as machine learning, and this study is key to the history and development of modern computer programming.
At its core, Machine Learning is not a very complex concept, following several basic steps. Firstly, you need data on whatever task you are trying to have completed, in order to use a basis for a mathematical model. The algorithms used to create this model based on the sample data can then be used in order to make predictions on how the task will be completed or make decisions on how to best complete the task. These basic machine learning algorithms are the basis for all email filtering, firewall protections, and audio-visual analysis.
Machine learning tasks come in three main categories: supervised learning, unsupervised learning, and active learning tasks. There are also tasks that fall somewhere in between unsupervised and supervised learning tasks, referred to as semi-supervised tasks, that combine characteristics of both. Supervised learning tasks involve the construction of mathematical models using both the data taken as a sample and the results that you want to see. One of the most common examples of this kind of supervised learning task is software used to analyze digital images, like the Google image search function. Another would be the spam filter used by almost all email service providers.
Unsupervised learning tasks are those in which your algorithm has no desired results, just the data being input in order to construct the model. The goal of these mathematical models is to group the data being collected and are used to find patterns a structures within a given data set. The third main kind of learning tasks are known as active learning tasks. Active learning tasks are designed to compare a limited set of inputs against the outcome desired, in order to optimize the final choice of input being made. These active learning tasks are involved most heavily in programs that seek to emulate the human capacity for thought and deductive reasoning. One main example of this are gaming programs that allow the user to play against a digital opponent, at its core a simplified version of an artificial intelligence.