<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Abductive-Inductive Algorithm for Probabilistic Inductive Logic Programming</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stanislav Dragiev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandra Russo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Krysia Broda</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mark Law</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rares Turliuc</string-name>
          <email>calin-rares.turliucg@imperial.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computing, Imperial College London</institution>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <fpage>20</fpage>
      <lpage>26</lpage>
      <abstract>
        <p>The integration of abduction and induction has lead to a variety of non-monotonic ILP systems. XHAIL is one of these systems, in which abduction is used to compute hypotheses that subsume Kernel Sets. On the other hand, Peircebayes is a recently proposed logic-based probabilistic programming approach that combines abduction with parameter learning to learn distributions of most likely explanations. In this paper, we propose an approach for integrating probabilistic inference with ILP. The basic idea is to rede ne the inductive task of XHAIL as a statistical abduction, and to use Peircebayes to learn probability distribution of hypotheses. An initial evaluation of the proposed algorithm is given using synthetic data.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Inductive Logic Programming (ILP) is concerned with learning logic programs
that, together with a background knowledge, explain given examples (or data).
One of the greatest bene ts of ILP, with respect to other not logic-based machine
learning, is that the learned programs are very easy to interpret in natural
language. A disadvantage is, however, that it does not handle noise and uncertainty
in the observations very well. On the other hand, machine learning methods that
relay on Bayesian statistics are better in coping with uncertainty. Their
objective is to nd parameters of statistical models that maximize the likelihood of
the data. Inference on these models can be very e cient when applied to large
data sets, but coming up with a correct probabilistic model, which is able to
capture the conditional dependencies of the data may turn up to be a di cult
task. Combining logic-based learning (or logic-based inference in general) and
Bayesian statistics may result in symbolic models that can cope with uncertainty,
bene ting from both higher accuracy and easy interpretation.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] a probabilistic abductive logic programming approach has been
proposed, called Peircebayes, which combines abductive inference and
parameter learning through Bayesian prior and sampling. The underlying
probabilistic model involves categorical variables with conjugate Dirichlet priors and it
is represented as an abductive logic program where abducibles correspond to
the probabilistic categorical variables of the model. The program is augmented
with a notion of plate, which essentially executes an abductive query for each
given observation and generates as abductive solutions boolean formulae over the
abducibles that express the categorical variables relevant to explain the given
observations. An adaptation of the Gibbs sampling algorithm [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is used to learn
the probability distribution over the categorical variables.
      </p>
      <p>
        Abduction has also been shown to be useful in inductive learning. The XHAIL
approach [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] integrates abductive and inductive inference to compute solutions
for non-monotonic inductive learning tasks. The algorithm generates rst a
(ground) most speci c Kernel Set (i.e. a set of ground normal clauses) that,
together with the background knowledge, explain the given set of examples, and
then uses abduction to solves the inductive step of searching for the most general
hypothesis (set of clauses) that subsumes the Kernel set. This requires a
special rewriting of the Kernel Set (as summarised in Section 2). XHAIL is however
limited in handling noisy data.
      </p>
      <p>This paper explores a way of combining probabilistic inference with ILP in
order to learn not only structured hypothesis but also probabilisitic distributions
over the clauses that form such hypothesis. The method consists of re-de ning
the inductive step of the XHAIL algorithm with a statical abduction computation.
The Kernel Set, derived from the language bias of a given learning task, is
rede ned as a special type of annotated literal program, in which each literal
is associated with a unique probabilistic parameter. Such a re-written Kernel
is then taken as the input statistical abductive program of Peircebayes. It
is used as generative story for the computation of literals in the hypothesis
that are (logically) relevant to the given data, and statistically for the learning
of probability distributions over these literals. The outcome is the learning of
probabilistic distributions over clauses that form inductive solutions. Preliminary
evaluation over synthetic data show some promising results.</p>
      <p>The paper is organised as follows. First, we cover some background on XHAIL
and Peircebayes. In Section 3, we illustrate our new PROBXHAIL algorithm
with an example. In Section 4, we de ne the semantics of the Annotated
Literal Programs, a new kind of probabilistic logic program, which are output by
PROBXHAIL. We conclude with a brief evaluation and nal remarks.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>In this section, we brie y introduce XHAIL and Peircebayes, the two building
blocks of our proposed approach.</p>
      <sec id="sec-2-1">
        <title>XHAIL</title>
        <p>XHAIL is an ILP algorithm that combines induction and abduction in several
ways. It uses an abductive-deductive procedure to compute a Kernel Set, a set
of (normal) clauses that represent a most-speci c hypothesis that cover the given
data. Then, it performs induction on the Kernel Set to compute a most general
hypothesis that subsumes the Kernel Set, whilst preserving the same coverage.
This step is re-expressed as an abductive task in which each explanation
represents a single hypothesis that subsumes the Kernel Set and does not contradict
any example. This inductive procedure is of particular interest for this paper. We
show how to replace this step with statical abduction in order to perform
Probabilistic ILP. In what follows we present the abductive representation used by
XHAIL for computing inductive solutions and the statistical abduction for
computing a probability distribution on abducibles. In Section 3 we describe how
our approach combines these two techniques. Consider a set of C = f1 : : : kg
clauses of the form c c1; : : : ; cmc . The associated abductive logic
programming reformulation of such a set is the program obtained by replacing every
clause c f ci gim=c1 by the following set of clauses:
{ c use(c; 0); try(c; 1; vars( c1)); : : : ; try(c; mc; vars( cmc )), where vars( )
represents the list of variables in the literal .
{ for every body literal in f cgim=c1 the following two clauses are included:
i
try(c; i; vars( ci )) not use(c; i): try(c; i; vars( ci )) ci ; use(c; i):
In the above reformulation, the ground literals use(c; i) and not use(c; i)
constitute the set of abducibles.</p>
        <p>
          Example 1. Let us assume K to be the most speci c Kernel Set computed by
XHAIL for a given set E of examples. The inductive generalisation step of XHAIL
constructs the associated abductive task &lt; ; A; E &gt;, where and A are
dened as follows1:
Traditionally, abduction is the task of infering a set of ground atoms, called
an explanation, that together with a given background theory entails a speci c
observation given by a conjunction of (ground) facts. This concept can be
generalized to probabilistic abduction by introducing probability distributions over
the truth values of each (ground) abducible and over the observations. This
probabilistic perspective provides a method of quantitatively estimating the quality
of the abductive solutions. Introducing probability in abduction essentially
rede nes the notion of abductive solutions as no longer the minimal but the most
preferred (possibly non minimal) assumptions, based on their probability, needed
to explain a speci c distribution of observations (e.g., [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]).
        </p>
        <p>Peircebayes is an algorithm that attempts to perform inference in a speci c
probabilistic model for statistical abduction. In it, each abducible is associated
with an independent categorical variable (referred to as parameter) with a
userspeci ed Dirichlet prior (referred to as hyperparameter). The inference task is
to compute the probability distribution of the parameters given the observations.
1 Note that in the actual implementation of the XHAIL algorithm, the abductive
program also uses type matching for the bias and to ensure safe rules.</p>
        <p>K =
a
b:</p>
        <p>b:</p>
      </sec>
      <sec id="sec-2-2">
        <title>Peircebayes</title>
        <p>= &gt;&gt;&lt;8 tary(0u; s1e)(0; 0b);;utsrey((00;;11)):: 9&gt;&gt;= A = 8&lt; uussee((00;; 01)):: 9=
&gt;&gt;: tbry(0u;s1e)(1; 0n):ot use(0; 1): &gt;;&gt; : use(1; 0): ;
In probabilistic terms the observations can be seen as a vector f of N data points,
where fn = 1 denotes that the n-th observation is included in the model. The
novelty is that the draw of the values for the parameters is related to the
\generative story" of the model expressed as an abductive task.d</p>
        <p>
          In Peircebayes the inference task is to determine a distribution of most
likely explanations, i.e. to infer P ( jf ; ). Since the prior distribution is
conveniently chosen to be a Dirichlet distribution, the prior conjugate of the
categorical distribution, this task is equivalent to nding posterior values of . The
posterior expectation of can be computed via uncollapsed Gibbs Sampling
along P (xj ; f ) and P ( jx; ). Sampling from P ( jx; ) involves sampling from
a Dirichlet distribution (since the posterior of a categorical distribution with a
Dirichlet prior is also a Dirichlet distribution). Sampling from P (xj ; f ) can be
done by sampling paths in BDDs that describe the category of abducibles in the
abductive solutions of each observation. The reader is referred to [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] for further
details.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>PROBXHAIL</title>
      <p>
        This section describes the PROBXHAIL algorithm. For simplicity, we illustrate its
workings with a running example with propositional atoms. The program takes
as input a set of (partial) interpretations (see [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) and a bias.
      </p>
      <p>Example 2. PROBXHAIL could consist of the following input. The example set over
100000 observations could consist of hfa; bg; fgi repeated 62958 times, hfag; fbgi
repeated 2727 times, hfbg; fagi repeated 27109 times and hfg; fa; bgi repeated
7206 times. Assume a mode bias that consists of modeh(a), modeb(b), modeh(b),
determination(a,b) and prohibits repetition of clauses.</p>
      <p>The output of PROBXHAIL is a probabilistic logic program, a normal logic program
augmented with statistical parameters. Such a program has non-deterministic
semantics: it de nes a distribution over deterministic normal logic programs and,
hence, over partial interpretations of the program. For this reason, the number of
occurrences of each example is relevant: the example set represents an empirical
distribution of partial interpretations and the goal of PROBXHAIL is to produce
a probabilistic logic program that de nes the same probability distribution over
the examples. We describe the semantics of the probabilistic logic programming
language in Section 4.</p>
      <p>Overall, the algorithm consists of two phases: structure learning and
parameter learning. During the structure learning phase, a deterministic normal logic
program is constructed using the bias. During the parameter learning phase,
the parameters for a set of Bernoulli random variables is learned, one for every
literal. The parameters are such that the probability distribution of partial
interpretations de ned by the program is as close as possible to the probability
distribution implied by the examples.</p>
      <p>More speci cally, the structural learning phase of the algorithm is currently
purely bias-driven. During this step, the most speci c logic program that agrees
with the bias is constructed. The bias is similar to the one de ned in other
ILP systems and includes mode and determination declarations. In addition,
it speci es the number of times a clause can be repeated (this is relevant in
the probabilistic logic program, unlike in deterministic programs where clause
repetitions are redundant). With propositional programs, this procedure involves
constructing a clause for every head literal and then adding every body literal
that agrees with the determinations.</p>
      <p>
        This procedure can be generalized to normal logic programs with variable
terms (as shown in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). Furthermore, an alternative data-driven structural
learning approach could be used which is similar to XHAIL and generates a smaller
logic theory. This results in faster probabilistic inference.
      </p>
      <p>In the next step, parameter learning is performed. This is done by performing
XHAILs inductive task transformation on the theory generated from the
structural learning step and then performing Peircebayes statistical abduction with
the generated background and the use ground atoms as abducibles and the input
examples as observations. This produces an unbiased estimate of the parameters
of the probabilistic logic program.</p>
      <p>Example 3. Structural learning for Example 2 yields fa b: b:g. We construct
the following Peircebayes task with observations O from Example 2 and
background B and abducibles A, given in Example 1. The output of the PROBXHAIL
algorithm is a probabilistic program in which every literal is associated with a
Bernoulli trial parameter:
It can be shown that the learned parameters minimize the posterior expected
value of the root mean square error function of .
4</p>
    </sec>
    <sec id="sec-4">
      <title>Annotated Literal Programs</title>
      <p>In this section, we de ne Annotated Literal Programs (the output of PROBXHAIL
). In these programs, every literal is associated with a probabilistic Bernoulli
parameter. Annotated literal programs de ne a probability distribution on
normal logic programs. Informally, we can de ne this probability distribution by
the method we use to sample: every clause is considered independently and is
included with the probability of its head literal. Only a subset of the body
literals is retained in the clause. Each body literal is considered independently and
included in the clause with its associated probability. Annotated literal programs
are based on answer sets semantics: the probability of a query being successful
is the sum of the probability of all normal logic programs that bravely entail it
(i.e. the query is true in at least one of its answer sets).</p>
      <p>Example 4. The probability distribution on logic programs described by the
program in Example 3 is shown in the table below. The probability of query ?-a.
is the sum of the probability of the normal logic programs that entail it. In
this example, T1, T4 and T5 have answer sets which satisfy the query. Thus, the
probability of the program is p(T1) + p(T4) + p(T5) = 0:6567804.
Logic Program Answer Set
fa b: b:g
fa b:g
fa:b:g</p>
      <p>;
fb:g
fa:b:g
fa:g
;
Note that sampling from the probabilistic logic program involves a series of
Bernoulli trials. During parameter learning in PROBXHAIL we can apply a Bayesian
prior on the distributions in order to de ne a probabilistic bias. Currently only a
symmetric Beta prior is used (as Peircebayes supports Dirichlet Priors on
abducibles); however, the applications of a user-de ned prior is an open question.</p>
      <p>
        It can be shown via a translation procedure [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] that Annotated Literal
Programs can represent ProbLog[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] programs and also other programs based on
distribution semantics[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. An important di erence to note is that ProbLog is
based on the SLDNF semantics, and Annotated Literal Programs is based on
the answer set semantics.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Evaluation and Final Remarks</title>
      <p>We run an experiment in order to measure parameter learning error. We sample
normal logic programs multiple times from a given probabilistic logic program
and then compute their full interpretations. We use the resulting interpretations
as input for PROBXHAIL and attempt to reconstruct the original probabilistic
logic program used for the sampling. We then measure the runtime of learning
and the root mean square error in the parameters learned versus the original
parameters. For instance, the observations in Example 2 were generated from
the following probabilistic program:
Results show that the root mean square error of parameter learning in Example 3
decreases below 0.001 in 3 iterations of uncollapsed Gibbs sampling. Experiments
with larger synthetic datasets suggest that the number of iterations necessary
for convergence increases with the number of literals.</p>
      <p>Overall, PROBXHAIL is prone to issues with its high-dimensional parametric
search space. For example, the number of di erent possible observations increases
exponentially with the number of clauses. Moreover, increasing the number of
parameters requires an increased number of samples and Peircebayes iterations
for convergence. As a consequence of this, maintaining the number of literals as
low as possible is important. This implies that a structural learning procedure
is necessary that minimizes the size of the probabilistic logic program.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Luc De Raedt, Angelika Kimmig, and
          <string-name>
            <given-names>Hannu</given-names>
            <surname>Toivonen</surname>
          </string-name>
          .
          <article-title>Problog: A probabilistic prolog and its application in link discovery</article-title>
          .
          <source>In Proceedings of the 20th International Joint Conference on Arti cal Intelligence</source>
          ,
          <source>IJCAI'07</source>
          , pages
          <fpage>2468</fpage>
          {
          <fpage>2473</fpage>
          , San Francisco, CA, USA,
          <year>2007</year>
          . Morgan Kaufmann Publishers Inc.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Stanislav</given-names>
            <surname>Dragiev</surname>
          </string-name>
          . PROBXHAIL:
          <article-title>An abductive-inductive algorithm for probabilistic inductive logic programming</article-title>
          .
          <source>Master's thesis</source>
          , Imperial College London,
          <year>June 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Daan</given-names>
            <surname>Fierens</surname>
          </string-name>
          , Guy Van den Broeck, Ingo Thon, Bernd Gutmann, and Luc De Raedt.
          <article-title>Inference in probabilistic logic programs using weighted cnf's</article-title>
          .
          <source>In Proceedings of the Twenty-Seventh Conference Annual Conference on Uncertainty in Arti cial Intelligence (UAI-11)</source>
          , pages
          <fpage>211</fpage>
          {
          <fpage>220</fpage>
          ,
          <string-name>
            <surname>Corvallis</surname>
          </string-name>
          , Oregon,
          <year>2011</year>
          . AUAI Press.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Masakazu</given-names>
            <surname>Ishihata</surname>
          </string-name>
          and
          <string-name>
            <given-names>Taisuke</given-names>
            <surname>Sato</surname>
          </string-name>
          .
          <article-title>Bayesian inference for statistical abduction using markov chain monte carlo</article-title>
          .
          <source>In ACML</source>
          , pages
          <volume>81</volume>
          {
          <fpage>96</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Mark</given-names>
            <surname>Law</surname>
          </string-name>
          , Alessandra Russo, and
          <string-name>
            <given-names>Krysia</given-names>
            <surname>Broda</surname>
          </string-name>
          .
          <article-title>Inductive learning of answer set programs</article-title>
          .
          <source>In Logics in Arti cial Intelligence</source>
          , pages
          <fpage>311</fpage>
          {
          <fpage>325</fpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>David</given-names>
            <surname>Poole</surname>
          </string-name>
          .
          <article-title>Abducing through negation as failure: stable models within the independent choice logic</article-title>
          .
          <source>J. Log. Program.</source>
          ,
          <volume>44</volume>
          (
          <issue>1-3</issue>
          ):5{
          <fpage>35</fpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Oliver</given-names>
            <surname>Ray</surname>
          </string-name>
          .
          <article-title>Nonmonotonic abductive inductive learning</article-title>
          .
          <source>Journal of Applied Logic</source>
          ,
          <volume>7</volume>
          (
          <issue>3</issue>
          ):
          <volume>329</volume>
          {
          <fpage>340</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Taisuke</given-names>
            <surname>Sato</surname>
          </string-name>
          .
          <article-title>A statistical learning method for logic programs with distribution semantics</article-title>
          .
          <source>In Proceedings of the 12th International Conference on Logic Programming</source>
          , pages
          <volume>715</volume>
          {
          <fpage>729</fpage>
          . MIT Press,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Calin</given-names>
            <surname>Rares</surname>
          </string-name>
          <string-name>
            <surname>Turliuc</surname>
          </string-name>
          , Luke Dickens, Alessandra Russo, and
          <string-name>
            <given-names>Krysia</given-names>
            <surname>Broda</surname>
          </string-name>
          .
          <article-title>Probabilistic abductive logic programming using dirichlet priors</article-title>
          .
          <source>International Journal of Approximate Reasoning</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>