Clasificación de Números por Machine Learning

Clasificación de Imágenes | Machine Learning | Python

04 – 2022

En este proyecto se desarrolló una Red Neuronal que aprendió a reconocer patrones que le permitieran clasificar el dibujo de un número entre el 0 y el 9.

A continuación, puedes dibujar un número del 0 al 9 para que sea clasificado.

Clasificación de Números

Se usó la base de datos MNIST que contiene 70.000 imágenes en blanco y negro de 28×28 que representan los dígitos del 0 al 9. 

Las imágenes fueron modificadas (con desplazamientos, con rotaciones y con acercamientos) para poder incrementar la base de datos y que la red neuronal aprendiera de un numero mayor de variaciones.

Se implementó una red neuronal convolucional que se entrenaba con matrices de 3×3 pixeles. Lo que significa que la red no va aprendiendo sólo por la posición de los pixeles, si no que también aprende de la distribución de pixeles alrededor de una posición, lo que le permite reconocer patrones espaciales de manera más efectiva.

Además, se implementó Dropout, para ir apagando neuronas con una probabilidad del 50% durante el proceso de aprendizaje. Esto con el objetivo de hacer la red más resiliente y haya una mayor retroalimentación entre las neuronas.

Las funciones de activación de las capas intermedias fueron relu, tal que la de la capa de salida fue softmax. La capa de salida era de 10 neuronas para que sólo una se activara al clasificar del 0 al 9.

Finalmente, el modelo fue importado dentro del sitio para que puedas dibujar un número y la red neuronal lo clasifique.

A continuación, puedes consultar el código del proyecto.

Clasificación de Numeros