Archivo de la etiqueta: algoritmos

Velocidad, motores y big data: Evolución y retos en la Fórmula 1

Myriam Abuin Lahidalga*

El Mundial de fútbol acaba de comenzar y con él la recopilación de grandes cantidades de datos sobre pases, faltas, estrategias y rendimiento de cada jugador. Desde 2015 las distintas selecciones han comenzado a utilizar la tecnología incorporando sensores en las camisetas de entrenamiento para recabar datos que, convenientemente interpretados, sirven para encontrar la alineación ganadora o la mejora táctica del equipo.

Pero el uso de los big data no es nuevo en el deporte. Diseñadores y escuderías de Fórmula 1 llevan aplicándola desde la década de los 80. Se trataba de los primeros pasos de la telemetría aplicada al deporte. Los sensores distribuidos a lo largo de todo el monoplaza permiten testar en tiempo real las condiciones del vehículo y pilotaje, y calcular en tiempo real cómo conseguir ventaja frente a los rivales sin detenerse en boxes. Una operación que requiere no sólo un piloto experto, sino una tecnología capaz de gestionar esa ingente cantidad de datos. Pero ¿cómo funciona?

KIONetworks_F1_BigData

Los circuitos son espacios abiertos, diseñados en parte para minimizar los riesgos cuando se conduce a 300 kilómetros por hora y en parte para liberar de obstáculos las transmisiones de microondas (de radio) necesarias para poner en contacto el equipo con la pista. Sin embargo, algunos de ellos poseen trazados urbanos, como Mónaco o Monza, con túneles, edificios y barreras urbanas que dificultan la propagación de datos. La solución fue dotar a las pistas de un sistema parecido al de la telefonía móvil, garantizando la cobertura con un mínimo retraso de un milisegundo en la recepción. De esta manera los ingenieros de carrera pueden detectar cualquier anomalía, informar al piloto y tomar una decisión inmediata.

Hoy en día, cada monoplaza cuenta con unos doscientos sensores que envían información precisa sobre cuántas veces se acelera o se pisa el freno, cómo está el nivel de combustible o cuál es el desgaste de los neumáticos. Son datos cruciales para planificar una parada técnica que reste los menos segundos posibles a la posición del piloto en la carrera. Todo ello se recoge en un receptor/emisor, aparato que realiza ambas funciones y que además encripta la información recibida, enviándola luego a dos pequeñas antenas situadas en la parte delantera y trasera del monoplaza. A su vez, éstas remiten a un servidor.

sport-f1-wheel-16x9.jpg.rendition.intel.web.1280.720

Cada circuito cuenta con una zona reservada para cada escudería. No se trata sólo de las salas a pie de pista donde trabajan los mecánicos del equipo, sino de un amplio aparcamiento de camiones en el que se alinean varios remolques con antenas exteriores. Allí está el corazón del sistema: la sala de telemetría. Un potente servidor desencripta los datos recibidos y los prepara para que los ingenieros de cada escudería puedan gestionarlos en forma de gráficos monitorizados en varias pantallas. De este modo pueden contactar con el muro de boxes, donde están los directores de carrera y los mecánicos, en un envío mutuo de información que mejore sus opciones en tiempo real.

Pero la interpretación de esos datos no sólo sirve para mejorar la conducción o variar la estrategia en función de las circunstancias de la carrera, sino también es útil a los ingenieros de diseño, probadores de coches y a los propios pilotos. Estos últimos tienen así una visión precisa de sus errores y posibilidades de mejorar su conducción. Pero ¿cómo convertir todos esos datos en un equipo ganador?

Picture1

Cada temporada las escuderías pasan muchos meses diseñando los nuevos coches. Aerodinámica, modelos matemáticos, ensayos  de los prototipos en el túnel de viento… Pero la teoría no ofrece una exacta simulación de la realidad. Se necesita que el coche ruede por una pista, y tener un circuito de pruebas no está al alcance de todos los equipos. Por ello, los datos recogidos en cada gran premio son estudiados, seleccionados cuidadosamente y volcados en un ordenador que simulará el comportamiento de las piezas y comprobará la validez del nuevo diseño. Es evidente que la información en sí misma no es suficiente, pero sí puede ayudar a corregir hábitos de conducción y observar desde fuera de la pista cómo se comportará el coche en determinadas circunstancias. Por tanto, aquel equipo que sepa interpretar mejor los datos de las simulaciones tendrá muchas más posibilidades de éxito.

