32
Pricing Football Players using Neural Networks Sourya Dey Final Project - Neural Learning and Computational Intelligence April 19 th 2017, University of Southern California

Pricing Football Players using Neural Networks

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Pricing Football Players using Neural Networks

Pricing Football Playersusing Neural Networks

Sourya Dey

Final Project - Neural Learning and Computational Intelligence

April 19th 2017, University of Southern California

Page 2: Pricing Football Players using Neural Networks

How the Football Transfer Market Works

2

Club A

Clinical goalscorerReliable defender

Potential youngsterInternational Star

Nominal Price = $2 Million

Club C

Club B

Page 3: Pricing Football Players using Neural Networks

How the Football Transfer Market Works

2

Club A

Clinical goalscorerReliable defender

Potential youngsterInternational Star

Nominal Price = $2 Million

Club C

Club B

Initial Bid = $2.2 Million

Rival Bid = $2.1 Million

Page 4: Pricing Football Players using Neural Networks

How the Football Transfer Market Works

2

Club A

Clinical goalscorerReliable defender

Potential youngsterInternational Star

Nominal Price = $2 Million

Club C

Club B

Initial Bid = $2.2 Million

Rival Bid = $2.1 Million

Asking Price = $2.5 Million

Page 5: Pricing Football Players using Neural Networks

How the Football Transfer Market Works

2

Club A

Clinical goalscorerReliable defender

Potential youngsterInternational Star

Nominal Price = $2 Million

Club C

Club B

Initial Bid = $2.2 Million

Rival Bid = $2.1 Million

Asking Price = $2.5 MillionCanโ€™t match asking price

Counter Bid = $2.3 Million

Page 6: Pricing Football Players using Neural Networks

How the Football Transfer Market Works

2

Club A

Clinical goalscorerReliable defender

Potential youngsterInternational Star

Nominal Price = $2 Million

Club C

Club B

Initial Bid = $2.2 Million

Rival Bid = $2.1 Million

Asking Price = $2.5 MillionCanโ€™t match asking price

Counter Bid = $2.3 Million

Negotiate

Page 7: Pricing Football Players using Neural Networks

How the Football Transfer Market Works

2

Club A

Clinical goalscorerReliable defender

Potential youngsterInternational Star

Nominal Price = $2 Million

Club C

Club B

Initial Bid = $2.2 Million

Rival Bid = $2.1 Million

Asking Price = $2.5 MillionCanโ€™t match asking price

Counter Bid = $2.3 Million

Negotiate

Page 8: Pricing Football Players using Neural Networks

How the Football Transfer Market Works

2

Club A

Clinical goalscorerReliable defender

Potential youngsterInternational Star

Nominal Price = $2 Million

Club C

Club B

Initial Bid = $2.2 Million

Rival Bid = $2.1 Million

Asking Price = $2.5 MillionCanโ€™t match asking price

Counter Bid = $2.3 Million

Negotiate

SOLD for $2.4 Million

Seal deal before transfer window closes!

Page 9: Pricing Football Players using Neural Networks

Money Talks

3

The January I moved from Birmingham to Blackburn, I sat there by the phone for 13 days, worrying, waiting for it to go through - I lost a stone.

โ€œ

โ€-- Robbie Savage

Former Premier League Midfielder Football Focus Special, 2011

Negotiations are a big part of football. What is the optimum price for a player?

Page 10: Pricing Football Players using Neural Networks

Data Source: FIFA 2017

4

A football simulation video game with official licenses for most major teams and players in the world

Page 11: Pricing Football Players using Neural Networks

FIFA 2017 in-game image

Player Attributes

5

Page 12: Pricing Football Players using Neural Networks

Authenticity of Data

6

Season Ticket Holders

Managers

Feedback from 9000 data reviewers

Scouts

300 data points per

player

Stats updated weekly on EA servers as per

real-life performance

Page 13: Pricing Football Players using Neural Networks

Criticisms of Data Authenticity

u Subjectivity by EA

u Not enough data on fledgling players

u Imperfect formula

7

