miércoles, 13 de octubre de 2010

Posibles variables para el aprendizaje supervisado

De los datos obtenidos de los registros de los juegos podemos utilizar las siguientes variables para utilizarlas dentro del aprendizaje supervisado:

  • Posición inicial y final del balón.
  • Posición inicial y final de los jugadores propios/rivales.
  • Cantidad de pases en la jugada.
  • Número de jugadores involucrados en la jugada (jugadores que tuvieron contacto con el balón o que hicieron algún movimiento en la jugada).
  • Duración de la jugada.
  • Número de pases por jugada.
  • Promedio de cercanía a los jugadores rivales respecto al balón.
  • Promedio de distancia recorrida por los jugadores.
Promedio de distancia recorrida por el balón en cada pase.

Random Forests

Las características principales de este tipo de aprendizaje supervisado son:

  • Se ejecutan de manera eficiente en grandes bases de datos.
  • Puede manejar miles de variables sin eliminarlas.
  • Brinda un estimado de cuáles son las variables más importantes en la clasificación.
  • Genera un estimado del error de generalización mientras se construye el bosque.
  • Tiene un método efectivo para estimar datos faltantes y logra mantener una buena precisión aunque falte una cantidad considerable de datos.
  • Tiene métodos para balanceo del error de clases en conjuntos de datos desbalanceados.
  • Los bosques generados pueden ser guardados para uso futuro en otros datos.
  • Se computan prototipos que dan información sobre la relación de las variables y la clasificación.
  • Computa proximidad entre pares de casos que pueden ser usados en clustering, encontrar valores atípicos o para proporcionar vistas de los datos.
  • Se puede extender a datos sin clasificación y a aprendizaje no supervisado.
  • Ofrece un método para la detección de la interacción entre variables.

Gracias al uso de este algoritmo se puede encontrar relaciones posibles entre las variables obtenidas de los logs de los juegos y la relevancia que estas tienen para el desarrollo de las jugadas. Además de que para un posible trabajo a futuro se pueden utilizar los bosques guardados para generar jugadas propias en base a los valores de relevancia de las variables y pasarlas por el mismo clasificador para predecir de cierta forma el posible éxito de la jugada.

Algoritmo de aprendizaje supervisado

Los algoritmos de aprendizaje supervisado son varios y según las pruebas realizadas por Caruana y Niculescu-Mizil (2006) sobre los algoritmos más populares que incluyen SVMs (máquinas de soporte vectorial), redes neuronales, regresión logística, naive bayes, árboles de decisión, etc. Logran concluir a partir de llevar a cabo varias pruebas y con respecto a métricas como lo son precisión, F-Score, ROC Area, punto de equilibrio, error cuadrático y cruce de entropía, el algoritmo que mejor desempeño general obtuvo.

Esta prueba había sido realizada previamente por el Statlog Project a inicios de la década de los 90’s sin embargo desde dicha prueba habían surgido nuevos algoritmos que parecían tener un mejor desempeño. Las pruebas se llevaron a cabo con un conjunto de cinco mil ejemplos y en los casos en los que aplicara, se realizaron pruebas con los algoritmos calibrados y sin calibrar.

Los resultados obtenidos postraron a los Calibrated Boosted Trees seguidos de cerca por los Random Forests. Debido a esta calificación y a las características de los Random Forest he determinado elegirlos como el algoritmo de aprendizaje que utilizaré.

Caruna, R., & Niculescu-Mizil, A. (2006). An empirical comparison of supervised learning algorithms. Proceedings of the 23rd international conference on Machine learning (págs. 161-168). Pittsburgh, Pennsylvania: ACM.

División del terreno de juego

La división del terreno de juego se ha determinado hacer de la siguiente forma a diferencia de la propuesta por el equipo Hanna en 2004 y por Myriam Arias en 2008 con el fin de que el cambio de zonas sea más sensible en las jugadas aunque podría cambiar si las divisiones no son suficientes.

Representación de las jugadas

