TrueSkill - Updating player skills in tennis with Expectation Propagation inference algorithm Daniel Korzekwa ([email protected]) March 21, 2013

What is the problem to solve? Let’s define a tennis player p = {player_id} and tennis match outcome o = {pi , pj , time, winner}. Given tennis players {p1 , ..., pn } and historical outcomes of tennis matches {o1 , ..., on }, predict the probability p(o|pi , pj , t) of winning a tennis match by player pi against player pj at the time t.

TrueSkill rating model TrueSkill [1] is a Bayesian rating system developed by Ralf Herbrich, Tom Minka and Thore Graepel at Microsoft Reseach Centre in Cambridge, UK. Although, it is mostly used for ranking and matching players on Xbox Online Games, it is a general rating model that could be applied to any game, including Chess, Tennis or Football. It models every player with a single skill variable s ∼ N (x|m, v), which indicates how good player is on tennis. The expected skill value m is accompanied by a level of uncertainty v, which tells us, how confident we are about the player’s skill estimation. Usually, the skill uncertainty decreases after observing the result of a game and it increases over the time, when player is not playing any games. Regarding to the expect skill value m, it moves up for a winner of a game and it shifts in an opposite direction for a loser. What if we knew the true skill (variance v = 0) of a tennis player? Would we know for sure, how is he going to perform in a particular game? Probably not. It’s because the player performance in a specific game depends on a number of factors, including player skill, player consistency, weather conditions and many other things. For that reason, we introduce performance variable p ∼ N (x|ms , v), with a variance v indicating the amount of uncertainty about player performance given his expected skill value ms . Let’s introduce random variable d ∼ I(pi > pj ) that represents the difference between performance values for players pi and pj . Now, we can predict the outcome of a tennis match o ∼ I(d > 0), which is the probability that player pi will perform better in a game than player pj . It is defined as p(o) = 1 − Φd (0), where Φd (0) is the value of a cumulative distribution function of a difference random variable d. TrueSkill rating model is nothing else than a Bayesian Network, illustrated in a figure 1, composed of the random variables for skill s, performance p, performance difference d and match outcome o.

1

Figure 1: Bayesian Network for a True Skill rating model in tennis

Three queries of interest in the Tennis Bayesian Network include, predicting the outcome of a tennis match and computing marginal distributions for skill variables of both tennis players given observed outcome of a tennis game. p(o) = 1 − Φd (0)

(1)

ˆ p(si |o) =

p(si , sj |o)dsj

(2)

p(si , sj |o)dsi

(3)

ˆ p(sj |o) =

Tennis example Consider two tennis players p1 and p2 playing a tennis game and assume that we are provided with the probability distributions of skill and performance variables for both players at the beginning of the game.

p(s1 )

=

N (x|m = 4, v = 81)

p(p1 |s1 )

=

N (x|ms , v = 17.361)

p(s2 )

=

N (x|m = 41, v = 25)

p(p2 |s2 )

=

N (x|ms , v = 17.361)

We ask for the probability of winning the game by player p1 and we would like to know the skills for both players given player p1 is a winner. First, compute marginals of performance variables for both players.

2

ˆ p(p1 )

p(s1 )p(p1 |s1 )ds1 = N (m = 4, v = 98.368)

= ˆ

p(p2 )

p(s2 )p(p2 |s2 )ds2 = N (m = 41, v = 42.368)

=

Next, compute marginal for performance difference variable. ˆ p(d) = p(p1 )p(p2 )I(d = pi > pj )dp1 dp2 = N (x|m = −37.0, v = 140.736) Now, compute the probability of winning the game by player p1 at the beginning of a game. p(o) = 1 − Φd (0) = 0.0009 And finally, infer the skills for both players after the game and calculate the probability of winning the game given new skills. ˆ p(s1 |o)

p(s1 , s2 |o)ds2 = N (x|m = 27.174, v = 37.501)

= ˆ

p(s2 |o)

=

p(onext )

=

p(s1 , s2 |o)ds1 = N (x|m = 33.846, v = 20.861) 1 − Φd_next (0) = 0.244

Figure 2 shows the skills for both players, before and after the game. The expected skill value increases for the winner of the game and it lowers for the loser. The value of variance around skills of both players goes down in a result of revealed information about the outcome of a tennis game.

Figure 2: Skills for player p1 and p2 before and after the game (Player p1 is the winner)

3

Bayesian Inference with Expectation Propagation Expectation Propagation [2] is a deterministic and approximated Bayesian inference algorithm developed by Thomas Minka. It’s sometimes referred as a generalization of Belief Propagation [3] algorithm, in a sense that, instead of passing exact belief messages between factors and variables in a factor graph, it sends belief expectations such as Gaussian distribution. This algorithm plays a central role in the TrueSkill rating model, by inferring the player skills and the probabilities of winning a tennis game. As a practical example, consider the task of calculating the new value of skill for a tennis player given observed outcome of a game. We follow here the process of performing Expectation Propagation inference, presented by Thomas Minka during his lecture on Expectation Propagation that he gave at Machine Learning Summer School in Cambridge UK, 2009 [4]. First, draw a factor graph

Figure 3: Factor graph for a True Skill rating model in tennis

Next, define a message schedule to be executed on a factor graph. Every message forms a uniform Gaussian distribution N (x|m, v). The proj(q)[2, 5] operation in the message mf 6→f 5 refers to the moment matching technique for approximating function q with a Gaussian distribution.

m1 : mf 1→f 2

=

si 4

ˆ m1 p(pi |si )dsi

m2 : mf 2→f 5

=

m3 : mf 3→f 4

=

m4 : mf 4→f 5

