LUCA LUCA Talk: Blockchain para garantizar la trazabilidad de vacunas FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 2 de enero, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite Trazabilidad es una de las características que vienen a nuestra...
Paloma Recuero de los Santos Drones que usan IA para salvar vidas Cada día encontramos nuevos usos para los drones. Si a sus ventajas que de por sí nos ofrecen, le sumamos la aplicación de técnicas de machine learning, las posibilidades...
Paloma Recuero de los Santos Video Post #3: Hadoop para torpes (II). ¿Cómo funciona? HDFS y MapReduce Continuamos con el segundo vídeo de nuestra miniserie “Hadoop para torpes”. En nuestro primer vídeo sobre Hadoop hablamos de su origen y sus características principales. Ahora vamos a conocer...
LUCA ¡Traemos el Tour de Francia a Distrito Telefónica! Los empleados de la compañía tendrán la oportunidad de escalar la etapa de Alpe D’Huez con Perico Delgado y ganar una bicicleta profesional como las del equipo Movistar Team...
LUCA Caso de éxito: Departamento de Transporte de UK El Departamento de Transporte es el organismo gubernamental responsable de la mayor parte de la red de transporte del Reino Unido. Nuestro cliente necesitaba entender rápidamente los patrones de...
LUCA Caso de éxito ONS: datos para la gestión de movilidad en el Reino Unido En la “historia con datos” de hoy mostramos, una vez más, cómo soluciones basadas en tecnologías Big Data, IoT e Inteligencia Artificial ofrecen un mundo infinito de posibilidades y...
LUCA “El corredor verde” más data driven de Cali El poder de los datos ha traspasado la frontera de las empresas y startups para llegar a esferas públicas y, sobre todo, a las ciudades. Cada vez más ayuntamientos...
Javier Carro Whatsapp se cae, ¿y ahora qué? Escrito por Raúl López y Luis Suárez, becarios en LUCA. Pocas personas quedan en nuestra sociedad que no conozcan WhatsApp y su utilidad. La aplicación permite a miles de millones...
LUCA LUCATalk: LUCA Store, Digitalizando las tiendas físicas Como muchos otros sectores, el sector de Retail también esta pasando por una gran transformación. Gracias a los avances de la tecnología, hay muchas maneras de llegar a los...
Paloma Recuero de los Santos Video Post #17: Database, data warehouse y data lake ¿en qué se diferencian? ¿Conoces la diferencia entre una base de datos, un data lake y un data warehouse? En este vídeo te daremos unas sencillas nociones para no expertos que nos ayuden...
LUCA LUCA Talk: Blockchain para garantizar la trazabilidad de vacunas FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 2 de enero, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite Trazabilidad es una de las características que vienen a nuestra...
Paloma Recuero de los Santos Video Post #18: Atrévete con Deep Learning. Principios básicos al alcance de todos ¿Sabes qué es el Deep Learning, en qué se basa y qué aplicaciones tiene? En este vídeo te daremos unas sencillas nociones que te ayudarán a comprender esta potente...
¿Qué es overfitting y cómo evitarlo?Enrique Blanco 9 abril, 2019 En Machine Learning, describimos el aprendizaje de la función objetivo a partir de los datos de entrenamiento como aprendizaje inductivo. Entendemos que la inducción se refiere al aprendizaje de conceptos generales a partir de ejemplos etiquetados específicos, que es exactamente el problema que los algoritmos de Machine Learning supervisado pretenden resolver. La capacidad de inducción de un modelo se refiere a cómo de preciso es un modelo de ML en entender ejemplos específicos que el mismo no vio cuando el algoritmo del que partía estaba siendo entrenado. El objetivo de un buen modelo de aprendizaje automático es generalizar bien los datos de entrenamiento a cualquier dato del dominio del problema. Esto nos permite hacer predicciones en el futuro sobre los datos que el modelo nunca ha visto. Las principales causas cuando se obtienen malos resultados al entrenar diferentes modelos de Machine Learning son el overfitting o el underfitting de los datos. Cuando entrenamos nuestro modelo intentamos ajustar los datos de entrada entre ellos y con la salida. En función de las características de nuestro dataset y de la elección de las muestras, se puede producir overfitting o “sobreajuste” y underfitting o “subajuste”. Estas dos casuísticas no dejan de ser más que la incapacidad de nuestro modelo de generalizar el dataset provisto. Es muy común que, al comenzar a entrenar el modelo, se caiga en el problema del underfitting. Lo que ocurrirá es que nuestro modelo sólo se ajustará a aprender los casos particulares que le enseñamos y será incapaz de reconocer nuevos datos de entrada. En nuestro conjunto de datos de entrada muchas veces introducimos muestras atípicas (o anómalas) o con ruido en alguna de sus dimensiones, o muestras que pueden no ser del todo representativas. Cuando sobre-entrenamos nuestro modelo y caemos en el overfitting, nuestro algoritmo estará considerando como válidos sólo los datos idénticos a los de nuestro conjunto de entrenamiento y siendo incapaz de distinguir entradas buenas como fiables si se salen un poco de los rangos ya preestablecidos. En la siguiente imagen vemos una simplificación a un ejemplo de regresión que nos permite visualizar el problema del underfitting y el overfitting. Encontrar un equilibrio para una correcta generalización se convierte en necesario. Fig. 1: Over-fitting vs Under-fitting vs ideal fit a model. Fuente Se debe encontrar un punto medio (sweet spot) en el aprendizaje de nuestro modelo en el que nos aseguremos de que no estamos incurriendo en underfitting u overfitting, lo cual a veces puede resultar una complicada tarea. Otros conceptos con los que nos tenemos que familiarizar son los términos bias y varianza. Suelen resultar confusos para los recién llegados al Machine Learning, pero en realidad son muy intuitivos. De manera muy simple, un alto sesgo o bias indican que el modelo sufre de underfitting o subajuste y una alta varianza indica que el modelo sufre de overfitting. Fig. 2: Graphical Illustration of bias-variance trade-off , Source: Scott Fortmann-Roe., Understanding Bias-Variance Trade-off. Fuente En anteriores artículos, sobre todo aquellos basados en tutoriales de Python sobre aplicación de algoritmos de Machine Learning, habréis visto que uno de los pasos que siempre se dan es realizar una partición del dataset en muestras de entrenamiento y testeo. Esta práctica, muy recomendable, nos sirve para monitorizar el entrenamiento de nuestro algoritmo y para poder prevenir errores en el aprendizaje. Al monitorizar el entrenamiento de un algoritmo, siempre se suelen monitorizar los errores de entrenamiento y testeo para prevenir las condiciones de alto bias y alta varianza. Para reconocer este problema deberemos subdividir nuestro conjunto de datos de entrada para entrenamiento en dos: uno para entrenamiento y otro para la validación que el modelo no conocerá de antemano. Esta división se suele hacer del 70-80% para entrenar y 20-30% para validar. El conjunto de validación deberá tener muestras lo más diversas posibles y en cuantía suficiente. Error de entrenamiento: según se incrementa la complejidad del modelo, el modelo tiende a hacer un overfitting sobre los datos del entrenamiento. El error sobre los datos de entrenamiento irá decreciendo cada vez más. Error de testeo: el error sobre el conjunto de validación es alto tanto en el escenario de underfitting como en el de overfitting. Nos interesa monitorizar este error para quedarnos justo en el punto de entrenamiento en el que este es menor. La siguiente imagen ilustra perfectamente este hecho: Fig. 3: Effect of model complexity on error due to bias and variance. Fuente Condición de alto bias: nos encontramos con underfitting en nuestro modelo. Tanto el error de entrenamiento como el de testeo son elevados. Por más que añadamos datos para que el modelo explore, no se mejora el desempeño. Como solución se podría probar aumentar el número de características a analizar o la complejidad del algoritmo. Condición de alta varianza: nuestro modelo está afectado por overfitting. Ajusta muy bien datos de entrenamiento, pero no es capaz de inferir correctamente los datos de validación, por lo que error de testeo es significativamente mayor que error de entrenamiento. Añadir datos variados ayuda a resolver el problema, así como la reducción de la complejidad del modelo. Si el modelo entrenado con el conjunto de test tiene un 90% de aciertos y con el conjunto de validación tiene un porcentaje muy bajo, nos enfrentamos ante un claro caso de overfitting. Si, por el contrario, en el conjunto de validación sólo se acierta un tipo de clase o el único resultado que se obtiene es siempre el mismo, nos encontramos ante un caso de underfitting. Para intentar que estos problemas nos afecten lo menos posible, podemos llevar a cabo diversas acciones: Por un lado, debemos garantizar de que tenemos una cantidad suficiente de muestras tanto para entrenar el modelo como para validarlo. En el caso de movernos en tareas de clasificación, deberemos contar con clases variadas y equilibradas en cantidad: por ejemplo, en caso de aprendizaje supervisado y suponiendo que tenemos que clasificar diversas clases o categorías, es importante que los datos de entrenamiento estén balanceados y sean representativos de todas las clases, para evitar sesgos innecesarios. Sobre los problemas presentados en el aprendizaje desbalanceado ya hablamos en el nuestra anterior serie Machine Learning y astrofísica: clasificando estrellas, galaxias y quasars. Siempre debemos subdividir nuestro conjunto de datos y mantener una porción del mismo para testar el modelo. Esto nos permitirá evaluar el desempeño del algoritmo y también nos permitirá detectar fácilmente efectos del overfitting o underfitting. Debemos prevenir una cantidad excesiva de dimensiones, con muchas variantes distintas, sin suficientes muestras. A veces conviene eliminar o reducir la cantidad de características que utilizaremos para entrenar el modelo. Una herramienta útil para hacerlo es Principal Component Analysis (PCA) o T-distributed Stochastic Neighbor Embedding (t-SNE). Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube. Big Data & IA para el bien comúnIA en el mundo de la mecánica: Delta
LUCA LUCA Talk: Blockchain para garantizar la trazabilidad de vacunas FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 2 de enero, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite Trazabilidad es una de las características que vienen a nuestra...
Enrique Blanco Clustering de series temporales con Python La proliferación y la ubicuidad de los datos con dependencia temporal en un amplio abanico de disciplinas genera un interés sustancial en el análisis y la extracción de series...
Francisco Javier Viñas Plaza El gobierno del almacenamiento como palanca de la innovación La Oficina de Dato es un agente de cambio e innovación en una organización. Convierte el gobierno del almacenamiento en una auténtica palanca de la innovación. Veamos el por...
LUCA Toma el control de tus vehículos con Fleet Optimise La movilidad se ha vuelto más inteligente gracias a la presencia de IoT. Del mismo modo que los usuarios utilizan las soluciones conectadas para hacer trayectos más eficientes o...
LUCA Cómo transformar una compañía(XII): la transformación del talento interno El cambio de paradigma que conlleva el uso de grandes volúmenes de datos (internos, de sensores, públicos…) y la aplicación de la Inteligencia Artificial en los negocios es imparable....
Paloma Recuero de los Santos Los mejores post de 2020 en Telefónica IoT & Big Data Este año, como ningún otro, tenemos muchas ganas de arrancar la última hoja del calendario y empezar el del 2021 que, visto lo visto, lo tiene fácil para ser...