The Master Algorithm

How the quest for the ultimate learning machine will remake our world

By: Pedro Domingos

Published: 2015.

Read: 2018.


Machine learning may help to discover (the deepest) regularities in our universe in a computationally efficient way from finite data.

In the context of human learning, machine learning is the next logical step after evolution / natural selection, the development of the human brain and cultural learning.

Five different types of machine learning are described, with each of them having different use cases and limitations. A “Master Algorithm”, a unified learner, is derived that incorporates aspects from the various types of machine learning.

This so-called Master Algorithm may have a substantial impact going forward on the global economy, geopolitics, health, and human self fulfillment.

Worth Reading:

Detailed, technical, well structured. Interesting and fun to read about the similarities between concepts behind human and machine learning. Perhaps destined to be outdated soon as new categories of ML emerge and the impact of ML spreads widely and quickly.

The discussion on evolutionary networks is interesting, in particular where it explores the purpose of sex in natural selection. No one is sure (apparently). In sufficiently large populations, DNA mutations alone should suffice to increase the frequency of the fittest, so why do you need “DNA cross-overs” (ie, sex – the splitting and combining of male and female DNA strands). Perhaps sex is needed to keep populations varied enough so that one single germ / parasite can’t wipe out an entire population. So, if you build learners based on natural selection, the relevant question is: do you only incorporate random mutations or also cross-overs between the fittest learners.

Key Concepts:

Historic time line

  • Rationalists versus Empiricists:
    • Rationalists:
      • Senses deceive.
      • Only path to knowledge is through logical reasoning.
    • Empiricists:
      • All reasoning is fallible.
      • Knowledge comes from observation and experimentation only.
  • Hume’s problem with induction:
    • How to justify generalizing from what you’ve seen to what you haven’t.
    • Potentially puts a limit on all machine learners.
  • Issue: “no free lunch theorem”:
    • No “learner” can be better than random guessing.
  • Solution: Newton’s principle:
    • Whatever is true of everything we’ve seen is true of everything in the universe.
    • Learners have to be primed with (observed / initial) knowledge.
  • Leads to biggest issue in machine learning: over-fitting.
    • Seeing patterns that don’t exist in the real world.
    • Generating meaningless rules that only work in the specific data set.
  • Potential fixes to over-fitting.
    • Verifying results with new data.
    • Accepting lower levels of accuracy.
    • Start with simple rules/hypotheses.

Five major learning algorithms.

  • Evolutionaries:
    • Natural selection.
    • Genetic programming.
    • Focused on the structure of learning.
  • Connectionists:
    • Use structures similar to the ones that evolution gave us to learn.
    • The brain, neural nets, etc.
  • Symbolists:
    • Intelligence is manipulating symbols.
    • Use initial knowledge to infer and figure out what knowledge is missing in order to make sense of the world.
  • Bayesians:
    • All knowledge is uncertain.
    • Need to be able to deal with incomplete information.
    • Develop theorems that help adjust existing beliefs based on new data.
  • Analogizers:
    • Recognize similarities in a situation and use these to infer other similarities.

Relevant elements of human learning:

  • Clustering:
    • Hierarchies.
    • Organizing the world into (nested levels of) objects and categories.
  • Dimensionality reduction:
    • Reduction of all dimensions to a few that matter.
    • Demonstrates why it’s tough to sketch a face from memory, but at the same time a sketch artist can get very close by asking you 10-15 feature questions.
  • Reinforcements:
    • Goal / reward directed behavior.
  • Chunking:
    • Practice improves performance.
    • Breaking down problems into sub-sets.
    • Storing successful learned behavior / action sequences in chunks.
    • On each next iteration, learned chunks grow bigger, improving performance.

Leave a Reply