added the ability to optimize the net using the scipy function fmin_cg (conjugate gradient) - in general, this works better for smaller nets apparently