Learning as Optimization