If Messi were playing in the Irish league, his attributes would drop simply because he's not on the highest level anymore.

โ€œ

โ€-- Michael Mueller-Moehring

EA Sports Producer and Ratings Specialist Interview with ESPN FC, September 2016

Page 14: Pricing Football Players using Neural Networks

Gathering Data โ€“ sofifa.com

8

Page 15: Pricing Football Players using Neural Networks

Prices

9Original Bottom-Heavy Prices

Rounded Min Price = $43K Rounded Max

Price = $37M

Most Common Price = $1.1M

Rounded and Categorized

Occur as quantized values except for a few outliers

Page 16: Pricing Football Players using Neural Networks

?. . .

x41

.

.

. x119

Network Structure

u 119 output price values (categories)

u 41 input features u 37 on a scale of 0โ€“99

u Age on a range of 16-43

u 3 on a scale of 1-5 stars

u Normalized to ๐œ‡ = 0, ๐œŽ = 1

10

Page 17: Pricing Football Players using Neural Networks

Data Splits

11

0

2000

4000

6000

8000

10000

12000

14000

16000

Training: 71% 10914 samples

Validation: 13% 1926 samples

Test: 16% 2500 samples

Total:

15340 players

Page 18: Pricing Football Players using Neural Networks

Network Experiments

u Activation functions

u Number and size of hidden layers

u Learning rate and its decay

u Regularization (L2)

u Nesterov Momentum

u Early stopping to prevent overfitting

12

Page 19: Pricing Football Players using Neural Networks

Activation Functions

13

Perc

enta

ge A

ccur

acy

0

1.5

3

4.5

6

Number of Hidden Neurons

500 1500 2500 3500 4500

Sigmoid+Softmax Tanh+Softmax ReLU+Softmax ReLU+Sigmoid

ReLU for all hidden layers and softmax for output layer works best

Page 20: Pricing Football Players using Neural Networks

Size of 1st Hidden Layer

14

No real trend. Max accuracy for 3900 neurons. I picked 2000 neurons for final model after optimizing other parameters.

Perc

enta

ge A

ccur

acy

2

3

4

5

6

Number of Hidden Neurons

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

Page 21: Pricing Football Players using Neural Networks

Perc

enta

ge A

ccur

acy

10

13

16

19

22

Learning Rate

0.008 0.01 0.033 0.067 0.1 0.133 0.167 0.2 0.25 0.3

200 1000 2000 3000

Learning rate ๐œ‚

15

0

5.25

10.5

15.75

21

Learning Rate

1.0E-07 1.0E-06 1.0E-05 1.0E-04 1.0E-03 1.0E-02

Perc

enta

ge A

ccur

acy

Number of neurons in 2nd hidden layer

Picked eta = 0.01

Page 22: Pricing Football Players using Neural Networks

Size of subsequent hidden layers

16

Perc

enta

ge A

ccur

acy

17

18

19

20

21

X = Number of neurons in 2nd hidden layer

500 1000 1500 2000 2500

Perc

enta

ge A

ccur

acy

21

22.5

24

25.5

27

X = Number of neurons in 3rd hidden layer

500 1000 1500 2000 2500

Network config = [41,2000,X,119] Picked X = 1500

Network config = [41,2000,1500,X,119] Picked X = 500

Final network configuration = [41,2000,1500,500,119]

Page 23: Pricing Football Players using Neural Networks

Learning rate decay (Annealing)

17

๐œ‚๐‘ก =๐œ‚0

1 + ๐’Œ๐‘ก

0

3.75

7.5

11.25

15

Learning Rate Decay Coefficient k

1.0E-05 1.0E-04 1.0E-03 1.0E-02

Perc

enta

ge A

ccur

acy

Picked k = 0.001

Page 24: Pricing Football Players using Neural Networks

Nesterov Momentum

18

๐‘ค๐‘ก+1 = ๐‘ค๐‘ก โˆ’ ๐œ‚๐œ•(๐ถ๐‘œ๐‘ ๐‘ก)

๐œ•๐‘ค๐‘ก