Además, los pilotos no tienen por qué probar físicamente el nuevo monoplaza, sino que pueden hacerlo en un simulador parecido al usado en los videojuegos de conducción. Habitualmente consiste en un sillón y una pantalla de ordenador, pero Mercedes y Ferrari construyeron una esfera montada sobre soportes hidráulicos en la que se pueden testar todas las condiciones y todos los circuitos. Otras, como Red Bull, contratan a jugadores de videojuegos para ponerse a los mandos del simulador y dejar a sus pilotos sólo las instrucciones precisas para cada carrera.

Apoyar cada decisión sobre los datos para predecir el comportamiento de los rivales o las condiciones de la carrera no es suficiente, aunque innegablemente importante. Francisco Gago, director de tecnologías digitales de la plataforma de gestión de datos Minsait de Indra, cree que los datos no ofrecen soluciones irrefutables. Y durante los últimos años se ha comprobado que es como dice. En 2010, por ejemplo, durante el Campeonato de Abu Dabi, Ferrari se tomó demasiado en serio los datos recogidos y señaló a Webber como su principal rival, haciendo caso omiso de Vettel, pero fue Vettel quien finalmente ganó la carrera. Esto se debe a que las principales variables presentes en el análisis son escasas, dado que incluyen los neumáticos, el nivel de combustible y las paradas en boxes. En el Campeonato de China de 2016, un error en el pronóstico con respecto a la temperatura de la pista hizo que Ferrari seleccionara neumáticos blandos, lo que le costó la carrera cuando se enfrentaron a los neumáticos medio duros montados por Mercedes.

Sin título

Una de las causas de estas fallas es, en primer lugar, aceptar los resultados de los algoritmos sin cuestionamiento, sin contrastarlos con las voces autorizadas en Fórmula 1. Otra razón es que cualquier imprecisión en el software de procesamiento de datos o en la cadena de transmisión, por pequeña que sea, puede tener un efecto negativo en la estrategia. La tercera y última razón es porque las variables no se contrastan y amplían con otra información. El análisis predictivo basado en big data funciona con información pasada y presente, algo que da un porcentaje de probabilidad, pero no de certeza. Dar a los algoritmos la misma fuerza que los abogados otorgan a las leyes impide que la propia experiencia y criterio del piloto (más las variables que no se tienen en cuenta) brille a la luz del pronóstico dado por los datos.

* Myriam Abuin Lahidalga es alumna del grado de Derecho y Relaciones Internacionales de Deusto. Este post está basado en su trabajo para  Media in International Relations.

Los algoritmos solos no son la solución

@gutierrezmiren*

Se puede tener una gran capacidad algorítmica, pero si no se tienen los datos adecuados o el conocimiento de la industria al que aplica, esta capacidad no ofrecerá buenos resultados.

Esta es la conclusión de un estudio comparativo publicado por el Overseas Development Institute sobre las plataformas big data que usan datos satelitales y de registros públicos para tratar de visualizar y combatir la pesca ilegal. Pero esta conclusión se podría aplicar a cualquier estudio.

Sin título

La pesca es un campo que genera una gran cantidad de datos. Los buques pesqueros de un tamaño determinado están obligados a inscribirse en diversos registros y, mientras operan en el mar, deben emitir regularmente señales que transmiten sus movimientos. Estas señales son capturadas por otros barcos, estaciones terrenales y satélites.

A través de análisis de bases de datos, así como de encuestas y entrevistas con las cinco principales organizaciones dedicadas al big data sobre la pesca, el último informe del ODI de Londres, del que soy coautora, revela que el potencial que tiene la infraestructura de datos para el monitoreo y estudio de la pesca está siendo socavado por el limitado tamaño y la mala calidad de las bases de datos que se han diseñado hasta ahora para identificar comportamientos irregulares en alta mar.

