El #MachineLearning en el deporte lo haces tú

bigml-train

El pasado 25 de enero la periodista y especialista en nuevas tecnologías Soraya Paniagua publicaba la entrevista al CEO y cofundador de Bigml de paso por España Francisco J Martín.

Conocí a Francisco desde su etapa en Strands y no tuve dudas en formar parte del proyecto de BigML dentro de mis posibilidades y conocimientos, de ahí nació este blog, y siempre he pensado que es una persona de las que van abriendo camino, quizás a veces, adelantado a su momento, pero, en cierta medida y en su campo, un genio.

En la entrevista que publica Soraya, Francisco reflexiona sobre el momento actual de los datos, de la inteligencia artificial y del Machine Learning o aprendizaje automático y, como siempre, avanzando sobre lo que la mayoría no vemos, lanza sus ideas, su convencimiento sobre la evolución futura sobre la que asienta su negocio BigML.

El futuro de la inteligencia artificial no está en conseguir el último y mejor algoritmo, si no en el conocimiento específico en cada campo de aplicación sobre los datos relevantes y su aplicación de algoritmos de inteligencia artificial exitentes para extraer aquella información relevante de ls datos que nos permita ser más efectivos o acertar más en las decisiones complejas que nos presentan los problemas diarios en el mundo de la empresa, del deporte, de la ciencia, educación, etc.

Por tanto el futuro está en nuestra manos, o en las manos de aquellos expertos en cada campo sobre el que quieran aplicar la Inteligencia Artificial.

Está claro que la automatización de procesos gracias a esta inteligencia artificial sustituirá muchos puestos de trabajo, pero en realidad y en aquellas funciones más complejas o que dependerán siempre de la responsabilidad humana, la Inteligencia Artificial será un assitente en tiempo real que nos ayudará a aumentar nuestra efectividad en la toma de decisiones.

Uno de estos campos es el entrenamiento deportivo.

Con mayor o menos profundidad en el estudio de la fisiología, la biomecánica humana, los marcadores biológicos de recuperación, adaptación, etc, al final las decisiones más simples y difíciles quedan en mano de un entrenador que, en base a su experiencia, a veces limitada. Un asistente basado en Inteligencia artificial que nos ayude en la toma de decisiones en base a aquellos datos que creamos relevantes y que podamos captar, de forma más o menos automatizada, de nuestros deportistas a través de la gran variedad de dispositivos y wereables que se están desarrollando será una de las vías de desarrollo más rápidas e intuitivas en el ámbito del entrenamiento deportivo.

Los entrenadores y muchos deportistas siempre nos hemos dedicado a recopilar información, datos, nuestros diarios de entrenamiento valen oro pero nunca hemos sabido sacar mucho provecho de los mismos más allá de un análisis a posteriori. Con herramientas como BigML y nuestro conocimiento y datos podemos desarollar nosotros mismos aplicaciones que nos permitan optimizar nuestras decisiones en el entrenamiento individualizando al máximo tanto la información que tomamos (Input) como la variabilidad de los sujetos sobre los que aplicamos el entrenamiento, ya que la individualización del mismo es una parte esencial del éxito.

 

Os dejo la entrevista y sirva esta como nueva presentación del Blog en el que espero seguir volcando ideas, noticias e información sobre la aplicación de la Inteligencia artificial, aprendizaje automático y BigData en el mundo del deporte:

Entrevista a Francisco J Martín por Soraya Paniagua

Lo que me gustó del encuentro sobre perspectivas actuales y de futuro del aprendizaje automático

El pasado 20 de octubre asistí, como parte de BigML, al evento que organizamos en Valencia, en Las Naves, sobre Perspectivas actuales y futuras del aprendizaje automático “Machine Learning” en la tecnología y en los negocios.

Como profano en la materia, y de muchos de los que podáis leer este blog, mi referencia más directa a la inteligencia artificial son los relatos de Isaac Asimov, sus robot positrónicos, etc.

Por ello creo que tienen un gran poder didáctico e introductorio las dos ponencias que os comparto. En ellas se hace una introducción desde el punto de vista histórico y de su desarollo, de la Inteligencia Artificial y es muy interesante, además del análisis sobre su potencialidad y sus riesgos, analizar y diferenciar entre dos tipos de inteligencia artificial:

La Inteligencia Artificial la fuerte, la que todos imaginamos en esos robots de Asimov o en la película Yo Robot, de una entidad capaz de aprender y relacionarse con su entorno de forma autónoma y que provoca multitud de reflexiones existenciales.

