# Probably approximately correct learning

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

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.[2][3]

For the following definitions, two examples will be used. The first is the problem of character recognition given an array of ${\displaystyle n}$ bits encoding a binary-valued image. 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 ${\displaystyle X}$ be a set called the instance space or the encoding of all the samples. In the character recognition problem, the instance space is ${\displaystyle X=\{0,1\}^{n}}$. In the interval problem the instance space, ${\displaystyle X}$, is the set of all bounded intervals in ${\displaystyle \mathbb {R} }$, where ${\displaystyle \mathbb {R} }$ denotes the set of all real numbers.

A concept is a subset ${\displaystyle c\subset X}$. One concept is the set of all patterns of bits in ${\displaystyle X=\{0,1\}^{n}}$ that encode a picture of the letter "P". An example concept from the second example is the set of open intervals, ${\displaystyle \{(a,b)\mid 0\leq a\leq \pi /2,\pi \leq b\leq {\sqrt {13}}\}}$, each of which contain only the positive points. A concept class ${\displaystyle C}$ is a set of concepts over ${\displaystyle X}$. This could be the set of all subsets of the array of bits that are skeletonized 4-connected (width of the font is 1).

Let ${\displaystyle EX(c,D)}$ be a procedure that draws an example, ${\displaystyle x}$, using a probability distribution ${\displaystyle D}$ and gives the correct label ${\displaystyle c(x)}$, that is 1 if ${\displaystyle x\in c}$ and 0 otherwise.

Now, given ${\displaystyle 0<\epsilon ,\delta <1}$, assume there is an algorithm ${\displaystyle A}$ and a polynomial ${\displaystyle p}$ in ${\displaystyle 1/\epsilon ,1/\delta }$ (and other relevant parameters of the class ${\displaystyle C}$) such that, given a sample of size p drawn according to ${\displaystyle EX(c,D)}$, then, with probability of at least ${\displaystyle 1-\delta }$, ${\displaystyle A}$ outputs a hypothesis ${\displaystyle h\in C}$ that has an average error less than or equal to ${\displaystyle \epsilon }$ on ${\displaystyle X}$ with the same distribution ${\displaystyle D}$. Further if the above statement for algorithm ${\displaystyle A}$ is true for every concept ${\displaystyle c\in C}$ and for every distribution ${\displaystyle D}$ over ${\displaystyle X}$, and for all ${\displaystyle 0<\epsilon ,\delta <1}$ then ${\displaystyle C}$ is (efficiently) PAC learnable (or distribution-free PAC learnable). We can also say that ${\displaystyle A}$ is a PAC learning algorithm for ${\displaystyle C}$.

## Equivalence

Under some regularity conditions these three conditions are equivalent:

1. The concept class C is PAC learnable.
2. The VC dimension of C is finite.
3. C is a uniform Glivenko-Cantelli class.[clarification needed]