Compute probabilities properly
Remove some unnecessary Learner constructors
Add stochastic gradient ascent step