The final project for the University of Waterloo’s Machine Learning in the Physical Sciences class was to recreate the results of a research paper of our choosing. My team chose the paper Self-Learning Monte Carlo Method. Working in a team of four we recreated an algorithm that updates states in a monte carlo ising simulation. The algorithm outperforms traditional local or wolff/cluster updates at and near phase transitions. View more on our repo.