Jump to content

User:Felix QW/Inductive logic programming

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Felix QW (talk | contribs) at 21:54, 9 December 2023 (Probabilistic ILP: Add section adapted from an open-access survey of probabilistic inductive logic programming). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


Approaches to ILP

  • Sketches of Golem and the Model Inference System
  • Inverse resolution
  • Least general generalisations
  • Sketch of Progol/Aleph
  • Beam search

Metainterpretative learning

  • Metarules
  • Constraint-based learning

Common issues

  • Language bias
  • Scoring functions
  • Predicate invention
  • Learning recursive programs

Probabilistic inductive logic programming

Probabilistic inductive logic programming adapts the setting of inductive logic programming to learning probabilistic logic programs. It can be considered as statistical relational learning within the formalism of probabilistic logic programming.[1][2]

Given

  1. background knowledge as a probabilistic logic program B, and
  2. a set of positive and negative examples and

the goal of probabilistic inductive logic programming is to find a probabilistic logic program such that the probability of positive examples according to is maximized and the probability of negative examples is minimized.[3]

This problem has two variants: parameter learning and structure learning. In the first, one is given the structure (the clauses) of H and the goal is to infer the probabilities annotations of the given clauses, while in the second the goal was to infer both the structure and the probability parameters of H. Just as in classical inductive logic programming, the examples can be given as examples or as (partial) interpretations.[4]

Parameter Learning

Parameter learning for languages following the distribution semantics has been performed by using an expectation-maximisation algorithm or by gradient descent. An expectation-maximisation algorithm consists of a cycle in which the steps of expectation and maximization are repeatedly performed. In the expectation step, the distribution of the hidden variables is computed according to the current values of the probability parameters, while in the maximisation step, the new values of the parameters are computed. Gradient descent methods compute the gradient of the target function and iteratively modify the parameters moving in the direction of the gradient.[5]

Structure Learning

Structure learning was pioneered by Daphne Koller and Avi Pfeffer in 1997,[6] where the authors learn the structure of first-order rules with associated probabilistic uncertainty parameters. Their approach involves generating the underlying graphical model in a preliminary step and then applying expectation-maximisation.[7]

In 2008, De Raedt et al. presented an algorithm for performing theory compression on ProbLog programs, where theory compression means removing as many clauses as possible from the theory in order to maximize the probability. No new clause can be added to the theory.[8]

In the same year, Meert, W. et al. introduced a method for learning parameters and structure of ground probabilistic logic programs by considering the Bayesian networks equivalent to them and applying techniques for learning Bayesian networks.[9][10]

ProbFOIL, introduced by De Raedt and Ingo Thon in 2010, combined the inductive logic programming system FOIL with ProbLog. Logical rules are learned from probabilistic data in the sense that both the examples themselves and their classifications can be probabilistic. The set of rules has to allow to predict the probability of the examples from their description. In this setting, the parameters (the probability values) are fixed and the structure has to be learned.[11][12]

In 2011, Elena Bellodi and Fabrizio Riguzzi introduced SLIPCASE, which performs a beam search among probabilistic logic programs by iteratively refining probabilistic theories and optimizing the parameters of each theory using expectation-maximisation.[13] Its extension SLIPCOVER, proposed in 2014, uses bottom clauses generated as in Progol to guide the refinement process, thus reducing the number of revisions and exploring more effectively the search space. Moreover, SLIPCOVER separates the search for promising clauses from that of the theory: the space of clauses is explored with a beam search, while the space of theories is searched greedily.[14][15]

 This article incorporates text from a free content work. Licensed under CC-BY 4.0 (license statement/permission). Text taken from A History of Probabilistic Inductive Logic Programming​, Fabrizio Riguzzi, Elena Bellodi and Riccardo Zese, Frontiers Media.


References

  1. ^ De Raedt, Luc; Kersting, Kristian (2008), "Probabilistic Inductive Logic Programming", Probabilistic Inductive Logic Programming, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 1–27, ISBN 978-3-540-78651-1, retrieved 2023-12-09
  2. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  3. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  4. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  5. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  6. ^ Koller, Daphne; Pfeffer, Avi (August 1997). Learning probabilities for noisy first-order rules (PDF). IJCAI.
  7. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  8. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  9. ^ Blockeel, Hendrik; Meert, Wannes, "Towards Learning Non-recursive LPADs by Transforming Them into Bayesian Networks", Inductive Logic Programming, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 94–108, ISBN 978-3-540-73846-6, retrieved 2023-12-09
  10. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  11. ^ De Raedt, Luc; Thon, Ingo (2011), Frasconi, Paolo; Lisi, Francesca A. (eds.), "Probabilistic Rule Learning", Inductive Logic Programming, vol. 6489, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 47–58, doi:10.1007/978-3-642-21295-6_9, ISBN 978-3-642-21294-9, retrieved 2023-12-09
  12. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  13. ^ Bellodi, Elena; Riguzzi, Fabrizio (2012), "Learning the Structure of Probabilistic Logic Programs", Inductive Logic Programming, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 61–75, ISBN 978-3-642-31950-1, retrieved 2023-12-09
  14. ^ BELLODI, ELENA; RIGUZZI, FABRIZIO (2014-01-15). "Structure learning of probabilistic logic programs by searching the clause space". Theory and Practice of Logic Programming. 15 (2): 169–212. doi:10.1017/s1471068413000689. ISSN 1471-0684.
  15. ^ Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014-09-18). "A History of Probabilistic Inductive Logic Programming". Frontiers in Robotics and AI. 1. doi:10.3389/frobt.2014.00006. ISSN 2296-9144.{{cite journal}}: CS1 maint: unflagged free DOI (link)