Optimization Methods for Semi-Supervised Learning