On-Line MCMC Bayesian Model Selection
This demo demonstrates how to use the sequential Monte Carlo algorithm with reversible jump MCMC steps to perform model selection in neural networks. We treat both the model dimension (number of neurons) and model parameters as unknowns. The derivation and details are presented in: Christophe Andrieu, Nando de Freitas and Arnaud Doucet. Sequential Bayesian Estimation and Model Selection Applied to Neural Networks . Technical report CUED/F-INFENG/TR 341, Cambridge University Department of Engineering, June 1999. After downloading the file, type "tar -xf version2.tar" to uncompress it. This creates the directory version2 containing the required m files. Go to this directory, load matlab5 and type "smcdemo1". In the header of the demo file, one can select to monitor the simulation progress (with par.doPlot=1) and modify the simulation parameters.
Electromagnetic scattering from the trees above a tilted rough ground plane generated by the stochastic Lidenmayer system is studied by Monte Carlo simulations in this paper.The scattering coefficients are calculated in three methods:coherent addition approximation,tree-independent scattering,and independent scattering.
Klaas Gadeyne, a Ph.D. student in the Mechanical Engineering Robotics Research Group at K.U.Leuven, has developed a C++ Bayesian Filtering Library that includes software for Sequential Monte Carlo methods, Kalman filters, particle filters, etc.
Uniform random number generators
by Agner Fog, 2001 - 2007
randomc.zip contains a C++ class library of uniform random number generators of good quality.
The random number generators found in standard libraries are often of a poor quality, insufficient for large Monte Carlo calculations. This C++ implementation provides random number generators of a much better quality: Better randomness, higher resolution, and longer cycle lengths.
The same random number generators are available as libraries coded in assembly language for higher speed. These libraries can be linked into projects coded in other programming languages under Windows, Linux, BSD, etc. The library files are available in the archive asmlib.zip.
Non-uniform random number generators are provided in stocc.zip.
Computes BER v EbNo curve for convolutional encoding / soft decision
Viterbi decoding scheme assuming BPSK.
Brute force Monte Carlo approach is unsatisfactory (takes too long)
to find the BER curve.
The computation uses a quasi-analytic (QA) technique that relies on the
estimation (approximate one) of the information-bits Weight Enumerating
Function (WEF) using
A simulation of the convolutional encoder. Once the WEF is estimated, the analytic formula for the BER is used.
pMatlab is a toolsbox from MIT for running matlab in parallel style on a multi-core PC or a cluster environment. These two documents summary the usage of pMatlab and running time measurements on three simple Monte Carlo simulation codes.
The package includes 3 Matlab-interfaces to the c-code:
1. inference.m
An interface to the full inference package, includes several methods for
approximate inference: Loopy Belief Propagation, Generalized Belief
Propagation, Mean-Field approximation, and 4 MONTE-carlo sampling methods
(Metropolis, Gibbs, Wolff, Swendsen-Wang).
Use "help inference" from Matlab to see all options for usage.
2. gbp_preprocess.m and gbp.m
These 2 interfaces split Generalized Belief Propagation into the pre-process
stage (gbp_preprocess.m) and the inference stage (gbp.m), so the user may use
only one of them, or changing some parameters in between.
Use "help gbp_preprocess" and "help gbp" from Matlab.
3. simulatedAnnealing.m
An interface to the simulated-annealing c-code. This code uses Metropolis
sampling method, the same one used for inference.
Use "help simulatedAnnealing" from Matlab.