Definitions:
ROI - return on investment
Bankroll - total amount of money available to wager.
Disclaimer: This project is solely an exercise on web scraping and machine learning.
I do not use it to place bets myself
..., but if you are willing to proceed anyway, first consider that past performance
does not guarantee further performance. The further to the future we get, the more the conditions the matches are
played change and the more we are extrapolating from the training dataset. Concretely, new rules might be
introduced to the game, for instance the introduction of the video assistant referee (VAR). External factors
can also negatively influence the performance of the model, for example COVID-19 increases the chances of players missing a game.
Furthermore, the longer before the game begins, the less accurate the prediction will be.
Read more
The neural network was implemented mostly from scratch in Matlab, although some code snippets were used as provided by
Andrew Ng's machine learning course.
Very briefly, the current implementation includes:
- Data preprocessing (feature normalization, etc.)
- Batch normalization;
- Dropout regularization;
- L2 regularization;
- Adam optimization algorithm;
- A protocol for finding the learning rate based on this paper by Leslie Smith;
- Leaky ReLu for input and hidden layers, and softmax for output layer activation functions;
- A custom cost function consisting of the typical cross entropy loss function, but each match's outcome is weighted differently by multiplying the Kelly criterion for that outcome.
- A diagnostic protocol to evaluate the model.