Probably approximately correct learning

In computational learning theory, probably approximately correct learning (PAC learning) is a framework for mathematical analysis of machine learning. It was proposed in 1984 by Leslie Valiant.

In this framework, the learner receives samples and must select a generalization function (called the hypothesis) from a certain class of possible functions. The goal is that, with high probability (the "probably" part), the selected function will have low generalization error (the "approximately correct" part). The learner must be able to learn the concept given any arbitrary approximation ratio, probability of success, or distribution of the samples.

The model was later extended to treat noise (misclassified samples).

An important innovation of the PAC framework is the introduction of computational complexity theory concepts to machine learning. In particular, the learner is expected to find efficient functions (time and space requirements bounded to a polynomial of the example size), and the learner itself must implement an efficient procedure (requiring an example count bounded to a polynomial of the concept size, modified by the approximation and likelihood bounds).

Definitions and terminology
In order to give the definition for something that is PAC-learnable, we first have to introduce some terminology.

For the following definitions, two examples will be used. The first is the problem of character recognition given an array of $$n$$ bits. The other example is the problem of finding an interval that will correctly classify points within the interval as positive and the points outside of the range as negative.

Let $$X$$ be a set called the instance space or the encoding of all the samples. In the character recognition problem, the instance space is $$X=\{0,1\}^n$$. In the interval problem the instance space is $$X=\mathbb{R}$$, where $$\mathbb{R}$$ denotes the set of all real numbers.

A concept is a subset $$c \subset X$$. One concept is the set of all of the bits that encode for the letter "P" in $$X=\{0,1\}^n$$. An example concept from the second example is the set of all of the numbers between $$\pi/2$$ and $$\sqrt{10}$$. A concept class is a set of concepts over $$X$$. This could be the set of all of the array of bits that are skeletonized 4-connected (width of the font is 1).

Let $$EX(c,D)$$ be a procedure that draws an example, $$x$$, using a probability distribution $$D$$ and gives the correct label $$c(x)$$.

Say that there is an algorithm $$A$$ that given access to $$EX(c,D)$$ and inputs $$\epsilon$$ and $$\delta$$ that, with probability of at least $$1-\delta$$, $$A$$ outputs a hypothesis $$h \in C$$ that has error less than or equal to $$\epsilon$$ with examples drawn from $$X$$ with the distribution $$D$$. If there is such an algorithm for every concept $$c \in C$$, for every distribution $$D$$ over $$X$$, and for all $$0<\epsilon<1/2$$ and $$0<\delta<1/2$$ then $$C$$ is PAC learnable. We can also say that $$A$$ is a PAC learning algorithm for $$C$$.