Project

aGrUM / pyAgrum

Goal: aGrUM ( (http://www.agrum.org) is a C++ library designed for easily building applications and algorithms using graphical models such as Bayesian networks, Markov network, influence diagrams, decision trees, GAI networks or Markov decision processes : inference, modelisation, classification, learning, scoring, model selection, etc.

pyAgrum is a python wrapper for the aGrUM library with specific python libraries and tools (notebook, causality, etc.)

Methods: C++, Python, Bayesian Network, Object-Oriented Probabilistic Relational Models, Factored Markov Decision Process, Credal Networks, Influence Diagram

Updates
0 new
57
Recommendations
0 new
8
Followers
0 new
14
Reads
1 new
1185

Project log

Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Marvin Lasserre
added an update
Hi everyone ! On the 18th of march, the APUD'22 (aGrUM/pyAgrum user's day) will be held both physically and remotely at SCAI (Sorbonne Center of Artificial Intelligence). It will be the occasion for users to gather and share ideas about the library. You can register and find more information here : https://agrum.gitlab.io/pages/apud22.html We hope that you will join us !
 
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added 20 research items
Dynamic Bayesian Networks (DBNs) provide a principled scheme formodeling and learning conditional dependencies from complex multivariate time-series data and have been used in a wide scope. However, in most cases, the un-derlying generative Markov model is assumed to be homogeneous, meaning thatneither its topology nor its parameters evolve over time. Therefore, learning aDBN to model a non-stationary process under this assumption will amount topoor predictions capabilities. To account for non-stationary processes, we buildon a framework to identify, in a streamed manner, transition times between un-derlying models and a framework to learn them in real time, without assumptionsabout their evolution. We show the method performances on simulated datasets.The goal of the system is to model and predict incongruities for an Intrusion Dec-tection System (IDS) in near real-time, so great care is attached to the ability tocorrectly identify transitions times. Our preliminary results reveal the precisionof our algorithm in the choice of transitions and consequently the quality of thediscovered networks. We finally suggest future works.
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.15.0 is out and LGPL !
 
Pierre-Henri Wuillemin
added an update
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.14.2 has been released. For more, see https://gitlab.com/agrumery/aGrUM/blob/master/CHANGELOG.md.
 
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.14.1 has been released !
For more, see https://gitlab.com/agrumery/aGrUM/blob/master/CHANGELOG.md.
 
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.13.3 has been released. For more, see https://gitlab.com/agrumery/aGrUM/blob/master/CHANGELOG.md
 
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.13.2 has been released. For more, see https://gitlab.com/agrumery/aGrUM/blob/master/CHANGELOG.md
 
Pierre-Henri Wuillemin
added a research item
Probabilistic Relational Models (PRMs) extend Bayesian networks (BNs) with the notion of class of relational databases. Because of their richness, learning them is a difficult task. In this paper, we propose a method that learns a PRM from data using the semantic knowledge of an ontology describing these data in order to make the learning easier. To present our approach, we describe an implementation based on an ontology of transformation processes and compare its performance to that of a method that learns a PRM directly from data. We show that, even with small datasets, our approach of learning a PRM using an ontology is more efficient.
Pierre-Henri Wuillemin
added a research item
This paper presents the aGrUM framework, a C++ library providing state-of-the-art implementations of graphical models for decision making, including Bayesian Networks, Influence Diagrams, Credal Networks, Probabilistic Relational Models. This is the result of an ongoing effort to build an efficient and well maintained open source cross-platform software, running on Linux, MacOS X and Windows, for dealing with graphical models. The framework also contains a wrapper, pyAgrum, for exploiting aGrUM within Python.
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.12.0 has been released. For more, see https://gitlab.com/agrumery/aGrUM/blob/master/CHANGELOG.md
 
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.11.2 has been released. For more, see https://gitlab.com/agrumery/aGrUM/blob/master/CHANGELOG.md
 
Pierre-Henri Wuillemin
added 3 research items
In this paper, we address the problem of finding good quality elimination orders for trian-gulating dynamic Bayesian networks. In Bilmes and Bartels (2003), the authors proposed a model and an algorithm to compute such orders, but in exponential time. We show that this can be done in polynomial time by casting the problem to the problem of finding a minimum s–t cut in a graph. In this approach, we propose a formal definition of an inter-face (a set of nodes which makes the past independent from the future), we link the notion of an interface with the notion of a graph cut-set. We also propose an algorithm which computes the minimum interface of a dBN in polynomial time. Given this interface, we show how to get an elimination order which guarantees, theoretically and experimentally, the triangulation quality.
Pierre-Henri Wuillemin
added 2 research items
In the last ten years, new models based on Bayesian Networks (BN) emerged to handle large and complex systems. These new models can be divided in two: the unification with First Order Logic and uncertainty (Markov Logic Networks, Bayesian Logic) and Knowledge Base Construction Models (Probabilistic Relational Models, Multy-Entity Bayesian Networks, Relational Bayesian Networks). SKOOB, a consortium of researchers and engineers in risk management, focuses on Probabilistic Relational Models (PRM). Inference in such models is a much more difficult task than in BN. Structured Value Elimination (SVE) is the state-of-the-art algorithm for PRM models. In this paper, we propose an enhancement of SVE based on a well known complexity reduction technique from BN. We show how to integrate a dseparation analysis in SVE and how this leads to important improvements for the inference task.S Copyright © 2010, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved.
In the last ten years, new models based on Bayesian Networks emerged to handle large and complex systems. These new models can be divided in two: the unification with First Order Logic and uncertainty (Markov Logic Networks, Bayesian Logic) and Knowledge Base Construction Models (Probabilistic Relational Models, Multy-Entity Bayesian Networks, Relational Bayesian Networks). Structured Variable Elimination (SVE) is the state-of-the-art algorithm for Probabilistic Relational Models. In this paper, we propose an enhancement of SVE based on a well known complexity reduction technique from Bayesian Networks. We show how to integrate a d-separation analysis in SVE and how this leads to important improvements for the inference task
Pierre-Henri Wuillemin
added 2 research items
Representing uncertainty in knowledge is a common issue in Artificial Intelligence. Bayesian Networks have been one of the main models used in this field of research. The simplicity of their specification is one of the reason for their success, both in industrial and in theoretical domains. The widespread use of Bayesian Networks brings new challenges in the design and use of largescale systems, where this very simplicity causes a lack of expressiveness and scalability. To fill this gap, an increasing number of languages emerged as extensions of Bayesian Networks with many approaches: first-order logic, object-oriented, entity-relation, and so on. In this paper we focus on Probabilistic Relational Models, an object-oriented extension. However, Probabilistic Relational Models do not fully exploit the object-oriented paradigm, in particular they lack class inheritance. Using Object-Oriented Bayesian Networks as a basis, we propose to lightly extend PRMs framework resulting in stronger object-oriented aspects in probabilistic models. Probabilistic graphical models (Koller and Friedman, 2009) are a general purpose framework for dealing with uncertainty. Their applications to many different domains has stimulated an uninterrupted process of creation of new frameworks based on probability theory. Bayesian Networks (Pearl, 1988) are among the most popular framework for uncertainty in AI. In recent years, the Statistical Learning community has actively proposed new probabilistic frameworks, closing the gap between first-order logic and probability theory (Getoor and Taskar, 2007). New models such as Object-Oriented Bayesian
Probabilistic Relational Models (PRMs) are a framework for compactly representing uncertainties (actually probabilities). They result from the combination of Bayesian Networks (BNs), Object-Oriented languages, and relational models. They are specifically designed for their efficient construction, maintenance and exploitation for very large scale problems, where BNs are known to perform poorly. Actually, in large-scale problems, it is often the case that BNs result from the combination of patterns (small BN fragments) repeated many times. PRMs exploit this feature by defining these patterns only once (the so-called PRM’s classes) and using them through multiple instances, as prescribed by the Object-Oriented paradigm. This design induces low construction and maintenance costs. In addition, by exploiting the classes’ structures, PRM’s state-of-the-art inference algorithm “Structured Variable Elimination” (SVE) significantly outperforms BN’s classical inference algorithms (e.g., Variable Elimination, VE; Local Conditioning, LC). SVE is actually an extension of VE that simply exploits classes to avoid redundant computations. In this article, we show that SVE can be enhanced using LC. Although LC is often thought as being outperformed by VE-like algorithms in BNs, we do think that it should play an important role for PRMs because its features are very well suited for best exploiting PRM classes. In this article, relying on Faÿ and Jaffray’s works, we show how LC can be used in conjunction with VE and deduce an extension of SVE that outperforms it for large-scale problems. Numerical experiments highlight the practical efficiency of our algorithm. KeywordsBayesian networks–Probabilistic relation models–Lifted inference–Structured Variable Elimination–Local Conditioning
Lionel Torti
added 2 research items
In many domains where experts are the main source of knowledge, e.g., in reliability and risk management, a framework well suited for modeling, maintenance and exploitation of complex probabilistic systems is essential. In these domains, models usually define closed-world systems and result from the aggregation of multiple patterns repeated many times. Object Oriented-based Frameworks (OOF) such as Probabilistic Relational Models thus offer an effective way to represent such systems. OOFs define patterns as classes and substitute large Bayesian networks (BN) by graphs of instances of these classes. In this framework, Structured Inference avoids many computation redundancies by exploiting class knowledge, hence reducing BN inference times by orders of magnitude. However, to keep modeling and maintenance costs low, OOF classes often encode only generic situations. More complex situations, even those repeated many times, are only represented by combinations of instances. In this paper, we propose to determine such combination patterns and exploit them as classes to speed-up Structured Inference. We prove that determining an optimal set of patterns is NP-hard. We also provide an efficient algorithm to approximate this set and show numerical experiments that highlight its practical efficiency.
Troubleshooting, risk management and reliability are important use of Probabilistic Graphical Models (PGM). In these domains, Bayesian Networks BNs) are favored, as they offer a sound framework for knowledge representation and probabilistic reason- ing. However, when used to model complex systems, BNs lack both scalability and reusability. In the late 90s, several BN extensions inspired by object-oriented program- ing languages appeared. These new frameworks were the first of a growing list of exten- sions that lead to First-Order Probabilistic Models (FOPMs). Yet, as the AI community set its focus on merging first-order logic with PGMs, BN’s modeling issues were set aside. Nonetheless, there are still many unanswered questions regarding object-oriented PGMs: can we extend inheritance ? How can we implement object-oriented concepts such as subtype polymorphisms, prototyping or abstraction ? What are the differences between FOPMs and object-oriented PGMs? In domains were expert knowledge is used to model systems, probabilistic inference is the principal use of BNs. There exists a wide variety of probabilistic inference al- gorithms, each exploiting different aspects of BNs (conditioning, junction trees, CNF, etc.). But, when we consider BNs extensions, there a few dedicated inference algo- rithms. Indeed, most extensions rely on ground inference, ie., on transforming their model into a BN and apply classic probabilistic inference algorithms. Among the few dedicated inference algorithms, Structured Variable Elimination (SVE, Pfeffer 1999) exploits object-oriented models to prevent redundant computations in networks with structural repetitions. However, SVE has several flaws preventing its use in systems designed by experts in which there is no structural uncertainty, ie., in closed world systems. This thesis purpose was to develop a complete object-oriented framework for di- rected PGMs and generalize the concepts of structured inference. After describing the current state-of-the-art, we propose a discussion about the different representation paradigms used in BN extensions (object-oriented, entity-relationship, first-order). Then we present the first contribution of this thesis: a fully object-oriented framework for di- rected PGMs. Using Probabilistic Relational Models (PRMs) as a starting point, we extend them to include features such as multiple inheritance, abstraction, subtype poly- morphisms and attribute typing inheritance.The second contribution of this thesis is the study and generalization of SVE. In- deed, SVE exploits the structural information encoded by classes to prevent redundant computations. We propose a reformulation of SVE and point out several flaws in the algorithm. We then generalize SVE by extending the concept of structured inference to our framework, resulting in a new probabilistic inference scheme called Structured Probabilistic Inference (SPI). Finally, we show how d-separation analysis and SPI can both be used conjointly to speed-up probabilistic inference in PRMs.The third contribution of this thesis push structured inference a step further. We exploit subgraphs mining to discover repeated patterns in a system. Such patterns define hight level structural repetitions, called dynamic classes, and can be exploited to speed- up SPI. We propose a complexity analysis of this problem and provide an approximate algorithm to discover "good" dynamic classes. We provide experimental results proving the efficiency of our approach.
Pierre-Henri Wuillemin
added 3 research items
In many domains where experts are the main source of knowledge, e.g., in reliability and risk management, a framework well suited for modeling, maintenance and exploitation of complex probabilistic systems is essential. In these domains, models usually define closed-world systems and result from the aggregation of multiple patterns repeated many times. Object Oriented-based Frameworks such as Probabilistic Relational Models (PRM) thus offer an effective way to represent such systems. They define patterns as classes and substitute large Bayesian networks (BN) by graphs of instances of these classes. In this framework, Structured Inference avoids many computation redundancies by exploiting class knowledge, hence reducing BN inference times by orders of magnitude. However, to keep modeling and maintenance costs low, object oriented-based framework’s classes often encode only generic situations. More complex situations, even those repeated many times, are only represented by combinations of instances. In this paper, we propose to determine online such combination patterns and exploit them as classes to speed-up Structured Inference. We prove that determining an optimal set of patterns is NP-hard. We also provide an efficient algorithm to approximate this set and show numerical experiments that highlight its practical efficiency.
Dynamic Bayesian networks (DBN) are handy tools to model complex dynamical systems learned from collected data and expert knowledge. However, expert knowledge may be incomplete, and data may be scarce (this is typically the case in Life Sciences). In such cases, using precise parameters to describe the network does not faithfully account for our lack of information. This is why we propose, in this paper, to extend the notion of DBN to convex sets of probabilities, introducing the notion of dynamic credal networks (DCN). We propose different extensions relying on different independence concepts, briefly discussing the difficulty of extending classical algorithms for each concept. We then apply DCN to perform a robustness analysis of DBN in a real-case study concerning the microbial population growth during a French cheese ripening process.
In the domain of decision theoretic planning, the factored framework (FMDP) has produced optimized algorithms using Decision Trees (SVI, SPI) and Algebraic Decision Diagrams (SPUDD). However, the state-of-the-art SPUDD algorithm requires i) the problem to be specified with binary variables and ii) the data structures to share a common order on variables. In this article, we propose a new algorithm within the factored framework that eliminates both these requirements. We compare our approach to the SPUDD algorithm. Experimental results show that our algorithm allows significant gains in time, illustrating a better trade-off between theoretical complexity of algorithms and size of representation. Copyright © 2013, Association for the Advancement of Artificial Intelligence. All rights reserved.
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.11.0 has been released. For more, see https://gitlab.com/agrumery/aGrUM/blob/master/CHANGELOG.md
 