Y la Inteligencia Artificial débil, o la que aplicamos en en nuestro día a día y dónde se encuentra el actual “aprendizaje automático”. Una realidad en pleno desarrollo en estos momentos y que no busca crear una inteligencia autónoma, sino, algo más aplicado. Desde la capacidad de reconocer caras o disparar cuando sonreímos de una cámara de fotos, hasta el funcionamiento del buscardor Google o de Siri en nuestros Iphones.

Pero no os entretengo y os dejo con estas dos interesantes ponencias por parte de dos pioneros en estios campos: Tom Dietterich y Ramón López de Mantaras.

Technical and Business Perspectives on the Current and Future Impact of Machine Learning – MLVLC
October 20, 2015

Real-world Stories and Long-term Risks and Opportunities.
Tom Dietterich, Ph.D.
https://bigml.com/events/technical-an…


A fascinating View of the Artificial Intelligence Journey.
Ramón López de Mántaras, Ph.D.

https://bigml.com/events/technical-an…

Transformando los datos. ¿Qué hago con mi GPX? #Doityourself

Queridos corredores, la semana pasada vimos cómo descargarnos nuestros datos, los archivos GPX de nuestros entrenamientos, rutas o competiciones de los diferentes portales o Apps en los que los tenemos registrados.

App de entrenamiento

Tenemos en nuestro disco duro decenas, cientos y alguno puede que miles de Tracks. ¿Qué puedo hacer ahora?

En este artículo os voy a mostrar algunas opciones para transformar esos datos y poder trabajar con ellos de cara a que nos den más información. Comenzaremos por lo más básico:

Del GPX al Dataset

Si se os ocurre abrir un archivo GPX en el wordpad os quedaréis impresionaods con la cantidad de datos que se acumulan en el mismo, pero además, con estos datos en bruto poco podemos hacer ya que, normalmente, se trata de información de posición en el formato (Latitud, Longitud) con la cota de elevación y el tiempo en que se registró dicha información.

En la Summer School de machine learning en Valencia, hace unas semanas, me descubrieron una web muy sencilla en la que poder transformar nuestros archivos GPX a tablas de datos con algunos datos transformados que nos pueden ser de utilidad de cara a trabajar con ellos en BigML para analizar aspectos de nuestro entrenamiento: www.gpsvisualizer.com

FireShot Screen Capture #086 - 'GPS Visualizer_ Convert GPS files to plain text or GPX' - www_gpsvisualizer_com_convert_input

En esta Web nos encontramos con un menú en el que podemos seleccionar hasta 10 archivos GPX diferentes (Si pones más de uno que tengas en cuenta que en el archivo transformado te los va a unir todos uno detrás de otro).

En nuestro caso tenemos los archivos GPX descargados (De mi Strava, Endomondo y Garmin Connect) por lo que quiero que me saque los datos en “Plain Text” para después poderlo copiar/pegar a un CSV-Excel o Google Docs.

Seleccionamos el archivo o archivos y seleccionamos (por defecto) la separación por tabulaciones. Más abajo, viene lo interesante, seleccionar qué información queremos que nos calcule de ese GPX. En mi caso tomé:

Speed: Velocidad entre un punto y otro.

Slope (%): Pendiente del tramo.

Distance: Distancia entre un punto y otro.

Pace: Ritmo en minutos/kilómetro. La medida más habitual entre corredores, más que los km/h

Elevation: El programa te puede añadir la elevación seleccionando la que viene en la información del track o, dándote la opción de capturar la información de elevación a través de otros modelos más precisos según la posición.

GPS Visualizer

Debajo de este menú, si pulsamos sobre la pestaña de OPCIONES AVANZADAS, nos aparecen algunas opciones interesantes como: Dar los datos en el recorrido a la inversa, contectar segmentos para evitar que haya huecos en el track, que de de la información sobre una distancia prefijada entre Track o tiempo (Por ejemplo cada 50m), o que te calcule la información de ascenso o descenso acumulado en el total del track.

FireShot Screen Capture #075

Después de seleccionar todo pulsamos el botón “CONVERT” y nos descargaremos el archivo de texto que abriremos y, tras seleccionar y copiar todo su contenido, podrémos pegar en una hoja de EXCEL para tener un archivo CVS con el que poder trabajar en BigML.

FireShot Screen Capture #085 - 'IBP INDEX - Tabla comparativa de índices IBP' - www_ibpindex_com_index_php_es_blog_item_55-tabla-comparativa-de-indices-ibp

