---
title: "PAC Learning"
source: https://www.jemoka.com/posts/kbhpac_learning/
---

probably approximately correct (PAC) learning is a DFA learning scheme. Suppose you have a concept \(c \in C\). We desire to find a hypothesis \(h \in H\) which gets as close to the boundary between concepts as possible.
We want to minimize false positives and false negatives.
constituents Instance space \(X\) Concept class \(C\) (functions over \(X\)) Hypothesis class \(H\) (functions over \(X\)) &ldquo;proper learning&rdquo; \(H=C\) &mdash;we are done \(A\) PAC-learns \(C\) if \(\forall c \in C, \forall D \sim X\), when \(A\) gets inputs sampled from \(D\) and outputs \(h \in H\), we want&hellip; \begin{equation} P_{A} [ P_{x \in D}[h(x) \neq c(x)] &gt; \delta] &lt; \epsilon \end{equation}
our learning scheme wants the probability of an error beyond a super large \(\delta\) to be small \(&lt; \epsilon\).
Occam&rsquo;s Razor any algorithm \(A\) that outputs a small hypothesis \(h\) that works on the input, then \(A\) has PAC-learned and its likely to generalize (you have to get very unlucky to have a simple explanation to explain a large bunch of input because its quite hard to overfit).
PAC-learn a DFA Occam&rsquo;s Razor, we should just keep building a DFA until you get the right one starting from the smallest DFA.
butt&hellip; that&rsquo;s exponential. so:
let&rsquo;s define \(L^{?}\) such that either \(w \in L^{?}\), or \(w \not \in L^{?}\) , or we don&rsquo;t know. We want to say \(L^{?}\) distinguishes \(x\) and \(y\), then there exists some \(z\) such that \(x z \in L^{?}\) and \(y z \not \in L^{?}\) or vise versa.
this is not an equivalence relation, beause ther&rsquo;s is no transitivityy.
you probably can&rsquo;t though, learn DFAs actively; you can learn automata actively.
