1. A method to perform preference learning on a set of documents, comprising: receiving raw input features from the set of documents stored on a data storage device; generating polynomial combinations from the raw input features; generating one or more parameters W; applying W to one or more classifiers to generate outputs; determining a loss function and parameter gradients and updating W; determining one or more sparse regularizing terms and updating W; and expressing that one document is preferred over another in a search query and retrieving one or more documents responsive to the search query.