--------------------------------------------- Machine Learning Algorithms ---------------------------------------------
Description of each directory:
Classification: Scripts to classify different events. These are used to discriminate between muons and electrons in the ANNIE experiment. Project includes: script1 to compare the performance of different classification algorithms (accuracy/ROC curves), script2 for the optimisation of each algorithm parameters, script3 to plot the normalised confusion matrix.
Clustering: Scripts to find the number of clusters - These are to be used to find the number of observed rings in the ANNIE experiment.
DSG_Turing: example scripts used for the NATS project (Data Study Group - Alan Turing Institute) to predict the aircraft trajectory using a ParticleFilter. See code.
EnergyReconstruction (Regression projects): Scripts used to predict the track length and the particle energy in water Cherenkov detectors.
- For the track length reconstruction in the ANNIE experiment we use a Deep Learning Neural Network from Tensorflow: See code1, code2, example data and paper
- For the muon/neutrino energy reconstruction in the ANNIE experiment we use a BDTG from Scikit-Learn. See code1, code2, example data and paper. Such code can be trained in a different step. In this case, we train the algorithm and store the weights using script1 and we make the prediction using the existing weights and script2.
- Developed a new generic method to reconstruct the incident particle energy from observable data in Water-Cherenkov detectors. For this project, the BDTG from Scikit-Learn was found to show the best performance as documented in this paper/JINST 13 P04009. See code. The different codes that were tested: the gradient BDT algorithms from the Scikit-Learn 0.18.2 and TMVA packages (ROOT 5.34/23), a multi-layer percepton Neural Network (NN) from the TMVA package and a multi-layer NN implemented using TensorFlow (TNN) via the Keras 1.2.2 library in Python can be found here.