Para empezar, nadie sabe cuántos barcos de pesca hay en el mundo; y menos qué es lo que están haciendo. Esto dificulta la lucha contra la pesca ilegal.

Pesca ilegal

La pesca ilegal, no declarada y no regulada (conocida por sus siglas en inglés IUU) representa hasta una quinta parte de la captura pesquera mundial, con un valor de entre $10.000 millones y $23.500 millones anuales. Además, cada vez hay más pruebas que relacionan la pesca ilegal con el tráfico de personas y drogas, la corrupción y el lavado de dinero.

También se sabe que tiene un impacto negativo en la seguridad alimentaria, la creación de empleo y el desarrollo de las comunidades costeras en general.

A pesar de las posibilidades que ofrecen los big data para el monitoreo de la actividad pesquera, el movimiento contra la pesca ilegal aún no ha adoptado la llamada revolución de datos.

Una gran cantidad de datos disponible

Según la Organización de las Naciones Unidas para la Agricultura y la Alimentación (FAO), hay aproximadamente 4.6 millones de buques pesqueros, pero la mayoría son pequeños y artesanales. Normalmente, a cada buque de cierto tamaño le pueden corresponder 120 tipos de información, y durante su vida útil puede acumular varios valores en cada campo cada vez que cambia de empresa propietaria, armadora, bandera o nombre. Además, se requiere que todos los barcos pesqueros de más de 15 metros emitan, cada pocos minutos, señales que contengan (entre otra información) la hora, su longitud y latitud.

En consecuencia, existe una gran cantidad de datos sobre embarcaciones pesqueras. Con la aparición de servicios satelitales hacia 2010, estos datos están ahora disponibles comercialmente.

Sin embargo, el informe de ODI destaca que los países desarrollados y las organizaciones multilaterales han tardado en explotar la oportunidad que esto presenta. En lugar de crear una única herramienta de información sobre la flota pesquera mundial, los datos están dispersos en una gran cantidad de registros diferentes. La falta de una única base de datos hace que la detección de la pesca ilegal sea difícil.

La necesidad del análisis de “grandes datos”

El análisis de datos puede compensar la falta de recursos disponibles para patrullar los océanos. Por ejemplo, el primer informe de transbordo de pescado basado en datos, publicado por ODI en 2016, mostró indicios claros de que algunos buques refrigerados que recogen pescado en alta mar para su transporte a los mercados importadores estaban involucrados en operaciones irregulares nunca detectadas previamente.

El ireciente nforme defiende alianzas más sólidas y colaborativas entre los responsables de los datos sobre la pesca . También existe la necesidad de una mejor gobernanza pesquera global. Esto incluye esfuerzos más importantes para combatir la corrupción y las prácticas ilegales, como el uso de pabellones de conveniencia y acuerdos secretos de pesca.

La efectividad de las iniciativas destinadas a lidiar con la pesca ilegal dependerá de la solidez de los datos, de la facilidad con la que se pueden obtener y de nuestra capacidad para interpretarlos en función del conocimiento de la industria. Sin una base de datos única y unificada de la información disponible, la lucha contra la pesca ilegal será una batalla cuesta arriba.

*gutierrezmiren es Directora del Programa de postgrado “Análisis, investigación y comunicación de datos” y profesora de Comunicación de Deusto. Es también investigadora del Overseas Development Institute de Londres y de Datactive de Amsterdam.

Guía para comenzar con algoritmos de Machine Learning

El interés por el concepto de “machine learning” no para de crecer. Como siempre, una buena manera de saberlo, es utilizando herramientas de agregación de intereses como son Google Trends (las tendencias de búsquedas en Google) y Google N Gram Viewer (que indexa libros que tiene Google escaneados y sus términos  gramaticales). Las siguientes dos imágenes hablan por sí solas:

Búsqueda del término "machine learning" en Google (Fuente: Google Trends)
Búsqueda del término “machine learning” en Google (Fuente: Google Trends)
El término "machine learning" en libros en el último siglo (Fuente: Google N Gram Viewer)
El término “machine learning” en libros en el último siglo (Fuente: Google N Gram Viewer)

