Monte Carlo Machine Learning Library
The Monte Carlo Machine Learning Library (MCMLL) is an open source C++ template library which already relies on some C++0x specs. MCMLL is licensed under the GNU GPL. It is developed under the 64 bit Linux OS. MCMLL should be usable on other platforms as well, since it is based on ISO C++.
The philosophy behind MCMLL is to have a broad range support for Monte Carlo methods to implement machine learning applications. Since Monte Carlo methods are inherently parallelizable, the goal is to provide multi-threaded implementations of the most important methods.
MCMLL has an emphasis on Monte Carlo methods. Some main components of MCMLL are:
- complete framework for vector and matrix computations
- multi-threaded support for generic Evolutionary algorithms (EA)
- support for generic Sequential Monte Carlo methods ('Particle Filtering').
Example applications include:
- support for learning Artificial Neural Networks (ANN) using EA's
- example programs for Sequential Monte Carlo methods ('Particle Filtering')
- a benchmark suite for testing and implementing Evolutionary Algorithms.
Supported Evolutionary Algorithms
The supported EA's are:
- Genetic Algorithm (GA)
- Particle Swarm Optimization (PSO)
- Differential evolution family: (DE, jDE, JADE without history, R2DE, SAR2DE, ...)
- Covariance Matrix Adaptation Evolution Strategies (CMA-ES)
- Artificial Bee Colony Algorithm (ABC)
- many more...
Supported Sequential Monte Carlo Methods
For particle filtering, the Sequential Importance Resampling (SIR) method is supported. To create an SMC application based on MCMLL, one has to define an observation distribution, a transition distribution and optionally an importance distribution to be used in the SIR operator.
- MOEA Framework, an open source Java framework for multiobjective evolutionary algorithms
- ECJ, a toolkit to implement evolutionary algorithms
- Paradiseo, a metaheuristics framework
- J. Brest, S. Greiner, B. Boskovic, M. Mernik, V. Zumer. Self-Adapting Control Parameters in Differential Evolution: A Comparative Study on Numerical Benchmark Problems. IEEE Transactions on Evolutionary Computation, 2006. DOI 10.1109/TEVC.2006.872133
- Jingqiao Zhang and Arthur C. Sanderson. 2009. JADE: adaptive differential evolution with optional external archive. Trans. Evol. Comp 13, 5 (October 2009), 945-958. DOI=10.1109/TEVC.2009.2014613 http://dx.doi.org/10.1109/TEVC.2009.2014613
- Onay Urfalioglu and Orhan Arikan, Randomized and Rank Based Differential Evolution, Machine Learning and Applications, Fourth International Conference on, vol. 0, isbn 978-0-7695-3926-3, 2009, pp 95--100, http://doi.ieeecomputersociety.org/10.1109/ICMLA.2009.29
- Urfalioglu, Onay and Arikan, Orhan, Self-adaptive randomized and rank-based differential evolution for multimodal problems, Journal of Global Optimization, Springer Netherlands, 2011, pp 1--34, http://dx.doi.org/10.1007/s10898-011-9646-9