Os ha parecido largo y no os queréis “quebrar la cabeza”, pues no os preocupéis que os enseño una Web que os gustará. Se trata de www.ibpindex.com un proyecto dirigido por Joan Casares desde Barcelona y que es gratuíto y abierto (Nos podemos registrar con nuestro facebook) generándonos, a partir de los archivos GPX un índice de dificultad en la ruta que nos permite compararlo con otros.

Pero ese índice, una información más que podemos usar para comparar nuestros datos y entrenamientos, es lo de menos, lo mejor es que te genera unas estadísticas de cada Track que son muy interesantes:

Datos generales y absolutos del Track:FireShot Screen Capture #089 - 'IBP = 617 RNG 20140719-045032-run_gpx' - www_ibpindex_com_ibpindex_ibp_analisis_completo_php_REF=36534017181098&LAN=es

FireShot Screen Capture #090 - 'IBP = 617 RNG 20140719-045032-run_gpx' - www_ibpindex_com_ibpindex_ibp_analisis_completo_php_REF=36534017181098&LAN=es

Tipo de perfiles a los que nos enfentamos según la pendiente con velocidades medias de cara clasificación y % respecto al total de la ruta tanto de las subidas como de las bajadas:

FireShot Screen Capture #091 - 'IBP = 617 RNG 20140719-045032-run_gpx' - www_ibpindex_com_ibpindex_ibp_analisis_completo_php_REF=36534017181098&LAN=es

E información sobre las distancias recorridas en altitudes por encima de 1500m asi como del tiempo de parada:

FireShot Screen Capture #092 - 'IBP = 617 RNG 20140719-045032-run_gpx' - www_ibpindex_com_ibpindex_ibp_analisis_completo_php_REF=36534017181098&LAN=es

Con esta información tan completa de cada una de nuestras rutas podemos elaborar un dataset muy completo con el que trabajar en BigML.

Y por último, quería mostraros un proyecto en ciernes de un ingeniero gaditano, Juan Ramírez, que trabaja en Tuenti que quiere trasladar lo que hace el índice IBP del monte o montaña a la ruta dónde las pendientes de las subidas y bajadas a veces son leves pero, cuando uno va a tope, se notan:

https://github.com/juanramirez/hillpace

Por último, recordaros cuando elaboréis vuestro CSV con los datos, que en BigML podéis registraros de forma gratuíta y trabajar con la plataforma con archivos de datos pequeños.

¿Se puede predecir el “muro” en el maratón?

Pablo Villalobos tras cruzar la meta en el maratón del Campeonato del Mundo en Daegu (Corea del Sur) en 2011

Pablo Villalobos tras cruzar la meta en el maratón del Campeonato del Mundo en Daegu (Corea del Sur) en 2011

Esta semana os escribo desde Valencia dónde me encuentro participando en la “Summer School in #MachineLearning” organizado por BigML en colaboración con la Universidad Politécnica de Valencia y desarrollada en Las Naves.

Han sido dos días apasionantes en los que aprender un poco más sobre el aprendizaje automático, el análisis predictivo de datos, sus aplicaciones, etc.

Como os pedí la semana pasada he empezado a recibir algunos datos de colaboradores a través del Blog y me he traído a Valencia bajo el brazo un archivo de datos que me hizo llegar Jesús y que había recopilado y analizado por su cuenta.

Los datos: Jesús había recopilado las marcas, para corredores que habían participado en ambas pruebas en su edición de 2014, la marca del medio maratón y del maratón de Valencia del año 2014, además de los parciales cada 5km del maratón. Un total de 1178 atletas con marcas entre 2h30 y 4h30.

Nuestro amigo Jesús había jugado ya con los datos consiguiendo la relación entre la marca en la media de Valencia y el maratón y, por tanto, estableciendo un tiempo estimado por esta fórmula para cada participante que podía o no coincidir con el ritmo real que habían desarrollado en la maratón. A partir de ahí, comparando los parciales cada 5km con ese ritmo estimado, se estudió su linealidad y la estrategia de carrera dividiendo esta en tres partes: de la salida al km15, del km15 al 30 y del 30 al final. Todo ello de cara a establecer si la estrategia de carrera era correr a un ritmo constante, más a menos (Pinchando al final) o de menos a más (Corriendo en negativo).

Las conclusiones eran muy interesantes y ahora nosotros queríamos aportar el punto de vista predictivo.

