meta What are the broad categories of classifiers?

A (broad) categorization could be “discriminative” vs. “generative” classifiers:

Discriminative algorithms:

  • a direct mapping of x -> y
  • intuition: “Distinguishing between people who are speaking different languages without actually learning the language”
  • e.g., Logistic regression, SVMs, Neural networks, …

Generative algorithms:

  • model how the data was generated (joint probability distributions p(x, y))
  • e.g., naive Bayes, Bayesian belief networks, Restricted Boltzmann machines

Or, we could categorize classifiers as “lazy” vs. “eager” learners:

Lazy learners:

  • don’t “learn” a decision rule (or function)
  • no learning step involved but require to keep training data around
  • e.g., K-nearest neighbor classifiers

A third possibility could be “parametric” vs. “non-parametric”

(in context of machine learning; the field of statistics interprets use terms a little bit differently.)


  • representations grow with the training data size
  • e.g., Decision trees, K-nearest neighbors


  • representations are “fixed”
  • e.g., most linear classifiers like logistic regression etc.

Pedro Domingo’s 5 Tribes of Machine Learning

In his new book (The Master Algorithm), Pedro Domingo’s mentioned the 5 tribes of machine learning, which is another nice categorization. Summarizing from the book (pp. 51-53)


  • manipulating symbols (like mathematicians replace expressions by expressions), or in other words, using pre-existing knowledge to fill in the missing pieces
  • “master algorithm:” inverse deduction


  • reverse-engineering a biological brain, i.e., strengthening the connections between neurons
  • “master algorithm:” backpropagation


  • whereas connectionism is about fine-tuning the brain, evolution is about creating the brain
  • “master algorithm:” genetic programming


  • based on probabilistic inference, i.e., incorporating a priori knowledge: certain outcomes are more likely
  • “master algorithm:” Bayes’ theorem and its derivatives


  • generalizing from similarity, i.e., recognizing similarities or in other words: remember experiences (training data) and how to combine them to make new predictions
  • “master algorithm:” support vector machine