1. A computer-implemented method comprising: determining, with a data processing apparatus having one or more processors, model parameters for a plurality of feature functions for a linear machine learning model; ranking, with the data processing apparatus, the plurality of feature functions according to a quality criterion; selecting, with the data processing apparatus, a group of feature functions from the plurality of feature functions based on the ranking, where selecting the group of feature functions further comprises: for each source sentence in a plurality of source sentences, calculating a source sentence error surface as a function of number of updates for ranked feature functions, merging all source sentence error surfaces into an aggregate error surface, and identifying an optimal number of updates for ranked feature functions that minimizes the aggregate error surface; and updating, with the data processing apparatus, the model parameters for the feature functions in the selected group.
4. The method of claim 1 , where selecting the group of feature functions further comprises: selecting the group of feature functions to include a particular feature function if updating the particular feature function with the respective optimal model parameter does not increase an error count.