1. A method to perform preference learning on a set of documents, the method 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; expressing that one document is preferred over another in a search query and retrieving one or more documents responsive to the search query; and summing over all tuples (q,d + ,d − ) in R: W * = argmin W ⁢ 1  R  ⁢ ∑ ( q , d + , d - ) ∈ R ⁢ L W ⁡ ( q , d + , d - ) , where R is a set of tuples, q is a query, d + is a preferred document, d − is an unprefereed document, and L w is a loss for W.