Sin embargo, no se trata de un término nuevo que hayamos introducido en esta era del Big Data. Lo que sí ha ocurrido es el “boom de los datos” (derivado de la digitalización de gran parte de las cosas que hacemos y nos rodean) y el abaratamiento de su almacenamiento  y procesamiento (básicamente, los ordenadores  y sus procesadores cuestan mucho menos que antes). Vamos, dos de los vectores que describen esta era que hemos bautizado como “Big Data”.

Los algoritmos de machine learning están viviendo un renacimiento gracias a esta mayor disponibilidad de datos y cómputo. Estos dos elementos permiten que estos algoritmos aprendan conceptos por sí solos, sin tener que ser programados. Es decir, se trata de ese conjunto de reglas abstractas que por sí solas son construidas, lo que ha traído y permitido que se “autonconfiguren”.

La utilidad que tienen estos algoritmos es bastante importante para las organizaciones, dado que son especialmente buenos para adelantarnos a lo que pueda ocurrir. Es decir, que son bastante buenos para predecir, que es como sabéis, una de las grandes “inquietudes” del momento. Se pueden utilizar estos algoritmos de ML para otras cuestiones, pero su interés máximo radica en la parte predictiva.

Este tipo de problemas, los podemos clasificar en dos grandes categorías:

  • Problemas de regresión: la variable que queremos predecir es numérica (las ventas de una empresa a partir de los precios a fijar)
  • Problemas de clasificación: cuando la variable a predecir es un conjunto de estados discretos o categóricos. Pueden ser:
    • Binaria: {Sí, No}, {Azul, Rojo}, {Fuga, No Fuga}, etc.
    • Múltiple: Comprará {Producto1, Producto2…}, etc.
    • Ordenada: Riesgo {Bajo, Medio, Alto}, ec.

Estas dos categorías nos permiten caracterizar el tipo de problema a afrontar. Y en cuanto a soluciones, los algoritmos de machine learning, se pueden agrupar en tres grupos:

  • Modelos lineales: trata de encontrar una línea que se “ajuste” bien a la nube de puntos que se disponen. Aquí destacan desde modelos muy conocidos y usados como la regresión lineal (también conocida como la regresión de mínimos cuadrados), la logística (adaptación de la lineal a problemas de clasificación -cuando son variables discretas o categóricas-). Estos dos modelos tienen tienen el problema del “overfit”: esto es, que se ajustan “demasiado” a los datos disponibles, con el riesgo que esto tiene para nuevos datos que pudieran llegar. Al ser modelos relativamente simples, no ofrecen resultados muy buenos para comportamientos más complicados.
  • Modelos de árbol: modelos precisos, estables y más sencillos de interpretar básicamente porque construyes unas reglas de decisión que se pueden representar como un árbol. A diferencia de los modelos lineales, pueden representar relaciones no lineales para resolver problemas. En estos modelos, destacan los árboles de decisión y los random forest (una media de árboles de decisión). Al ser más precisos y elaborados, obviamente ganamos en capacidad predictiva, pero perdemos en rendimiento. Nada es gratis.
  • Redes neuronales: las redes artificiales de neuronas tratan, en cierto modo, de replicar el comportamiento del cerebro, donde tenemos millones de neuronas que se interconectan en red para enviarse mensajes unas a otras. Esta réplica del funcionamiento del cerebro humano es uno de los “modelos de moda” por las habilidades cognitivas de razonamiento que adquieren. El reconocimiento de imágenes o vídeos, por ejemplo, es un mecanismo compleja que nada mejor que una red neuronal para hacer. El problema, como el cerebro humano, es que son/somos lentos de entrenar, y necesitan mucha capacidad de cómputo. Quizás sea de los modelos que más ha ganado con la “revolución de los datos”; tanto los datos como materia prima, como procesadores de entrenamiento, le vienen como anillo al dedo para las necesidades que tienen.

En el gran blog Dataconomy, han elaborado una chuleta que es realmente expresiva y sencilla para que podamos comenzar “desde cero” con algoritmos de machine learning. La tendremos bien a mano en nuestros Programas de Big Data en Deusto.

