41
PRanking with Ranking Based on joint work with Yoram Singer at the Hebrew University of Jerusalem Koby Crammer Technion – Israel Institute of Technology

PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

PRanking with Ranking

Based on joint work with Yoram Singer at the Hebrew University of Jerusalem

Koby Crammer Technion – Israel Institute of Technology

Page 2: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Problem

3 3 0 1

Machine Prediction

User’s Rating

Ranking Loss 3

Page 3: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Ranking – Formal Description

•  Instances

•  Labels

•  Structure

•  Ranking rule

•  Ranking Loss

•  Algorithm works in rounds •  On each round the ranking

algorithm : –  Gets an input instance –  Outputs a rank as prediction –  Receives the correct rank-

value –  Computes loss –  Updates the rank-prediction

rule

Online Framework Problem Setting

1 2 3 4 5

x1 is preferred over x2

Page 4: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Goal

•  Algorithms Loss

•  Loss of a fixed function

•  Regret

•  No statistical assumptions over data •  The algorithm should do well irrespectively of

specific sequence of inputs and target labels

Lt = yi − ˆ y ii=1

t

Lt f( ) = yi − f xi( )i=1

t

Lt − inff ∈FLt f( )

Page 5: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Background

Binary Classification

Page 6: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

1 2

w

The Perceptron Algorithm Rosenblatt, 1958

•  Hyperplane w

Page 7: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

1 2

w

(X,1)

•  Hyperplane w •  Get new instance x •  Classify x :

sign( )

The Perceptron Algorithm Rosenblatt, 1958

Page 8: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

•  Hyperplane w •  Get new instance x •  Classify x :

sign( ) •  Update (in case of a mistake)

w

1 2

1 2

w

(X,1)

The Perceptron Algorithm Rosenblatt, 1958

Page 9: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

A Function Class for Ranking

Page 10: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Our Approach to Ranking •  Project

Page 11: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Our Approach to Ranking •  Project

•  Apply Thresholds

< >

4 3 2 1 Rank

Page 12: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Update of a Specific Algorithm

it if its not Broken Least change as possible

One step at a time

Page 13: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

PRank

•  Direction w, Thresholds

w

5 1 3 2 4

Rank Levels

Thresholds

Page 14: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

PRank

•  Direction w, Thresholds

•  Rank a new instance x

w

5 1 3 2 4

Page 15: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

PRank

•  Direction w, Thresholds

•  Rank a new instance x •  Get the correct rank y

w

5 1 3 2 4

Correct Rank Interval

Page 16: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

PRank

•  Direction w, Thresholds

•  Rank a new instance x •  Get the correct rank y •  Compute Error-Set E w

5 1 3 2 4

Page 17: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

PRank – Update

•  Direction w, Thresholds

•  Rank a new instance x •  Get the correct rank y •  Compute Error-Set E •  Update :

– 

w

Page 18: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

PRank – Update

•  Direction w, Thresholds

•  Rank a new instance x •  Get the correct rank y •  Compute Error-Set E •  Update :

– 

– 

w

x

x

w

Page 19: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

PRank – Summary of Update

•  Direction w, Thresholds

•  Rank a new instance x •  Get the correct rank y •  Compute Error-Set E •  Update :

– 

– 

w

x

x

w

x

Page 20: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Predict :

Get the true rank y

Compute Error set :

Get an instance x Maintain

No

? Yes

Update

The PRank Algorithm

Page 21: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Analysis Two Lemmas

Page 22: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Consistency

•  Can the following happen?

w

b 4 b 2 b 2 b 3 b 1

Page 23: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

•  Can the following happen?

•  The order of the thresholds is preserved after each round of PRank : .

Consistency

No

w

b 4 b 2 b 2 b 3 b 1

Page 24: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Given : •  Arbitrary input sequence

Easy Case: •  Assume there exists a model that ranks all

the input instances correctly –  The total loss the algorithm suffers is bounded

Hard Case: •  In general

–  A “regret” is bounded

Regret Bound

Lt − inff ∈F

˜ L t f( )

Page 25: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Margin(x,y) = min

Ranking Margin

w

1 2 4 5 3

,

Page 26: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Margin(x,y) = min

Ranking Margin

w

1 2 4 5 3

,

Page 27: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Margin(x,y) = min

Ranking Margin

w

1 2 4 5 3

,

Page 28: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Margin(x,y) = min

Ranking Margin

Margin = min Margin

w

1 2 4 5 3

,

Page 29: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

•  Input sequence , •  Norm of instances is bounded •  Ranked correctly by a normalized ranker with Margin>0

Mistake Bound

Number of Mistakes PRank Makes

Given :

Then :

Page 30: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Exploit Structure

Loss Range Structure

Classification None

Regression Metric

Ranking Order

Under Constraint

Over Constraint

Page 31: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Other Approaches

•  Treat Ranking as Classification or Regression

•  Reduce a ranking problem into a classification problem over pair of examples

–  Not simple to combine preferences predictions over pairs into a singe consistent ordering

–  No simple adaptation for online settings

Basu, Hirsh, Cohen 1998

Freund, Lyer, Schapire, Singer 1998 Herbrich, Graepel, Obermayer 2000

E.g.

E.g.

Page 32: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Empirical Study

Page 33: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

An Illustration

PRank Ranking

MC-Perceptron Classification

Widrow-Hoff Regression

•  Five concentric ellipses •  Training set of 50 points •  Three approaches

•  Pranking •  Classification •  Regression

Page 34: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Each-Movie database

•  74424 registered Users •  1648 listed Movies •  Users ranking of movies •  7451 Users saw >100 movies •  1801 Users saw >200 movies

Page 35: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Ranking Loss, 100 Viewers

Ran

k Lo

ss

Round

WH MC-Perceptron PRank

Over constrained

Under constrained

Accurately constrained

Regression Classification PRank

Page 36: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Ranking Loss, 200 Viewers

WH MC-Perceptron PRank

Round

Ran

k Lo

ss

Regression Classification PRank

Page 37: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

Demonstration

Page 38: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

(1) User choose movies from this list

(2) Movies chosen and ranked by user

Page 39: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

(3) Press the ‘learn’ key. The systems learns the user’s taste

(4) The system re-ranks the training set

(5) The system re-ranks a new fresh set of yet unseen movies

Page 40: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

(6) Press the ‘flip’ button to see what movies you should not view

(7) The flipped list

Page 41: PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking Margin Margin = min Margin w 5 4 3 2

•  Many alternatives to formulate ranking •  Choose one that models best your problem •  Exploit and Incorporate structure •  Specifically:

–  Online algorithm for ranking problems via projections and conservative update of the projection’s direction and the threshold values

–  Experiments on a synthetic dataset and on Each-Movie data set indicate that the PRank algorithm performs better then algorithms for classification and regression