PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking...
Transcript of PRanking with Rankinglekheng/meetings/...Ranking Margin w 5 4 3 2 1 , Margin(x,y) = min Ranking...
![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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/8.jpg)
• 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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/23.jpg)
• 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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/24.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/25.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/28.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/29.jpg)
• 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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/30.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/31.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/32.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/33.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/34.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/35.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/36.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/37.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/38.jpg)
(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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/39.jpg)
(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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/40.jpg)
(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](https://reader034.fdocuments.in/reader034/viewer/2022050114/5f4afff4c9090c333f73184d/html5/thumbnails/41.jpg)
• 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