Guía para principiantes de algoritmos de Machine Learning (Fuente: dataconomy.com)
Guía para principiantes de algoritmos de Machine Learning (Fuente: dataconomy.com)

Cómo los metadatos nos pueden ayudar a predecir tu trabajo gracias al Big Data

El pasado noviembre, saltó a la palestra del “mundo de los datos” una noticia que en España ha pasado algo desapercibida (al menos en los  medios generalistas). No obstante, no creo que sus implicaciones sean menores. La agencia de espionaje de Canadá, la CSIS, había estado recolectando metadatos (datos generados en el uso de medios digitales como el correo electrónico, los mapas de geolocalización, etc.) durante 10 años.

El tribunal supremo de Canadá, instruyendo la causa, decretó -como no podría ser de otro modo- que esto era ilegal. Por más que tuviera un fin de eventuales espionajes o amenazas por terrorismo, la seguridad y privacidad del ciudadano por delante de todo.

Estos metadatos, para que se hagan ustedes a la idea, incluyen desde números de teléfono, localizaciones, direcciones de email, duraciones de las llamadas o comunicaciones, etc. Es decir, datos asociados a acciones, no el contenido de las mismas en sí (las llamadas y sus contenidos… en cuyo caso estaríamos hablando de algo aún más grave). El CSIS quería esto porque en 2006 puso en marcha un programa que bautizó como “Operational Data Analysis Centre” para producir información inteligente que ayudase a la toma de decisiones estratégicas en favor de la seguridad del país.

Esta noticia, me resultó bastante ilustrativa porque los metadatos (los grandes olvidados, sobre los que he escrito en alguna ocasión a colación de whatsapp y Facebook), pueden revelar mucha información sobre nosotros mismos. Cómo nos comportamos, qué y por qué decidimos qué, cómo tomamos las decisiones, etc. En definitiva, un montón de información personal, que nunca podemos olvidar. Como ha hecho el tribunal supremo de justicia canadiense, por más que se trate de una agencia pública la que ha cometido el delito.

Pues bien, me acordaba de esta noticia al leer que un equipo de investigadores de la empresa de telecomunicaciones noruega Telenor, junto con el MIT Media Lab y la organización sin ánimo de lucro Flowminder, han encontrado un método para, partiendo de metadatos, predecir el estado ocupacional/profesional de una persona (desempleado o a qué se dedica). Podéis leer el artículo aquí.

Estimating individual employment status using mobile phone network data (Fuente: arxiv.org/ftp/arxiv/papers/1612/1612.03870.pdf)
Estimating individual employment status using mobile phone network data (Fuente: arxiv.org/ftp/arxiv/papers/1612/1612.03870.pdf)

El paper explica maravillosamente el modelo predictivo que han conformado. La variable dependiente, no era otra que una variable categórica de 18 pòsibles estados (uno por cada profesión, desde estudiante, empleado/ocupado y tipos de ocupación). ¿Las independientes? (es decir, las predictoras); pues los metadatos que decíamos antes: un total de 160 características o variables (casi nada), tomadas desde dispositivos móviles y categorizadas en tres categorías: financieras, de movilidad y sociales. Para qué explicarlo, si en el paper sale una tabla con todas esas características:

Los metadatos de nuestros dispositivos móviles (Fuente: arxiv.org/ftp/arxiv/papers/1612/1612.03870.pdf)
Los metadatos de nuestros dispositivos móviles (Fuente: arxiv.org/ftp/arxiv/papers/1612/1612.03870.pdf)

Todos estos datos generamos desde nuestro dispositivo móvil. Que, como decíamos, ayudan a predecir, entre muchas cosas, una cuestión tan importante como nuestro estado de ocupación. Para ello, el equipo investigador ha comparado diferentes modelos predictivos (GBM, Random Forest, SVM, kNN, redes neuronales, etc.). Tras estudiar los rendimientos de cada modelo predictivo, se quedaron con una arquitectura de red neuronal usando un 75/25% de training/testing, siendo la precisión del modelo, de media, un total de un 67,5%. Hay profesiones donde es más fácil acertar y en otras más difícil. Será que algunos nos comportamos de manera más predecible y otros de menos :-)

