annotate toolboxes/FullBNT-1.0.7/docs/majorFeatures.html @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
rev   line source
wolffd@0 1
wolffd@0 2 <h2><a name="features">Major features</h2>
wolffd@0 3 <ul>
wolffd@0 4
wolffd@0 5 <li> BNT supports many types of
wolffd@0 6 <b>conditional probability distributions</b> (nodes),
wolffd@0 7 and it is easy to add more.
wolffd@0 8 <ul>
wolffd@0 9 <li>Tabular (multinomial)
wolffd@0 10 <li>Gaussian
wolffd@0 11 <li>Softmax (logistic/ sigmoid)
wolffd@0 12 <li>Multi-layer perceptron (neural network)
wolffd@0 13 <li>Noisy-or
wolffd@0 14 <li>Deterministic
wolffd@0 15 </ul>
wolffd@0 16 <p>
wolffd@0 17
wolffd@0 18 <li> BNT supports <b>decision and utility nodes</b>, as well as chance
wolffd@0 19 nodes,
wolffd@0 20 i.e., influence diagrams as well as Bayes nets.
wolffd@0 21 <p>
wolffd@0 22
wolffd@0 23 <li> BNT supports static and dynamic BNs (useful for modelling dynamical systems
wolffd@0 24 and sequence data).
wolffd@0 25 <p>
wolffd@0 26
wolffd@0 27 <li> BNT supports many different <b>inference algorithms</b>,
wolffd@0 28 and it is easy to add more.
wolffd@0 29
wolffd@0 30 <ul>
wolffd@0 31 <li> Exact inference for static BNs:
wolffd@0 32 <ul>
wolffd@0 33 <li>junction tree
wolffd@0 34 <li>variable elimination
wolffd@0 35 <li>brute force enumeration (for discrete nets)
wolffd@0 36 <li>linear algebra (for Gaussian nets)
wolffd@0 37 <li>Pearl's algorithm (for polytrees)
wolffd@0 38 <li>quickscore (for QMR)
wolffd@0 39 </ul>
wolffd@0 40
wolffd@0 41 <p>
wolffd@0 42 <li> Approximate inference for static BNs:
wolffd@0 43 <ul>
wolffd@0 44 <li>likelihood weighting
wolffd@0 45 <li> Gibbs sampling
wolffd@0 46 <li>loopy belief propagation
wolffd@0 47 </ul>
wolffd@0 48
wolffd@0 49 <p>
wolffd@0 50 <li> Exact inference for DBNs:
wolffd@0 51 <ul>
wolffd@0 52 <li>junction tree
wolffd@0 53 <li>frontier algorithm
wolffd@0 54 <li>forwards-backwards (for HMMs)
wolffd@0 55 <li>Kalman-RTS (for LDSs)
wolffd@0 56 </ul>
wolffd@0 57
wolffd@0 58 <p>
wolffd@0 59 <li> Approximate inference for DBNs:
wolffd@0 60 <ul>
wolffd@0 61 <li>Boyen-Koller
wolffd@0 62 <li>factored-frontier/loopy belief propagation
wolffd@0 63 </ul>
wolffd@0 64
wolffd@0 65 </ul>
wolffd@0 66 <p>
wolffd@0 67
wolffd@0 68 <li>
wolffd@0 69 BNT supports several methods for <b>parameter learning</b>,
wolffd@0 70 and it is easy to add more.
wolffd@0 71 <ul>
wolffd@0 72
wolffd@0 73 <li> Batch MLE/MAP parameter learning using EM.
wolffd@0 74 (Each node type has its own M method, e.g. softmax nodes use IRLS,<br>
wolffd@0 75 and each inference engine has its own E method, so the code is fully modular.)
wolffd@0 76
wolffd@0 77 <li> Sequential/batch Bayesian parameter learning (for fully observed tabular nodes only).
wolffd@0 78 </ul>
wolffd@0 79
wolffd@0 80
wolffd@0 81 <p>
wolffd@0 82 <li>
wolffd@0 83 BNT supports several methods for <b>regularization</b>,
wolffd@0 84 and it is easy to add more.
wolffd@0 85 <ul>
wolffd@0 86 <li> Any node can have its parameters clamped (made non-adjustable).
wolffd@0 87 <li> Any set of compatible nodes can have their parameters tied (c.f.,
wolffd@0 88 weight sharing in a neural net).
wolffd@0 89 <li> Some node types (e.g., tabular) supports priors for MAP estimation.
wolffd@0 90 <li> Gaussian covariance matrices can be declared full or diagonal, and can
wolffd@0 91 be tied across states of their discrete parents (if any).
wolffd@0 92 </ul>
wolffd@0 93
wolffd@0 94 <p>
wolffd@0 95 <li>
wolffd@0 96 BNT supports several methods for <b>structure learning</b>,
wolffd@0 97 and it is easy to add more.
wolffd@0 98 <ul>
wolffd@0 99
wolffd@0 100 <li> Bayesian structure learning,
wolffd@0 101 using MCMC or local search (for fully observed tabular nodes only).
wolffd@0 102
wolffd@0 103 <li> Constraint-based structure learning (IC/PC and IC*/FCI).
wolffd@0 104 </ul>
wolffd@0 105
wolffd@0 106
wolffd@0 107 <p>
wolffd@0 108 <li> The source code is extensively documented, object-oriented, and free, making it
wolffd@0 109 an excellent tool for teaching, research and rapid prototyping.
wolffd@0 110
wolffd@0 111 </ul>
wolffd@0 112
wolffd@0 113