Las jugadas consisten de dos archivos XML. Uno contiene las condiciones iniciales de las jugadas y el otro el desarrollo de las mismas. El primer archivo permite que la búsqueda de la jugada que se acomode mejor a las circunstancias del terreno de juego sea de manera eficiente al tener un tamaño de archivo reducido.

La estructura básica del primer archivo es la siguiente:

<PlayBook>
 <Play id=”1” duration=”5”>
  <Start>
   <Ball>
    <Zone>1</Zone>
   </Ball>
   <Player unum=”1” side=”l”>
    <Zone>1<Zone>
   </Player>
   <Player unum=”1” side=”l”>
    <Zone>1<Zone>
   </Player>
.
. (Todos los jugadores propios y del rival)
.
   <Player unum=”11” side=”r”>
    <Zone>1<Zone>
   </Player>
  </Start>
 </Play>
</PlayBook>

Mientras que la descripción de las jugadas se encuentra formado de la siguiente manera:

<PlayBook>
 <Play id =”1” duration=”5”>
  <Ball>
   <Time step=”1”>
   (Para cada tiempo en que cambie de zona el balón)
    <Zone>1</Zone>
   </Time>
  </Ball>
  <Player unum=”1” side=”l”>
   <Time step=”1”> 
   (Para cada tiempo en que cambie de zona el jugador
   o realice un kick)
    <Zone>1<Zone>
    <Kick>5</Kick>
    (Indica la zona a la que se debe
     enviar el balón)
   <Time>
  </Player>
.
. (Todos los jugadores propios)
.
  <Player unum=”11” side=”l”>
   <Time step=”1”> 
    <Zone>1<Zone>
    <Kick>5</Kick>
   <Time>
  </Player>
  <End>
  (Condiciones en las que término la jugada)
   <Ball>
    <Zone>5</Zone>
    (Zona en la que terminó el balón,
    dependiendo de esta se puede calificar
    la jugada)
   </Ball>
  </End>
 </Play>
</PlayBook>

Evaluación de las jugadas

La calificación de las jugadas será en base a la zona en que terminaron siendo así que mientras más cercanas al área rival tendrán una mejor calificación. Podría considerarse también la inclusión de la zona de inicio de la jugada como parámetro. Si la jugada termina con una anotación se deberá dar un peso o calificación especial.

Limpieza de jugadas

Duración de la jugada.- si hubo solo uno o dos pases posiblemente no sea una jugada sino una circunstancia.

Cambios en el estado de juego.- Difícil determinar el grado de éxito de la jugada ya que se pudo ver afectada por una falta cometida por otro jugador, por el final del partido o el final del primero de los dos tiempos.

Balón abandonó el terreno de juego (por los costados alejados de la portería contraria o en portería propia).- Posiblemente se dio mal un pase u ocurrió otra circunstancia que no permita determinar el valor de la jugada.

El balón es interceptado.- Si el balón es interceptado lejos del área rival aparte de cortar la jugada (por lo que lo registrado sería una jugada incompleta) podría también significar que no es una buena jugada.

Separación de las jugadas

  • Inician con un kick de algún jugador del equipo al que se esté siguiendo.
    • Posición del equipo.
    • Posición del rival.
    • Posición del balón.
    • Jugador que inicia la jugada.
  • Final de una jugada
    • Kick o Catch de un oponente.
    • El balón sale del terreno de juego.
    • El árbitro marca una falta.
    • Cambio en el estado de juego.

Acciones dentro de las jugadas

Kick – Existe un jugador en rango y realiza la acción kick (se incrementa el contador de dicha acción en el log).

Pass – Se determina como la existencia de dos kicks seguidos por parte de un mismo equipo (es decir no hubo otro kick intermedio de un rival, no se toma en cuenta las acciones como dash ya que no intervienen en el pase, sin embargo hay que considerar una posible marcación del árbitro que corte la jugada).

Intercepción – Se tiene cuando un equipo realiza un kick y el siguiente es dado por un rival por lo que se deduce que se perdió la posesión del balón.

Dash – Se determina con el movimiento de los jugadores en las zonas del campo.

Tackle – Determinar posteriormente como un medio para que el jugador la realice pero no como parte de la jugada.