Monday, March 2, 2009

Fase II (LMS) y un pequeño giro al proyecto

Bueno, pues creo que sobra decir que nuestro pequeño proyecto de naves autómatas inteligentes asesinas se convirtió en uno de apuestas de partidos de la NBA. Habiéndo dicho esto, procedemos a desentrañar nuestro proyecto de la siguiente manera:

Medio ambiente

Nuestro medio ambiente es un programa que simula las quinielas que se llevan a cabo a fin de apostar en los partidos de basketball de la temporada regular de la NBA, donde los equipos juegan al menos unas 3 veces cada semana. El medio ambiente ha sido programado en el lenguaje C++ y es una aplicación de escritorio con visualización en consola.
Básicamente el medio te da la opción de entrenar por medio del algoritmo LMS o de apostar por los partidos de una fecha que no se ha jugado.


Actividad de aprendizaje

El propósito del agente inteligente, es aprender qué estadísticas tomar en cuenta a fin de hacer una mejor apuesta por un equipo, es decir, que al monitorear las actividades de la temporada regular y el comportamiento de los equipos, observa y aprende qué factores son los más importantes para llevar a un equipo a la victoria.
Los pesos que se le dan a cada estadística (puntos, asistencias, rebotes, faltas, etc.), se ajustan a medida que los equipos juegan y de esta forma se predice de mejor manera qué equipo tiene una mayor posibilidad de ganar para los siguientes encuentros.
Un aspecto importante a considerar es que la máquina al aprender se beneficia más de los equipos que son en cierta manera más consistentes, ya que le permite aprender de entrenamientos que son más representativos de la realidad.


Solución

a. Selección de experiencia de aprendizaje
Tarea (T): Apostar convenientemente en los partidos de basket ball de la NBA
Medida de desempeño (P): % de apuestas ganadas y de dinero obtenido
Experiencia de entrenamiento (E): Apuestas con cierto grado de incertidumbre
Retroalimentación: indirecta
Ejemplos de entrenamiento: Partidos calendarizados ya jugados.
Distribución de ejemplos de prueba: Partidos calendarizados por jugar.

b. Selección de la función objetivo
Función meta: Escoger apuesta (V): B → M
B: Conjunto de estadísticas reales
M: Conjunto de posibles ganadores donde:
Equipo al que apuesto gana V(b) = 100
Equipo al que apuesto pierde V(b) = -100

c. Representación de la función objetivo
Función polinomial: w0 + w1x1 + w2x2 + . . . + w13x13 + w14x14
Donde:
x1 = % Puntos por partido
x2 = % Tiros de campo
x3 = % Tiros de 3 puntos
x4 = % Tiros libres
x5 = % Asistencias
x6 = % Rebotes ofensivos
x7 = % Rebotes defensivos
x8 = % Robos de balón
x9 = % Turnovers (contraataques)
x10 = % Faltas
x11 = % Bloqueos
x12 = % Tiros de campo anotados
x13 = % Tiros de 3 puntos anotados
x14 = % Tiros libres anotados
Y donde:
{w0, w1, w2 . . . w13, w14} = Pesos a aprender, inicializados en 0.5

d. Selección de algoritmo de aproximación
Ejemplos de entrenamiento [b, VEnt (b)]
Algoritmo LMS (Least Mean Square)
Calcula los pesos de la siguiente manera:
wi → wi + ŋ ( VEnt (b) – V’(b) ) xi

Ejemplo:
pesos[j] += COEFN*(calificacion[n]-valorF)*(diferenciaPuntos[n][j]);

Donde:
ŋ = COEFN = .001 (Constante que ayuda a calcular pesos)


Conclusiones

El algoritmo LMS ha funcionado correctamente al actualizar los pesos de manera efectiva. Un ejemplo es que ha dado un menor peso a factores menos importantes como las faltas, las cuáles muchas veces no afectan al resultado de los partidos, mientras que ha asignado un mayor peso a factores como los tiros de campo anotados por partido, dónde estos si representan un factor clave para la victoria de un equipo.
Otra de las conclusiones que sacamos, es que a fin de que las apuestas fueran más certeras, es necesario que los valores reales de los equipos sean más consistentes. Por ejemplo, equipos que siempre juegan de la misma manera, tienen una mayor representatividad a la hora de poner a prueba el programa, ya que sus pesos fueron calculados de una manera más fidedigna. Existen otros equipos menos consistentes los cuales podrían jugar muy bien un partido y en otro perder de manera muy marcada. Estos equipos también alimentan al sistema y lo hacen más susceptible a fallas, sin embargo, al final el agente determina basado en su aprendizaje, a quién debemos apostar, y acierta al hacerlo muchas veces.
También cabe mencionar que entre más se alimente al sistema con ejemplos de entrenamiento, más puede este definir un posible ganador. A la fecha lo hemos alimentado con 4 semanas y aún así ya tiene una conclusión bastante fuerte y acertada de qué factores son los que más influyen en los equipos en particular.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.