Datos de entrenamiento vs datos de testPaloma Recuero de los Santos 24 enero, 2022 Los algoritmos de Machine Learning aprenden de los datos con los que los entrenamos. A partir de ellos, intentan encontrar o inferir el patrón que les permita predecir el resultado para un nuevo caso. Pero, para poder calibrar si un modelo funciona, necesitaremos probarlo con un conjunto de datos diferente. Por ello, en todo proceso de aprendizaje automático, los datos de trabajo se dividen en dos partes: datos de entrenamiento y datos de prueba o test. Datos de entrenamiento o «training data» Los datos de entrenamiento o «training data» son los datos que usamos para entrenar un modelo. La calidad de nuestro modelo de aprendizaje automático va a ser directamente proporcional a la calidad de los datos. Por ello las labores de limpieza, depuración o «data wrangling» consumen un porcentaje importante del tiempo de los científicos de datos. ¿La clave del éxito del Machine Learning? Datos de calidad Datos de prueba, validación o «testing data« Los datos de prueba, validación o «testing data« son los datos que nos “reservamos” para comprobar si el modelo que hemos generado a partir de los datos de entrenamiento “funciona”. Es decir, si las respuestas predichas por el modelo para un caso totalmente nuevo son acertadas o no. Es importante que el conjunto de datos de prueba tenga un volumen suficiente como para generar resultados estadísticamente significativos, y a la vez, que sea representativo del conjunto de datos global. Normalmente el conjunto de datos se suele repartir en un 70% de datos de entrenamiento y un 30% de datos de test, pero se puede variar la proporción según el caso. Lo importante es ser siempre conscientes de que hay que evitar el sobreajuste u “overfitting”. (En este post, podéis ver un ejemplo en Python de cómo separar un conjunto de datos en datos de entrenamiento y validación). Python para todos (5): Termina tu primer experimento de Machine Learning con Python Sobreajuste u «overfitting» El sobreajuste ocurre cuando un modelo está “sobre-entrenado”. Son modelos complejos que se ajusta tan milimétricamente al conjunto de datos a partir del cual se han creado, que pierden gran parte de su poder predictivo, y ya no son útiles para otros conjuntos de datos. Esto se debe a que los datos siempre tienen cierto grado de error o imprecisión, e intentar ajustarse demasiado a ellos, complica el modelo inútilmente al mismo tiempo que le resta utilidad. Lo entenderemos mejor con un ejemplo. Señal versus ruido En un conjunto de datos, hay patrones subyacentes que representan la señal que buscamos detectar. Sin embargo, también hay un componente de ruido o aleatoriedad. Un modelo de aprendizaje automático bien ajustado, es capaz de aprender de la señal e ignorar o minimizar el ruido. Figura 1: Ejemplo de sobreajuste- línea verde (fuente) La gráfica anterior representa un problema de clasificación binario. El modelo representado por la línea negra parece ser un buen predictor para nuevos casos. Si está a la derecha de la línea, será de clase «azul» y si está a la izquierda, «rojo». Por el contrario, la línea verde representa un modelo sobreajustado porque ha aprendido del «ruido». Como indicamos antes, es un modelo inútilmente complejo, ya que aunque su rendimiento sea mejor para este conjunto de datos en particular, no será «exportable» a otros conjuntos de datos. Subajuste o underfitting El underfitting o subajuste es justamente el caso contrario. Ocurre cuando el conjunto de datos de entrenamiento es insuficiente, con ruido en alguna de sus dimensiones o, en definitiva, poco representativo. Como consecuencia, nos lleva a un modelo excesivamente simple, con poco valor predictor. Por ello, para generar un buen modelo de aprendizaje automático, es importante encontrar el punto medio entre ambas tendencias. Otra forma de expresar este equilibrio es mediante los conceptos de «Bias vs Varianza». En este otro post de nuestro blog, os explicamos en detalle en qué consisten estos conceptos y cómo conseguir ese punto de equilibrio (sweet spot) que nos garantice un modelo fiable. ¿Qué es overfitting y cómo evitarlo? Conclusión La partición de los datos de trabajo en estos dos conjuntos diferenciados permite generar el modelo a partir de los datos de entrenamiento para después comprobar su eficiencia con los datos reservados para test. Los resultados de cualquier modelo basado en aprendizaje automático tienen una gran dependencia de los datos a partir de los cuales se han generado. Por ello, es fundamental cuidar su calidad y buscar siempre el equilibrio entre bias y varianza. Realidades y mitos de la Inteligencia Artificial para 2022Python para todos: 5 formas de cargar datos para tus proyectos de Machine Learning
José Vicente Catalán Tú te vas de vacaciones, pero tu ciberseguridad no: 5 consejos para protegerte este verano Las vacaciones son una necesidad, está claro. Todo el mundo necesita relajarse, pasar tiempo de calidad con la familia y amigos, desconectar. Pero, irónicamente, para desconectar acabamos conectando (el...
Álvaro Alegria Meunier Principales retos para la adopción del metaverso En un post anterior dedicado al metaverso explicaba en qué consiste el metaverso y veíamos qué oportunidades iba a ofrecer a las empresas. Hoy quiero compartir otros retos que, en...
Telefónica Tech Boletín semanal de ciberseguridad, 25 de junio — 1 de julio Kaspersky investiga ataques a sistemas de control industrial Investigadores de Kaspersky han investigado una campaña de ataques que se centraba en diversos países del continente asiático, y que estaba dirigida...
Paloma Recuero de los Santos ¿Cómo hablar a los niños sobre la Inteligencia Artificial? Desde la conocida como “generación de los constructores”, los nacidos entre 1925 y 1944, a los pequeños “alfa”, los hijos de los “millenials”, la tecnología ha ido ganando terreno...
Aarón Jornet Cómo funciona Lokibot, el malware que utiliza Machete para robar información y credenciales de acceso Machete es un grupo dedicado al robo de información y el espionaje. Utiliza distintas herramientas, entre las que se encuentra LokiBot.
AI of Things Descubre lo que tienes que saber sobre 6G Promete aterrizar en 2030 y tener pruebas piloto en 2026. Pero sobre todo, promete múltiples mejoras en términos de conectividad. Nos referimos al 6G, la sexta generación de redes móviles que...