Powering recommendation engines, speech recognition and way-finding apps on our smartphones, machine learning permeates our lives in more ways than we realize. The machine learning models behind these systems, however, can be extremely difficult and non-intuitive to optimize. Experts don’t always know why exactly some model configurations work in certain cases and not in others, and even the simplest models can have a dizzying number of parameters to tune. Often these models are tuned using trial and error, but this can be time-consuming and costly.