=

m5 : mf 5→f 6

=

m2 − m4

m6 : mf 6→f 5

=

proj(m5 p(o|d))/m5

m7 : mf 5→f 2

= m6 + m4 ˆ = m7 p(pi |si )dpi

m8 : mf 2→f 1

sj ˆ m3 p(pj |sj )dsj

The next step involves executing the message schedule for a number of iterations till achieving some converge point. In our setup, Expectation Propagation algorithm converges after a single iteration, only because there is a single approximated message sent in a factor graph. In the end, we can calculate the value of skill for playeri by multiplying all incoming messages for the variable si p(si |o) = mf 1→f 2 mf 2→f 1

Appendix A Example implementation of Expectation Propagation for a tennis game is available under BayesScala toolbox.

References [1] Ralf Herbrich, Tom Minka, Thore Graepel. TrueSkill TM: A Bayesian Skill Rating System, 2007 [2] Thomas P Minka. A family of algorithms for approximate Bayesian inference, 2001 [3] Christopher M. Bishop. Pattern Recognition and Machine Learning (Information Science and Statistics), 2009 [4] Thomas Minka, Microsoft Research, Cambridge UK. Lecture on Approximate Inference. Machine Learning Summer School. Cambridge UK, 2009 [5] Daniel Korzekwa. Gaussian approximation with moment matching, aka proj() operator in Expectation Propagation, 2013 [6] Bayes-Scala Toolbox - TrueSkill, Expectation Propagation in Tennis

5

TrueSkill - Updating player skills in tennis with Expectation ... - GitHub

Mar 21, 2013 - and matching players on Xbox Online Games, it is a general rating model ... The expected skill value m is accompanied by a level of uncertainty v, which ... tennis match and computing marginal distributions for skill variables of both .... Pattern Recognition and Machine Learning (Information Science and.

200KB Sizes 58 Downloads 197 Views

Recommend Documents

Scalatron Player Setup - GitHub
A CLI-Friendly Scalatron Template. 25. SCALATRON ... publishing (namely, installing Scala and using a network share for publication). On this path ... 1. download the Scalatron distribution, e.g. from http://scalatron.wordpress.com. 2. unzip the ...

pdf-1288\althea-gibson-tennis-player-ferguson-career-biographies ...
Try one of the apps below to open or edit this item. pdf-1288\althea-gibson-tennis-player-ferguson-career-biographies-by-michael-benson.pdf.

Readline Ninja Skills - GitHub
Mar 7, 2016 - refer to the current command you are typing !search - refer to the last commmand that starts with search !?search? - refer to the last command ...

ZakFargo Objective Skills - GitHub
Communicator Online (now Teams). Created customer facing documentation personalized for each customer. Troubleshot and fixed issues with customer configurations of software. Delivered outstanding customer service to subscribers. Worked with exchange

Updating Beliefs With Causal Models
Gordon was developing Markov models of memory processes before the field was old enough to say “rehearsal buffer.” Indeed, as a new student of Gordon's, ...

Updating Student information in iParent.pdf
One other ethnicity. Residential Address. Mailing Address. Phone Numbers – These are the phone numbers that will be used by the. School Messenger System.

Expectation-Maximization Algorithm in Image ...
Mar 15, 2007 - Specification. Estimate. Maximize. Gaussian. E-Step. M-Step. Results. Reference. Expectation-Maximization Algorithm in Image. Segmentation.

Location Proof Updating System with Collusion ...
These applications are location-sensitive since location proof plays a critical role in ... Location proof server: As our goal is not only to monitor real-time locations, ...

Updating Student information in iParent.pdf
... a request to have the information updated. through the school secretary. You can update the following information: Personal Information: Title. First Name.

Interacting with VW in active learning - GitHub
Nikos Karampatziakis. Cloud and Information Sciences Lab. Microsoft ... are in human readable form (text). ▷ Connects to the host:port VW is listening on ...

Updating Beliefs With Causal Models: Violations of ...
that it does not trace back in one way or another to Gordon Bower. Gordon is like ... Call that set of relevant states R. Then mental states prior to the critical states ...

Counting with generating functions in MAXIMA - GitHub
In this paper we describe implementations of two counting methods which are based on generating func- ... Pólya theory [2] is an important counting method when some objects that are ...... [9] http://www.tcs.hut.fi/Software/bliss/index.html. 19.

Predicting visibilities in MeqTrees with UVBrick - GitHub
SixpackImageComponent (Python). FFTBrick ... interpolated visibilities as a function of frequency and time. ... enables one to calculate V(u,v,w) from V(u,v,w=0).

Research Engineer Technical Skills Recent Professional ... - GitHub
Page 1 ... Engineer at agri esprit – Developed rich web interfaces using common lisp and modern javascript. 2012 - 2013-06. ¯ Engineer at ... 2010 - 2012. ¯ Research Engineer – Helped build the R&D team at neoway and led it in creating a.

Developing skills for Amazon Echo - GitHub
Jan 26, 2017 - Page 2. About the author. 2. ○ 2016 Supervised bachelor thesis about NUIs .... [7] https://developer.amazon.com/edw/home.html#/skills/list ...

Updating KASEPF details in GAIN PFWebsite.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Updating ...

Objective Education Experience Tech Skills - GitHub
Dec 21, 2016 - I am passionate about frontier tech, which is the most exciting part of technology. Love Reading Books and hungry for knowledge. Also i am ...

Updating Contact Information.pdf
Jun 5, 2017 - Network Participation. ○ Disclosure information. ○ ACC opt-in changes. 1. Login to Provider Web Portal. 2. Click Provider Maintenance.