Building large-scale Bayesian networks

Bayesian networks (BNs) model problems that involve uncertainty. A BN is a directed graph, whose nodes are the uncertain variables and whose edges are the causal or influential links between the variables. Associated with each node is a set of conditional probability functions that model the uncertain relationship between the node and its parents. The benefits of using BNs to model uncertain domains are well known, especially since the recent breakthroughs in algorithms and tools to implement them. However, there have been serious problems for practitioners trying to use BNs to solve realistic problems. This is because, although the tools make it possible to execute large-scale BNs efficiently, there have been no guidelines on building BNs. Specifically, practitioners face two significant barriers. The first barrier is that of specifying the graph structure such that it is a sensible model of the types of reasoning being applied. The second barrier is that of eliciting the conditional probability values. In this paper we concentrate on this first problem. Our solution is based on the notion of generally applicable “building blocks”, called idioms, which serve solution patterns. These can then in turn be combined into larger BNs, using simple combination rules and by exploiting recent ideas on modular and object oriented BNs (OOBNs). This approach, which has been implemented in a BN tool, can be applied in many problem domains. We use examples to illustrate how it has been applied to build large-scale BNs for predicting software safety. In the paper we review related research from the knowledge and software engineering literature. This provides some context to the work and supports our argument that BN knowledge engineers require the same types of processes, methods and strategies enjoyed by systems and software engineers if they are to succeed in producing timely, quality and cost-effective BN decision support solutions.

[1]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[2]  M. Goldstein,et al.  Multivariate Analysis: Methods and Applications , 1984 .

[3]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[4]  Paola Sebastiani,et al.  Learning conditional probabilities from incomplete databases - An experimental comparison , 1999, AISTATS.

[5]  Kathryn B. Laskey,et al.  Network Fragments: Representing Knowledge for Constructing Probabilistic Models , 1997, UAI.

[6]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[7]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[8]  Walter R. Gilks,et al.  A Language and Program for Complex Bayesian Modelling , 1994 .

[9]  Kathryn B. Laskey,et al.  Network Engineering for Complex Belief Networks , 1996, UAI.

[10]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[11]  T. Cook,et al.  Quasi-experimentation: Design & analysis issues for field settings , 1979 .

[12]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[13]  Judea Pearl,et al.  Probabilistic reasoning in intelligent systems - networks of plausible inference , 1991, Morgan Kaufmann series in representation and reasoning.

[14]  Michael Jackson,et al.  Principles of program design , 1975 .

[15]  Piero P. Bonissone,et al.  Proceedings of the Fourth Annual Conference on Uncertainty in Artificial Intelligence , 1990, UAI 1990.

[16]  Norman E. Fenton,et al.  Software metrics: successes, failures and new directions , 1999, J. Syst. Softw..

[17]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[18]  David J. Spiegelhalter,et al.  Local computations with probabilities on graphical structures and their application to expert systems , 1990 .

[19]  Avi Pfeffer,et al.  Object-Oriented Bayesian Networks , 1997, UAI.

[20]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[21]  A. Hasman,et al.  Probabilistic reasoning in intelligent systems: Networks of plausible inference , 1991 .

[22]  Bev Littlewood,et al.  Examination of Bayesian belief network for safety assessment of nuclear computer-based systems , 1998 .

[23]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[24]  David Wright,et al.  Assesing dependability of safety critical systems using diverse evidence , 1998, IEE Proc. Softw..

[25]  David Heckerman,et al.  Probabilistic similarity networks , 1991, Networks.

[26]  R. Cranley,et al.  Multivariate Analysis—Methods and Applications , 1985 .

[27]  Paul J. Krause,et al.  Learning probabilistic networks , 1999, The Knowledge Engineering Review.

[28]  Bev Littlewood,et al.  Applying Bayesian Belief Networks to System Dependability Assessment , 1996, SSS.

[29]  Judea Pearl,et al.  Fusion, Propagation, and Structuring in Belief Networks , 1986, Artif. Intell..

[30]  R. Gregory,et al.  Subjective Probability , 1957, Nature.

[31]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[32]  Roger S. Pressman,et al.  Software engineering (3rd ed.): a practitioner's approach , 1992 .