Pierre-Henri Wuillemin
added a research item
In the domain of decision theoretic planning, the factored framework (Factored Markov Decision Process, FMDP) has produced optimized algorithms using Decision Trees (Structured Value Iteration (SVI),Structured Policy Iteration (SPI)) or Algebraic Decision Diagrams (Stochastic Planning Using Decision Diagrams (SPUDD)). Since it may be difficult to determine the factored models of such complex stochastic environments, the framework SDYNA, which combines planning and learning algorithms using structured representations was proposed. Yet, the state-of-the-art algorithms for incremental learning, for structured decision theoretic planning or for reinforcement learning require the problem to be specified only with binary variables and/or use data structures that can be improved in term of compactness. Recently,Multi-Valued Decision Diagrams (MDDs) were proposed as more efficient data structures and planning algorithms dedicated to these data structures were provided. The purpose of this article is to study how to incrementally learn such compact factored models on discrete domains. Its main result is an online learning algorithm for MDDs that shows significant improvements both in term of quality of the learned model and in time. Finally, we show that our algorithm leads to a SDYNA framework for simultaneous learning and planning using MDDs.
Pierre-Henri Wuillemin
added a research item
Dynamic Bayesian Networks (DBNs) provide a principled scheme for modeling and learning conditional dependencies from complex multivariate time-series data and have been used in a wide scope. However, in most cases, the underlying generative Markov model is assumed to be homogeneous, meaning that neither its topology nor its parameters evolve over time. Therefore, learning a DBN to model a non-stationary process under this assumption will amount to poor predictions capabilities. To account for non-stationary processes, we build on a framework to identify, in a streamed manner, transition times between underlying models and a framework to learn them in real time, without assumptions about their evolution. We show the method performances on simulated datasets. The goal of the system is to model and predict incongruities for an Intrusion Dectection System (IDS) in near real-time, so great care is attached to the ability to correctly identify transitions times. Our preliminary results reveal the precision of our algorithm in the choice of transitions and consequently the quality of the discovered networks. We finally suggest future works.
Pierre-Henri Wuillemin
added 2 research items
Performing probabilistic inference in multi-target dynamic systems is a challenging task. When the system, its evidence and/or its targets evolve, most of the inference algorithms either recompute everything from scratch, even though incremental changes do not invalidate all the previous computations, or do not fully exploit incrementality to minimize computations. This incurs strong unnecessary overheads when the system under study is large. To alleviate this problem, we propose in this paper a new junction tree-based message-passing inference algorithm that, given a new query, minimizes computations by identifying precisely the set of messages that differ from the preceding computations. Experimental results highlight the efficiency of our approach.
In the domain of decision theoretic planning, the factored framework (Factored Markov Decision Process, fmdp) has produced optimized algorithms using structured representations such as Decision Trees (Structured Value Iteration (svi), Structured Policy Iteration (spi)) or Algebraic Decision Diagrams (Stochastic Planning Using Decision Diagrams (spudd)). Since it may be difficult to elaborate the factored models used by these algorithms, the architecture sdyna, which combines learning and planning algorithms using structured representations, was introduced. However, the state-of-the-art algorithms for incremental learning, for structured decision theoretic planning or for reinforcement learning require the problem to be specified only with binary variables and/or use data structures that can be improved in term of compactness. In this paper, we propose to use Multi-Valued Decision Diagrams (mdds) as a more efficient data structure for the sdynaarchitecture and describe a planning algorithm and an incremental learning algorithm dedicated to this new structured representation. For both planning and learning algorithms, we experimentally show that they allow significant improvements in time, in compactness of the computed policy and of the learned model. We then analyzed the combination of these two algorithms in an efficient sdynainstance for simultaneous learning and planning using mdds.
Pierre-Henri Wuillemin
added a research item
Probabilistic inference is among the main topics with reasoning in uncertainty in AI. For this purpose, Bayesian Networks (BNs) is one of the most successful and efficient Probabilistic Graphical Model (PGM) so far. Since the mid-90s, a growing number of BNs extensions have been proposed. Object-oriented, entity-relationship and first-order logic are the main representation paradigms used to extend BNs. While entity-relationship and first-order models have been successfully used for machine learning in defining lifted probabilistic inference, object-oriented models have been mostly underused. Structured inference, which exploits the structural knowledge encoded in an object-oriented PGM, is a surprisingly unstudied technique. In this paper we propose a full object-oriented framework for PRM and propose two extensions of the state-of-the-art structured inference algorithm: SPI which removes the major flaws of existing algorithms and SPISBB which largely enhances SPI by using d-separation.
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.10.4 has been released. For more, see https://forge.lip6.fr/news/24
 
Pierre-Henri Wuillemin
added an update
aGrUM/pyAgrum 0.10.3 has been released. For more, see https://forge.lip6.fr/news/21
 
Pierre-Henri Wuillemin
added an update
New (patch) release for aGrUM/pyAgrum 0.10.1 (https://forge.lip6.fr/news/20)
 
Pierre-Henri Wuillemin
added an update
New release for aGrUM/pyAgrum 0.10.0 (https://forge.lip6.fr/news/18).
 
Pierre-Henri Wuillemin
added an update
pyAgrum installers using pip or conda are available. See https://forge.lip6.fr/projects/pyagrum/wiki/Install
 
Pierre-Henri Wuillemin
added 11 project references
Pierre-Henri Wuillemin
added a project goal
aGrUM ( (http://www.agrum.org) is a C++ library designed for easily building applications and algorithms using graphical models such as Bayesian networks, Markov network, influence diagrams, decision trees, GAI networks or Markov decision processes : inference, modelisation, classification, learning, scoring, model selection, etc.
pyAgrum is a python wrapper for the aGrUM library with specific python libraries and tools (notebook, causality, etc.)