We present a new semi-parametric model for the prediction of implied volatility surfaces that can be estimated using machine learning algorithms. Given a reasonable starting model, a boosting algorithm based on regression trees sequentially minimizes generalized residuals computed as differences between observed and estimated implied volatilities. To overcome the poor predictive power of existing models, we include a grid in the region of interest, and implement a cross-validation strategy to find an optimal stopping value for the boosting procedure. Back testing the out-of-sample performance on a large data set of implied volatilities from S&P 500 options, we provide empirical evidence of the strong predictive power of our model.