Hemos querido analizar los mismos datos con el objetivo de detectar qué variables pueden tener más peso a la hora de poder predecir si el corredor se va a encontrar con el MURO en el maratón. Algo muy interesante ¿Verdad? Porque el MURO en el maratón no nos lo queremos encontrar ninguno.

Cuando nos planteamos correr un maratón, lo más probable es que nuestra estrategia sea correrlo a un ritmo más o menos constante, aunque “pinchemos” un poco en la parte final, o, en el mejor de los casos, ser capaz de acelerar más en la parte final para correr en negativo.

Cuando se da la tercera situación, o sea, corremos mucho más lentos la parte final de la prueba, lo habitual es que nos hayamos encontrado con “el MURO” y, por tanto, no consigamos el objetivo de marca buscado.

Por todo ello, si conseguimos despejar aquellas variables que pueden predecir la llegada del MURO en el maratón podremos dar información al corredor de lo que debe o no debe hacer si quiere tener más posibilidades de hacer una carrera constante y conseguir su marca objetiva.

PRIMER PROBLEMA

Al analizar los datos nos damos cuenta de que no queremos utilizar la fórmula de estimación elaborada por Jesús a partir de los datos de la media y el maratón de 2014 ya que utiliza el dato del tiempo final del maratón de esos mismos corredores, una información que no deberíamos tener aún, sería hacernos un poco de trampas.

Esto lo hemos solucionado tomando otra fórmula estándar de predicción de marca en maratón a partir de la marca en la distancia de media maratón que aplicaremos a dicha marca para obtener el tiempo estimado que nos correspondería hacer en el maratón: Nuestro OBJETIVO.

SEGUNDO PROBLEMA

Está claro que utilizaremos los datos de los parciales de 5km de la prueba, pero ¿hasta dónde? De nada nos sirve que nos digan a qué ritmo tenemos que correr entre el km25 y el km30 cuando ya no tenemos margen de maniobra para evitar el MURO que tenemos delante. Por ello hemos decidido que sólo vamos a utilizar variables de la primera mitad de la prueba de cara a buscar esa capacidad de predicción.

¿Qué datos hemos utilizado?

  • Marca del medio maratón de Valencia 2014
  • Marca de maratón estimada por una fórmula estándar
  • Ritmo minutos/km d la marca estimada en maratón
  • Tiempos parciales de la marca estimada en maratón para 5, 10, 15 y medio maratón
  • Tiempos parciales reales del maratón de Valencia en 5, 10, 15 y medio maratón
  • Tiempos reales del maratón de Valencia en Splits Salida-5km, 5km-10km, 10km-15km, 15km-Media.
  • Diferencial en % entre los tiempos real y estimado del maratón en los splits Salida-5km, 5km-10km, 10km-15km, 15km-Medio maratón.
  • Linealidad (pendiente de la recta definida por los parciales reales del maratón).
  • Si el atleta ha encontrado el muro o no. Definimos el muro como una variación entre dos splits consecutivos a partir del 20-25km de más de un 6%

Hemos subido el archivo en formato CSV a BigML (lo compartiremos en breve en la Galería de BigML ya que el acceso es gratuito con archivos pequeños como este y podréis hacer vuestros experimentos y análisis en la herramienta para ver si mejoráis mis resultados).

Ahora os dejo un vídeo para que podáis ver cómo hemos trabajado los datos en BigML y lo sencillo que puede llegar a ser generar un modelo, evaluarlo y jugar con él. Cuantos más conocimientos de análisis de datos tengáis más vais a disfrutar con ello.


CONCLUSIONES

Como habréis visto en el vídeo, no hemos tenido un resultado muy positivo respecto a las variables con las que hemos trabajado. La opción es buscar más o nuevas variables que nos permitan aumentar la “accuracy” del modelo.

Desde mi punto de vista, creo que los parciales de 5km son demasiado amplios por lo que restan mucha sensibilidad. Si en lugar de esos parciales tuviéramos los archivos de datos de los GPS de los corredores con parciales de cada kilómetro, se podrían sacar más variables que tuviera más correlación con evitar el MURO.

Además, sería interesante poder incluir más variables que nos podríamos plantear recoger de cara a las ediciones de 2015, como por ejemplo: Qué tipo de avituallamiento, zapatillas, descanso la noche anterior al maratón, a qué hora os despertasteis esa mañana, qué tomasteis para cenar y desayunar antes del maratón, etc.

Creo que es una buena idea para lanzar desde este blog si os animáis.