More intro
This commit is contained in:
parent
9ae10f6a1c
commit
41e0add787
3 changed files with 77 additions and 1 deletions
13
biblio.bib
13
biblio.bib
|
@ -1374,6 +1374,19 @@
|
||||||
bibsource = {dblp computer science bibliography, https://dblp.org}
|
bibsource = {dblp computer science bibliography, https://dblp.org}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@book{KearnsV94,
|
||||||
|
author = {Michael J. Kearns and
|
||||||
|
Umesh V. Vazirani},
|
||||||
|
title = {An Introduction to Computational Learning Theory},
|
||||||
|
publisher = {{MIT} Press},
|
||||||
|
year = {1994},
|
||||||
|
url = {https://mitpress.mit.edu/books/introduction-computational-learning-theory},
|
||||||
|
isbn = {978-0-262-11193-5},
|
||||||
|
timestamp = {Wed, 10 May 2017 15:11:16 +0200},
|
||||||
|
biburl = {https://dblp.org/rec/bib/books/daglib/0041035},
|
||||||
|
bibsource = {dblp computer science bibliography, https://dblp.org}
|
||||||
|
}
|
||||||
|
|
||||||
@inproceedings{DBLP:journals/corr/KlinS16,
|
@inproceedings{DBLP:journals/corr/KlinS16,
|
||||||
author = {Bartek Klin and
|
author = {Bartek Klin and
|
||||||
Michal Szynwelski},
|
Michal Szynwelski},
|
||||||
|
|
|
@ -8,6 +8,68 @@
|
||||||
\startsection
|
\startsection
|
||||||
[title={Learning and Testing}]
|
[title={Learning and Testing}]
|
||||||
|
|
||||||
|
???
|
||||||
|
|
||||||
|
First off, let me sketch the problem.
|
||||||
|
There is some fixed, but unkown to us, language $\lang \subseteq \Sigma^{*}$.
|
||||||
|
This can be a language of natural speech, a property in model checking, a set of traces from a protocol, etc.
|
||||||
|
We wish to infer a description of $\lang$ by only using finitely many words.
|
||||||
|
Note that this is not an easy task, as $\lang$ is often infinite.
|
||||||
|
\todo{Waarom sequentiele data?}
|
||||||
|
|
||||||
|
Such a learning problem can be stated and solved in a variety of ways.
|
||||||
|
In the applications we do in our research group, we often try to infer a model of a software component.
|
||||||
|
(\in{Chapter}[chap:applying-automata-learning] describes such an application.)
|
||||||
|
In such cases, a learning algorithm can interact with the software.
|
||||||
|
So it makes sense to study a learning paradigm which allows for \emph{queries}, and not just a data set of samples.
|
||||||
|
\footnote{Instead of query learning, people also use the term \emph{active learning}.}
|
||||||
|
|
||||||
|
A typical query learning framework was established by \citet[DBLP:journals/iandc/Angluin87].
|
||||||
|
In her framework, the learning algorithm may pose two types of queries to a \emph{teacher} (or \emph{oracle}):
|
||||||
|
|
||||||
|
\description{Membership queries (MQs)}
|
||||||
|
The learner poses such a query by providing a word $w \in \Sigma^{*}$ to the teacher.
|
||||||
|
The teacher will then reply whether $w \in \lang$ or not.
|
||||||
|
This type of query is often generalised to more general output, so the teacher replies with $\lang(w)$.
|
||||||
|
In some papers, such a query is then called an \emph{output query}.
|
||||||
|
|
||||||
|
\description{Equivalence queries (EQs)}
|
||||||
|
The learner can provide a hypothesised description of $\lang$.
|
||||||
|
If the hypothesis is correct, the teacher replies with \kw{yes}.
|
||||||
|
If, however, the hypothesis is incorrect, the teacher replies with \kw{no}, together with a counterexample (i.e., a word which is in $\lang$ but not in the hypothesis or vice versa).
|
||||||
|
|
||||||
|
With these queries, the learner algorithm is supposed to converge to a correct model.
|
||||||
|
This type of learning is hence called \emph{exact learning}.
|
||||||
|
\citet[DBLP:journals/iandc/Angluin87] showed that one can do this efficiently for deterministic finite automata DFAs (when $\lang$ is in the class of regular languages).
|
||||||
|
|
||||||
|
Another paradigm which is relevant for our type of applications is PAC-learning with membership queries.
|
||||||
|
Here, the algorithm can again use MQs as before, but the EQs are replace by random sampling (by a fixed probability distribution).
|
||||||
|
So the allowed query is:
|
||||||
|
|
||||||
|
\description{Random sample query (EX)}
|
||||||
|
If the learner poses this query (there are no parameters), the teacher will respond with a random word $w$, together with its label $w \in \lang$.
|
||||||
|
|
||||||
|
Instead of requiring that the learner exactly learns the model, we only require the following.
|
||||||
|
The learner should \emph{probably} return a model which is \emph{approximate} to the target.
|
||||||
|
This gives the name probably approximately correct (PAC).
|
||||||
|
Note that there are two uncertainties: the probable and the approximate part.
|
||||||
|
Both part are bounded by parameters, so one can determine the confidence.
|
||||||
|
|
||||||
|
\startremark
|
||||||
|
When using only EQs, only MQs, or only EXs, then there are hardness results for learning DFAs.
|
||||||
|
See the book of \citet[KearnsV94] for such results.
|
||||||
|
\stopremark
|
||||||
|
|
||||||
|
DFAs can be efficiently learned in the PAC model.
|
||||||
|
In fact, any exact learning algorithm with MQs and EQs can be transformed into a PAC algorithm with MQs (see exercise X in \citenp[KearnsV94]).
|
||||||
|
For this reason, we mostly focus on the former type of learning in this thesis.
|
||||||
|
The transformation from exact learning to PAC learning is implemented by simply \emph{testing} the hypothesis with random samples.
|
||||||
|
The number of samples depend on the required precision (i.e., both parameters in the PAC model).
|
||||||
|
The type of testing we will see in later chapter is slightly different, however.
|
||||||
|
We will often choose the probability distribution ourself and even change it between hypotheses.
|
||||||
|
Although the PAC model does not allow this and we do not acquire the promised bounds, we are able to give other guarantees with those testing methods.
|
||||||
|
|
||||||
|
|
||||||
\todo{Gekopieerd van test methods paper.}
|
\todo{Gekopieerd van test methods paper.}
|
||||||
|
|
||||||
Finite state machine conformance testing is a core topic in testing literature that is relevant for communication protocols and other reactive systems.
|
Finite state machine conformance testing is a core topic in testing literature that is relevant for communication protocols and other reactive systems.
|
||||||
|
|
|
@ -20,12 +20,13 @@
|
||||||
\setupwhitespace[medium]
|
\setupwhitespace[medium]
|
||||||
|
|
||||||
\defineenumeration[definition][text=Definition]
|
\defineenumeration[definition][text=Definition]
|
||||||
|
\defineenumeration[remark][text=Remark]
|
||||||
\defineenumeration[example][text=Example]
|
\defineenumeration[example][text=Example]
|
||||||
\defineenumeration[lemma][text=Lemma]
|
\defineenumeration[lemma][text=Lemma]
|
||||||
\defineenumeration[proposition][text=Proposition]
|
\defineenumeration[proposition][text=Proposition]
|
||||||
\defineenumeration[theorem][text=Theorem]
|
\defineenumeration[theorem][text=Theorem]
|
||||||
\defineenumeration[corollary][text=Corollary]
|
\defineenumeration[corollary][text=Corollary]
|
||||||
\setupenumeration[definition,example,lemma,proposition,theorem,corollary][alternative=serried,width=fit,right=.]
|
\setupenumeration[definition,remark,example,lemma,proposition,theorem,corollary][alternative=serried,width=fit,right=.]
|
||||||
|
|
||||||
\define\QED{\hfill$\square$}
|
\define\QED{\hfill$\square$}
|
||||||
\definestartstop[proof][before={{\it Proof. }}, after={\QED}]
|
\definestartstop[proof][before={{\it Proof. }}, after={\QED}]
|
||||||
|
|
Reference in a new issue