Precisión de los modelos predictivos para predecir ocupaciones (Fuente: arxiv.org/ftp/arxiv/papers/1612/1612.03870.pdf)
Precisión de los modelos predictivos para predecir ocupaciones (Fuente: arxiv.org/ftp/arxiv/papers/1612/1612.03870.pdf)

¿Qué variables son  las más críticas? Es decir, las que “mejor predicen” una profesión. Nada menos que la la torre de telecomunicaciones a las que más se conecta una persona (latitud y longitud), el número de lugares visitados (por frecuencia) y el radio de viaje (cómo se aleja de su hogar, la celda de conexión más cercana y que más frecuenta -salvo que durmamos mucho en hoteles :-)-). ¿Alguien se extraña entonces por qué Google Maps es gratuito? Lo de siempre, introduzcan en el navegador maps.google.com/locationhistory. En la siguiente imagen, representan la relación de estas variables y cómo ayudan a predecir la ocupación:

Relación entre variables predictoras y ocupaciones (Fuente: https://arxiv.org/ftp/arxiv/papers/1612/1612.03870.pdf)
Relación entre variables predictoras y ocupaciones (Fuente: https://arxiv.org/ftp/arxiv/papers/1612/1612.03870.pdf)
Profesiones y variables predictoras (Fuente: http://motherboard.vice.com/read/how-metadata-can-reveal-what-your-job-is)
Profesiones y variables predictoras (Fuente: http://motherboard.vice.com/read/how-metadata-can-reveal-what-your-job-is)

Este modelo de deep learning (aprendizaje cognitivo o profundo), este tipo de software que está revolucionando tantos procesos, dado que se entrenan a sí solos para encontrar patrones en grandes cantidades de datos, está en boca de muchos ahora. Su potencial es tan grande, que permitir que una agencia pública federal los emplee para cosas como las que aquí descritas, me parece preocupante.

Y ahora ustedes se estarán preguntando de dónde habrán estos investigadores obtenido los datos. Telenor :-) Es decir, la empresa de telecomunicaciones que, obviamente de manera anonimizada, han procesado hasta 76.000 conexiones de dispositivos móviles a sus torres de comunicaciones. Y de ahí han salido estos metadatos. Un proyecto, solo basado en esos datos, pero que imagínense lo que puede mejorar si lo integramos con otras fuentes de datos. Modelos aún más precisos a nivel de predicción. Un proyecto de Big Data en toda regla.

Como ven, estos proyectos de Big Data, tienen mucho potencial. Todo está por hacer y aprender. En nuestros programas de Big Data, además de ver los diferentes modelos predictivos, también aprendemos a integrar todas esas fuentes de datos, mejorar su calidad en un modelo de datos único y unificado, así como a montar infraestructuras de Big Data que optimicen estos procesamientos.

¿Qué lenguaje debemos utilizar para Data Science?

En este blog, ya hemos hablado con anterioridad de diferentes herramientas para emprender proyectos de analítica. Fue en esta entrada, comparando más allá a nivel de herramienta, cuando comparábamos R, Python y SAS, que son sobre las que pivotamos en nuestros Programas de Big Data.

El mundo de la analítica está avanzando a la velocidad de la luz, por lo que es importante que escribamos artículos volviendo a esa pregunta original sobre ¿Qué lenguaje utilizar para Data Science? No es una pregunta sencilla, porque las opciones existentes no son pocas.

La pregunta se vuelve más complicada aún en contextos como el nuestro. Tenemos que enseñar y aprender desde cero la disciplina de Data Science. Y una pregunta muy recurrente de parte de nuestros alumnos de Bilbao, Donostia y Madrid, es, ¿por qué lenguaje empieza para arrancar en este mundo del Big Data?

Son muchas los lenguajes que ofrecen las capacidades para ejecutar operaciones de análisis de datos de una manera más eficiente que los lenguajes tradicionales (C++, C, Java, etc.). Entre ellos, destacan algunos sospechosos habituales, y otros que están emergiendo con fuerza: R, Python, MATLAB, Octave y Julia. Éste es el menú en el que tenemos que elegir; decisión, como suele pasar con estas cuestiones, no sencilla. Dejo fuera de esta comparación soluciones analíticas como SAS, Stata o Excel, básicamente, porque no están orientadas a nivel de “lenguaje de programación”, sino a nivel de herramientas.

En esta entrada, y para poder encontrar un ganador, se han comparado los lenguajes en varias dimensiones: velocidad de ejecución, curva de aprendizaje requerida, capacidades de ejecutar acciones de analítica de datos, soporte a la visualización, entornos de desarrollo, facilidad de integración con otros lenguajes/aplicaciones y las oportunidades de trabajo existentes.

Comparación entre lenguajes

Obviamente, debemos notar que las calificaciones otorgadas en cada dimensión son la opinión de Siva Prasad, la persona que lo ha elaborado. Por lo tanto, creo que no debemos tampoco sacar conclusiones exclusivamente de ello. Creo que lo más ilustrativo del caso es fijarse en que en función de cuál sea el objetivo y la necesidad concreta, hay diferentes opciones que explorar.

Lo que sí me parece igualmente interesante, son la utilidad que puede tener en función del punto en el que cada uno se encuentre. El autor, en su entrada, destaca que:

If you are a graduate student, it’s good to start with Python

Si somos estudiantes de Grado, que estamos arrancando, sugiere emplear Python.

If you are a research scholar, good to start with R and explore Octave

Si estamos por la vía de la investigación/doctorado, sugiere el empleo de R y/o Octave.

If you are an employee, I suggest to master both Python and R

Si eres una persona ya trabajando en la industria, parece que las mejores apuestas pasan por Python y R.

If you are tech enthusiast and love exploring/learning new things, you can learn Julia

Si eres un entusiasta tecnológica y te gusta explorar/aprender nuevas cosas, métete con Julia (yo, estoy en esta etapa, haciendo modelos de optimización con Julia, que es realmente potente e interesante).

If the data needs to try several different algorithms, choose R

Si necesitamos probar diferentes algoritmos para tratar el conjunto de nuestros datos, prueba con R.

If you need to use data structures and integrate with external applications, use Python

Si tenemos que utilizar muchas estructuras de datos e integrar los mismos con aplicaciones externas, probemos con Python.

Para gustos están los colores. En definitiva, que no consideremos esto como conclusiones a escribir en un libro. Pero sí por lo menos, para orientarnos, y tener primeras aproximaciones a la ciencia de datos, Data Science, así como las opciones que abre cada uno de ellos. Disfruten de todos ellos :)

El Machine Learning en la era del Big Data

El Machine Learning o “Aprendizaje automático” es un área que lleva con nosotros ya unos cuantos años. Básicamente, el objetivo de este campo de la Inteligence Artificial, es que los algoritmos, las reglas de codificación de nuestros objetivos de resolución de un problema, aprendan por si solos. De ahí lo de “aprendizaje automático”. Es decir, que los propios algoritmos generalicen conocimiento y lo induzcan a partir de los comportamientos que van observando.

Para que su aprendizaje sea bueno, preciso y efectivo, necesitan datos. Cuantos más, mejor. De ahí que cuando irrumpe el Big Data (este nuevo paradigma de grandes cantidades de datos) el Machine Learning se empezase a frotar las manos en cuanto al futuro que le esperaba. Los patrones, tendencias e interrelaciones entre las variables que el algoritmo de Machine Learning observa, se pueden ahora obtener con una mayor precisión gracias a la disponibilidad de datos.

¿Y qué permiten hacer estos algoritmos de Machine Learning? Muchas cosas. A mí me gusta mucho esta “chuleta” que elaboraron los compañeros del blog Peekaboo. Esta chuleta nos ayuda, a través de un workflow, a seleccionar el mejor método de resolución del problema que tengamos: clasificar, relacionar variables, agrupar nuestros registros por comportamientos, reducir la dimensionalidad, etc. Ya veis, como comentábamos en la entrada anterior, que la estadística está omnipresente.

“Chuleta” de algoritmos de Machine Learning (Fuente: http://1.bp.blogspot.com/-ME24ePzpzIM/UQLWTwurfXI/AAAAAAAAANw/W3EETIroA80/s1600/drop_shadows_background.png)

Estas técnicas llevan con nosotros varias décadas ya. Siempre han resultado muy útiles para obtener conocimiento, ayudar a tomar decisiones en el mundo de los negocios, etc. Su uso siempre ha estado más focalizado en industrias con grandes disponibilidades de datos. Por ejemplo, el sector BFSI (Banking, Financial services and Insurance) siempre han considerado los datos como un activo crítico de la empresa (como se generalizó posteriormente en 2011 a partir del Foro de Davos). Y siempre ha sido un sector donde el Machine Learning ha tenido mucho peso.

Pero, con el auge de la Internet Social y las grandes empresas tecnológicas que generan datos a un gran volumen, velocidad y variedad (Google, Amazon, etc.), esto se generaliza a otros sectores. El uso del Big Data se empieza a generalizar, y el Machine Learning sufre una especie de “renacimiento”.

Ahora, se convierten en pieza clave del día a día de muchas compañías, que ven cómo el gran volumen de datos además, les ayuda a obtener más valor de la forma de trabajar que tienen. En la siguiente ilustración que nos genera Google Trends sobre el volumen de búsqueda de ambos términos se puede observar cómo el “Machine Learning” se ve iluminado de nuevo cuando el Big Data entra en el “mainstream”(a partir de 2011 especialmente).

Búsquedas de Big Data y Machine Learning (Fuente: Google Trends)
Búsquedas de Big Data y Machine Learning (Fuente: Google Trends)

¿Y por qué le ha venido tan bien al Machine Learning el Big Data? Básicamente porque como la palabra “aprendizaje” viene a ilustrar, los algoritmos necesitan de datos, primero para aprender, y segundo para obtener resultados. Cuando los datos eran limitadas, corríamos el peligro de sufrir problemas de “underfitting“. Es decir, de entrenar poco al modelo, y que éste perdiera precisión. Y, si utilizábamos todos los datos para entrenar al modelo, nos podría pasar lo contrario, problemas de “overfitting“, que entonces nos generaría modelos demasiado ajustados a la muestra, y quizás, poco generalizables a otros casos.

El entrenamiento del modelo con datos y los problemas de
El entrenamiento del modelo con datos y los problemas de “underfitting” y “overfitting” (Fuente: http://i.stack.imgur.com/0NbOY.png)

Este problema con el Big Data desaparece. Tenemos tantos datos, que no nos debe preocupar el equilibrio entre “datos de entrenamiento” y “datos para testar y probar el modelo y su eficiencia/precisión“. La optimización del rendimiento del modelo (el “Just Right” de la gráfica anterior) ahora se puede elegir con mayor flexibilidad, dado que podemos disponer de datos para llegar a ese punto de equilibrio.

Con este panorama de eficientes algoritmos (Machine Learning) y mucha materia prima para que éstos funcionen bien (Big Data), entenderán por qué no solo hay muchos sectores de actividad donde las oportunidades son ahora muy prometedoras (la sección “Rethinking industries” de la siguiente gráfica), sino también para el desarrollo tecnológico y empresarial, es una era, esta del Big Data, muy interesante y de valor.

El panorama de la inteligencia de las máquinas (Fuente: http://blogs-images.forbes.com/anthonykosner/files/2014/12/shivon-zilis-Machine_Intelligence_Landscape_12-10-2014.jpg)
El panorama de la inteligencia de las máquinas (Fuente: http://blogs-images.forbes.com/anthonykosner/files/2014/12/shivon-zilis-Machine_Intelligence_Landscape_12-10-2014.jpg)

En los últimos años hemos visto mucho desarrollo en lo que a tecnología de Bases de Datos se refiere. Las compañías disponen de muchos datos internos, que se complementan muy bien con los externos de la “Internet Social”. Así, el Machine Learning, nos acompañará durante los próximos años para sacarle valor a los mismos.