El overfitting en Deep Learning es un proceso que, como data scientist, seguro que ya has escuchado alguna vez, ya que este influye en la efectividad de los resultados arrojados. De manera que hay que tenerlo en cuenta dentro del panorama del manejo del Big Data.
Por este motivo, en el desarrollo de este post, te compartimos qué es overfitting en Deep Learning para que, al final, lo comprendas en profundidad.
¿Qué es overfitting en Deep Learning?
El overfitting en Deep Learning es mucho más común que este proceso en otro tipo de campo del manejo del Big Data. A pesar de que poco se habla sobre cómo en Deep Learning también existe el overfitting, su incidencia se presenta, incluso, de una forma más pronunciada que en otras técnicas.
Para aquellos que no te acuerdas de qué es el overfitting, piensa en esto:
Tenemos una red capaz de detectar perfectamente qué personaje aparece en cada momento en el capítulo 4×08 de FRIENDS. Funciona perfectamente, a las mil maravillas, para cada frame es capaz de decir qué personajes hay en escena con un 99.3% de precisión. ¡Es increíble! Funciona tan bien que decidimos probarlo con el 5×01, pero el resultado es que no acierta más que en un 71.2%.
Pues bien, este fenómeno es al que se conoce como overfitting. Consiste en que creamos un algoritmo que funciona muy bien en nuestro conjunto de datos, pero al que se le da tremendamente mal generalizar.
Fíjate en la gráfica que representa la precisión en base a las épocas:
Ahora, para comprender más el overfitting en Deep Learning, te presentamos el siguiente ejemplo:
¿Con cual te quedarías?
Claramente, la imagen con 20 capas funciona mejor que la que tiene 3, ¿verdad? Sin embargo, lo que normalmente buscamos es que tenga una buena capacidad de generalización y que funcione bien cuando se encuentre con datos nuevos. Entonces, ¿cuál crees que funcionará mejor en el caso de ver datos nuevos?
Por sorprendente que parezca, la de la izquierda.
¿Cómo podemos lograr esto? Es decir, potenciar el algoritmo para datos nuevos y no desajustarse al generalizar. Una de las tareas más sencillas es reduciendo el número de parámetros entrenables de una red. Además, se aplican técnicas como la regularización y el dropout.
Ten en cuenta que, en la práctica, el único preprocesamiento que se suele hacer con las imágenes es dividir entre 255 todos sus valores. Con esto suele ser suficiente para que la red funcione correctamente, y así, no dependemos de ningún parámetro relacionado con nuestro conjunto de training.
En el desarrollo de este post, te presentamos qué es el overfitting en Deep Learning. Sin embargo, para profundizar en ellos, debes llevar a cabo una práctica constante y disciplinada, por lo que te aconsejamos continuar aprendiendo sobre el manejo de los macrodatos.
Por este motivo, desde KeepCoding te ofrecemos nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning. Por medio de este bootcamp, podrás aprender más sobre el Big Data con módulos como el de Big Data Architecture, en el que verás una pintura completa del proceso de ingesta, clasificación, resguardo, procesamiento y presentación de los datos utilizando diferentes lenguajes, herramientas y sistemas. Además, podrás instruirte tanto de forma teórica como práctica y en remoto desde cualquier sitio. ¡No esperes más y apúntate ahora mismo!