๐‘ค๐‘ก+1 = (๐‘ค โˆ’ ๐ โˆ† ๐‘ค)๐‘กโˆ’ ๐œ‚

๐œ•(๐ถ๐‘œ๐‘ ๐‘ก)๐œ•(๐‘ค โˆ’ ๐ โˆ† ๐‘ค)

๐‘ก

Ordinary Gradient Descent Update

Nesterov Momentum Update

Perc

enta

ge A

ccur

acy

24

27

30

33

36

Momentum Coefficient mu

0.8 0.9 0.99

Picked Nesterov = 0.99๐œ‡

๐‘ค๐‘ก+1 = (๐‘ค โˆ’ ๐ โˆ† ๐‘ค)๐‘กโˆ’ ๐œ‚

๐œ•(๐ถ๐‘œ๐‘ ๐‘ก)๐œ•๐‘ค

๐‘ก

Momentum Update

Page 25: Pricing Football Players using Neural Networks

L2 Regularization

19

๐ถ๐‘œ๐‘ ๐‘ก + = ๐€โˆ‘ ๐‘ค2

35

36.5

38

39.5

41

L2 parameter lambda

1.0E-08 1.0E-07 1.0E-06 1.0E-05 1.0E-04 1.0E-03

Perc

enta

ge A

ccur

acy

Picked = 5e-4 = 0.0005๐œ†

Page 26: Pricing Football Players using Neural Networks

Early Stopping

Prevent overfitting by stopping training when validation accuracy doesnโ€™t improve over some threshold number of epochs

20

Picked threshold = 10 epochs

Page 27: Pricing Football Players using Neural Networks

Final Training Conditions

u Network configuration = [41,2000,1500,500,119]

u ReLU activation for all hidden layers, finally softmax output

u L2 Regularization Coefficient = 0.0005

u Learning rate = 0.01, annealing coefficient = 0.001

u Nesterov momentum coefficient = 0.99

u Minibatch size = 20

21

Early stopping at 60 epochs

Page 28: Pricing Football Players using Neural Networks

Accuracy Metrics

22

Actual Predicted

PredictedActual

PredictedActual

(Top-1) Accuracy: Prediction exactly matches actual price

Top-3 Accuracy

Top-5 Accuracy

40.32%

71.28%

87.2%

Page 29: Pricing Football Players using Neural Networks

Average Percentage Error (APE) in Price

23

๐ด๐‘ƒ๐ธ = Avg๐ด๐‘™๐‘™ ๐‘‡๐‘’๐‘ ๐‘ก ๐‘†๐‘Ž๐‘š๐‘๐‘™๐‘’๐‘ 

๐‘‡๐‘Ÿ๐‘ข๐‘’ ๐‘๐‘Ÿ๐‘–๐‘๐‘’ โˆ’ ๐‘ƒ ๐‘Ÿ๐‘’๐‘‘๐‘–๐‘๐‘ก๐‘’๐‘‘ ๐‘๐‘Ÿ๐‘–๐‘๐‘’

๐‘‡๐‘Ÿ๐‘ข๐‘’ ๐‘๐‘Ÿ๐‘–๐‘๐‘’ร— 100

APE = 6.32%

Page 30: Pricing Football Players using Neural Networks

Potential Improvements

u Star outliers hard to predict

u Goalkeeping stats not considered

u Training beyond ~60 epochs doesnโ€™t improve u Vanishing gradients: Use different eta for each layer

24

Lionel Messi: $96 Million

Manuel Neuer: $75 Million

Page 31: Pricing Football Players using Neural Networks

Additional Details

u Accompanying report u More explanations

u References

u Code Available on Github

u Tools Used u Python 2.7

u Theano

u Keras

25

Page 32: Pricing Football Players using Neural Networks

Ending Quote

If you have the money and you find the one player who can make you win and make the difference, no matter how expensive he is, you should do it. But there are not many players in the world who will make a real difference.

26

โ€œ

โ€-- Arsene Wenger

Manager, Arsenal Football Club Interview with The Times, 2009