The definition machine learning is as follows:

A computer program is said to learn from experience E with respect to some task T and performance measure P, if its performance at task T, as measured by P, improves with experience E.

Here, we talk about what it means for a program to learn rather than a machine, and a program and a machine aren't equivalent, so this is a definition about "program learning" rather than "machine learning". How is this consistent?

  • $\begingroup$ So when you think is it your consciousness thinking or is it due to the electrical signals of the brain? It's an analogous case here. $\endgroup$ – DuttaA Feb 21 at 8:58

Think of a computer as a Turing Machine--this idea is a model of computation, and all of modern computing is based on the Turing-Church thesis.

Machine and program can be interchangeable—at the end of the day, it's all algorithms, whether hard coded in the form of microchip, or in the form of software. (Any microchip can be emulated as software.)

Pre-modern computers were mechanical in popular sense. Examples include Babbage's difference engine, and mechanical calculators in general. These led to programmable mechanical calculators and electromechanical computers such as IBM's Harvard Mark I, based on Babbage's notion of an Analytic Engine.

In this context, Machine Learning may also connote software that runs on a machine (hardware) as opposed to human/animal learning, which utilizes a biological medium.

The etymology of "mechanics", and by extension, "machine" is worth looking at.

Mechanema is instructive in that math and engineering can be understood as the "trick to doing things". (Machination is not pejorative in this sense, as "noun of action from past participle stem of machinari 'contrive skillfully, to design; to scheme, to plot,'"—one can plot the course of a celestial body.)

Early uses of the mech- root

Aristotle's Μηχανικά ("Mechanical Problems"*)

Euler's Mechanica (Euler was referring to Classical Mechanics, an analytic and predictive science made possible by calculus, which is based on functions.)

  • 1
    $\begingroup$ Very good answer. The term machine learning is ignored and instead the turing computational model is put in the focus. And the short tour into the history of calculating apparatus makes clear, that computation is equal to mathematics. $\endgroup$ – Manuel Rodriguez Feb 22 at 5:29

Machine learning is located in statistics. Raw data are stored in a model, and the model can interpolate between the data. The resulting file is equal to a database. The term program learning describes something different. Program learning is about the busy beaver challenge, the halting problem and meta-algorithms. Program learning doesn't depends on data but on constraints. A typical challenge for program learning is to find the sourcecode for a logic gate which can add two numbers. Or to find the sourcecode for a prime number generator.

In general we can say, that machine learning is solvable with today's technology. It's possible to create a dataset which contains 200 MB of image files and retrieve them later. In contrast, program learning is an unsolved issue. The state space for potential sourcecode is too large, and it's not possible to use raw data as input. What program learning can do in reality is surprisingly less. For example it is possible to find a the 3-state-busy beaver program. This mini-program contains only of three commands and is doing a trivial task. What is not possible is to generate a prime number generator or any program which is a bit longer.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.