Implemented a few new learning algorithms (which are all awful because they don't have class weights)