Categorías
Informática Universitario Videojuego

Análisis de Errores en la Predicción de Resultados de League of Legends

En los mercados de apuestas en vivo de League of Legends (LoL), el conocido título de Riot Games, donde las cuotas fluctúan en cuestión de segundos y la volatilidad de una sola pelea del equipo puede dar la vuelta a la partida, cometer errores en tus predicciones puede traducirse en perder miles de euros en una tarde.

Si esas predicciones se realizan mediante algún sistema de Aprendizaje Automático es importante saber que existe la disciplina del Análisis de Errores -como la denomina Andrew Ng- dentro de lo que es la metodología Data-Centric AI. Se trata de aislar todas las predicciones incorrectas que ha realizado nuestro modelo, separarlas en grupos (manualmente o mediante técnicas de agrupamiento) y reducir su dimensionalidad a 2 ó 3 dimensiones para poder mostrar gráficas y detectar mejor los patrones subyacentes a los errores de nuestra predicción.

Si no cometes errores, no estás trabajando en problemas suficientemente difíciles. Y eso es un error.

Frank Wilczek (1951-)

LoL es un videojuego de tipo Multiplayer Online Battle Arena (MOBA) donde dos equipos (el azul y el rojo) se enfrentan. Los cinco jugadores de cada equipo controlan unidades individuales («campeones») con habilidades, estadísticas y enfriamientos (cooldowns) diferentes, luchando en un escenario formado por tres grandes «líneas» y una jungla. Los jugadores van acumulando oro y experiencia a base de eliminar a los personajes no jugadores del equipo contrario (minions), a sus estructuras defensivas (torres que disparan de manera automática) y a otras criaturas neutrales que están en el escenario. El objetivo principal para ganar el juego es destruir el nexo (cuartel general) del enemigo.

Propuesta

La práctica consiste en utilizar técnicas de agrupamiento y reducción de la dimensionalidad para analizar los errores que ha cometido un cierto modelo de predicción sobre cómo clasifican como «victoria del equipo azul» (clase blueWins) las partidas de LoL a nivel competitivo. Se debe tener en cuenta toda la información disponible que nos proporciona la telemetría de un conjunto de datos tomado a los 10 minutos de juego.

El punto de partida es el repositorio de GitHub llamado Matches Base que contiene como Release un subconjunto de datos (train.csv) que es parte de otro más extenso descargado de la página web en Kaggle de League of Legends Diamond Ranked Games (10 min) y a su vez extraído mediante el API que ofrece el juego. Tras filtrar el conjunto de datos del alumno quedándonos sólo con el subconjunto de las muestras donde la predicción se equivoca (train-errors.csv), aplicamos las técnicas propuestas para analizar dichos errores.

Los bloques principales del estudio a realizar son:

A. Análisis exploratorio del conjunto de datos, limpieza y transformación (ej. escalado de características) teniendo en cuenta las técnicas que se van a usar más adelante para reducir dimensionalidad y hacer agrupamiento.

B. No aplica.

C. No aplica.

D. Reducción de la dimensionalidad sobre el conjunto de datos usando -al menos- el algoritmo PCA para llegar a las 2 dimensiones que mejor separan los distintos tipos de fallos. Muestra de un diagrama de dispersión y discusión de los resultados.

E. Agrupamiento del conjunto de datos con la dimensionalidad ya reducida usando -al menos- el algoritmo k-Means. Muestra de una tabla de resumen de promedios por agrupamiento y discusión de los resultados, interpretando lo que significan los agrupamientos en términos de patrones del juego que provocan fallos de predicción (ej. que significa el centroide del agrupamiento para cierta variable).

Revisión

Tener el repositorio a disposición del profesor, en formato entregable, preparado en tiempo y forma por todos los miembros del grupo de manera equitativa, supone un 10% de la nota de la práctica. El profesor tendrá una lista con los datos de todos los grupos y los enlaces a las organizaciones en GitHub (por ejemplo AAM23-G02, la del grupo 2 del curso Aprendizaje Automático y Minería de Datos 2023-2024) donde se encontrarán los repositorios de las prácticas (por ejemplo AAM23-G02-P0).

Revisión preliminar

Al día siguiente de la sesión de laboratorio de esta práctica marcada como «Preliminar» en el calendario se realiza la revisión preliminar, poniendo el foco principalmente en:

  • Cuaderno interactivo incompleto pero esbozado según la estructura recomendada por el profesor y presentada en el README.md. Supone un 10% de la nota.

Revisión final

Al día siguiente de la sesión de laboratorio de esta práctica marcada como «Finalización» en el calendario se realiza la revisión final, donde es posible volver a revisar lo de la revisión preliminar y además:

  • Proyecto con todos los ficheros de documentación, recursos, código fuente y resultados de la implementación, generalmente datos en formato CSV, cuadernos interactivos en formato IPYNB, aunque puedan aparecer Unity y C# en algunas prácticas (llamado por ejemplo AAM23_G02_P0). Supone un 20% de la nota. La documentación tiene tantas secciones como características a probar (esto es A, B, C, D y E). Supone un 10% de la nota. Cada característica del estudio (A, B, C, D y E) correctamente implementada supone un 10% de la nota, sumando un total de 50%.

Más información

Además de la bibliografía recomendada, se pueden investigar las siguientes referencias. En ningún caso se debe replicar código de terceros o de IA sin entenderlo bien y «hacerlo nuestro», y siempre asegurándonos de que funciona exactamente como se requiere en esta práctica.

Se pueden realizar ampliaciones para ir más allá en el aprendizaje.

  • Probar con otro conjunto de datos sobre League of Legends (como este) de los muchos que hay disponibles en Kaggle y otras plataformas.
  • Utilizar alguna otra técnica de reducción de la dimensionalidad como t-SNE o de agrupamiento avanzado como DBSCAN.
  • Reduce la dimensionalidad al conjunto de datos completo para obtener el espacio global de partidas en sólo dos dimensiones. Luego «proyecta» sobre esos datos las partidas donde el modelo se equivocó y aplica agrupamiento para identificar en qué regiones del conjunto de datos (ej. en las partidas igualadas vs. en las partidas extremas) se concentran más los fallos de predicción.

Esta página está licenciada bajo CC BY-NC-SA 4.0 por Laboratorios Narratech.