Predicting soccer match full time results in the English Premier League using artificial neural networks

The English Premier League (EPL) is the most-watched sports league worldwide. This paper will attempt to predict the results of the top 6 teams (Chelsea, Tottenham, Arsenal, Liverpool, Manchester United and Manchester City) in the 2016-2017 season. For this we developed an artificial neural network...

Full description

Autores:
Namen León, Emil Camilo
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2017
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
eng
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/39612
Acceso en línea:
http://hdl.handle.net/1992/39612
Palabra clave:
Redes neurales (Computadores)
Teoría bayesiana de decisiones estadísticas
Fútbol
Juegos
Ingeniería
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/4.0/
Description
Summary:The English Premier League (EPL) is the most-watched sports league worldwide. This paper will attempt to predict the results of the top 6 teams (Chelsea, Tottenham, Arsenal, Liverpool, Manchester United and Manchester City) in the 2016-2017 season. For this we developed an artificial neural network using Matlab's Neural Network Toolbox. One of the key challenges was the construction of the input matrix using an own developed Python Web Scratcher App (https://github.com/EmilNamen/premierLeague). The input matrix uses statistics, that are based on the current as well as the past 13 seasons. The neural network was trained using the Bayesian Regularization algorithm. This has the advantage of a good generalization for small datasets, such as ours. This algorithm helps us determine the optimal weight of each input, in order to get the desired target. It would also neglect irrelevant inputs. Other algorithms such as Levenberg-Marquardt and Scaled Conjugate Gradient were also tested in the training stage, but the Bayesian Regularization returned the lowest error, and therefore was the optimal algorithm for training the neural network