-
Notifications
You must be signed in to change notification settings - Fork 3
Home
The objective of the Machine Learning Optimiser (MLO) algorithm is to minimise the number of fitness function evaluations when solving a parameter optimisation problem, which is clearly more beneficial than traditional approaches, when the fitness function takes a long time to return. The motivation for this was for optimising parameters when designing reconfigurable computer systems, but it is useful in any parameter optimisation problem with a time consuming fitness function.
Our project is to create an extensible MLO, using Python. The most recent version of the product includes an intuitive GUI, a very straightforward framework for creating new regressors, classifiers and meta-heuristics, multi-threading and multi-processing to increase performance, crash-recovery, and more.
MLO is Imperial College custom computing group project. The work
1.Maciej Kurek
2.Tobias Becker
3.Wayne Luk
4.Jack Bracewell
5.Milan Misak
6.Craig Ellis
###v0.x
Maciej developed the initial version of MLO in an incremental fashion. Lack of initially specified architecture resulted in a choatic and unstable code. The version is no longer updated, yet is still available as a branch.
###v1.x
Evolution of the rudimentary v.0.0. The base version was developed by three Imperial College students as part of their third group year project. This tool uses professional software development practices. The most recent version of the MLO. Currently the master branch.
not available..
Whenever you are assigned to a new milestone, please ask me (Maciej) to create a new branch which is going to be your working space. We are going to merge branches every now and then.. yet as I am the only person involved in all of the work.. please leave it to me :)
1.Please submit an issue. For example if your machine breaks, some feature does not work or you find results being completely silly.
2.If you come up and implement a new feature which would benefit others please create a small commit to the master branch. Inform me (Maciej) beforehand.
3.If you start a new project, please request a new branch for yourself.
-
Please do not commit .pyc files and your log directories. Images pyc files etc. are specific to your work/machine and there are no reasons for you to include it in the repository.
-
Do not commit to master branch without informing me (again.. Maciej) about it:) You are free to do whatever you wish within your branch.
-
Do not commit changes to the configuration script! It's a template design meant to work for all of the revisions...
MLO uses a number of python libraries.
1.numpy
2.scipy
3.deap
4.scikit-learn
5.infpy
6.matplotlib
7.wxpython
8.GitPython
Currently MLO is not a standalone product, in future releases packaged product might be provided.
###Testing
The current system has been tested using the following machines :
N/A
Please refer to trails.py.
After definining a new meta-heuristic it can be used by setting
Surrogate models are defined as classes in surrogatemodel.py. To add new models, define a new class like ProperSurrogateModel.
Defined in regressors.py
Defined in classifier.py