# Preference learning

Preference learning is a subfield in machine learning in which the goal is to learn a predictive preference model from observed preference information.[1] In the view of supervised learning, preference learning trains on a set of items which have preferences toward labels or other items and predicts the preferences for all items.

While the concept of preference learning has been emerged for some time in many fields such as economics,[2] it's a relatively new topic in Artificial Intelligence research. Several workshops have been discussing preference learning and related topics in the past decade.[3]

## Contents

The main task in preference learning concerns problems in "learning to rank". According to different types of preference information observed, the tasks are categorized as three main problems in the book Preference Learning:[4]

### Label ranking

In label ranking, the model has an instance space ${\displaystyle X=\{x_{i}\}\,\!}$ and a finite set of labels ${\displaystyle Y=\{y_{i}|i=1,2,\cdots ,k\}\,\!}$. The preference information is given in the form ${\displaystyle y_{i}\succ _{x}y_{j}\,\!}$ indicating instance ${\displaystyle x\,\!}$ shows preference in ${\displaystyle y_{i}\,\!}$ rather than ${\displaystyle y_{j}\,\!}$. A set of preference information is used as training data in the model. The task of this model is to find a preference ranking among the labels for any instance.

It was observed some conventional classification problems can be generalized in the framework of label ranking problem:[5] if a training instance ${\displaystyle x\,\!}$ is labeled as class ${\displaystyle y_{i}\,\!}$, it implies that ${\displaystyle \forall j\neq i,y_{i}\succ _{x}y_{j}\,\!}$. In the multi-label case, ${\displaystyle x\,\!}$ is associated with a set of labels ${\displaystyle L\subseteq Y\,\!}$ and thus the model can extract a set of preference information ${\displaystyle \{y_{i}\succ _{x}y_{j}|y_{i}\in L,y_{j}\in Y\backslash L\}\,\!}$. Training a preference model on this preference information and the classification result of an instance is just the corresponding top ranking label.

### Instance ranking

Instance ranking also has the instance space ${\displaystyle X\,\!}$ and label set ${\displaystyle Y\,\!}$. In this task, labels are defined to have a fixed order ${\displaystyle y_{1}\succ y_{2}\succ \cdots \succ y_{k}\,\!}$ and each instance ${\displaystyle x_{l}\,\!}$ is associated with a label ${\displaystyle y_{l}\,\!}$. Giving a set of instances as training data, the goal of this task is to find the ranking order for a new set of instances.

### Object ranking

Object ranking is similar to instance ranking except that no labels are associated with instances. Given a set of pairwise preference information in the form ${\displaystyle x_{i}\succ x_{j}\,\!}$ and the model should find out a ranking order among instances.

## Techniques

There are two practical representations of the preference information ${\displaystyle A\succ B\,\!}$. One is assigning ${\displaystyle A\,\!}$ and ${\displaystyle B\,\!}$ with two real numbers ${\displaystyle a\,\!}$ and ${\displaystyle b\,\!}$ respectively such that ${\displaystyle a>b\,\!}$. Another one is assigning a binary value ${\displaystyle V(A,B)\in \{0,1\}\,\!}$ for all pairs ${\displaystyle (A,B)\,\!}$ denoting whether ${\displaystyle A\succ B\,\!}$ or ${\displaystyle B\succ A\,\!}$. Corresponding to these two different representations, there are two different techniques applied to the learning process.

### Utility function

If we can find a mapping from data to real numbers, ranking the data can be solved by ranking the real numbers. This mapping is called utility function. For label ranking the mapping is a function ${\displaystyle f:X\times Y\rightarrow \mathbb {R} \,\!}$ such that ${\displaystyle y_{i}\succ _{x}y_{j}\Rightarrow f(x,y_{i})>f(x,y_{j})\,\!}$. For instance ranking and object ranking, the mapping is a function ${\displaystyle f:X\rightarrow \mathbb {R} \,\!}$.

Finding the utility function is a regression learning problem which is well developed in machine learning.

### Preference relations

The binary representation of preference information is called preference relation. For each pair of alternatives (instances or labels), a binary predicate can be learned by conventional supervising learning approach. Fürnkranz and Hüllermeier proposed this approach in label ranking problem.[6] For object ranking, there is an early approach by Cohen et al.[7]

Using preference relations to predict the ranking will not be so intuitive. Since preference relation is not transitive, it implies that the solution of ranking satisfying those relations would sometimes be unreachable, or there could be more than one solution. A more common approach is to find a ranking solution which is maximally consistent with the preference relations. This approach is a natural extension of pairwise classification.[6]

## Uses

Preference learning can be used in ranking search results according to feedback of user preference. Given a query and a set of documents, a learning model is used to find the ranking of documents corresponding to the relevance with this query. More discussions on research in this field can be found in Tie-Yan Liu's survey paper.[8]

Another application of preference learning is recommender systems.[9] Online store may analyze customer's purchase record to learn a preference model and then recommend similar products to customers. Internet content providers can make use of user's ratings to provide more user preferred contents.