2.10 - Práctica 3: la Neurona Artificial en Keras

Lección 10 de la sección “Redes Neuronales” del curso Fundamentos de Deep Learning con Python.

Introducción

En la lección anterior vimos cómo usar la entropía cruzada para el entrenamiento de una Neurona Artificial, así que ya estamos listos para poner en práctica estos conocimientos en la implementación de nuestra primera neurona artiicial usando la librería Keras.

Contenido exclusivo suscriptores

Suscríbete y accede al set de datos, código fuente y video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

El problema a resolver y el set de datos

El set de datos que usaremos en esta práctica contiene un total de 14 datos. Cada uno de estos datos está definido por dos características (x1 y x2) y corresponde a una de dos posibles categorías: “0” ó “1”.

El objetivo es crear un sencillo clasificador, haciendo uso precisamente de la Neurona Artificial y la entropía cruzada vistas anteriormente.

Al dibujar la distribución de estos datos usando matplotlib vemos que son linealmente separables, con lo cual confirmamos que una única Neurona Artificial será suficiente para realizar adecuadamente la clasificación.

Creación de la Neurona Artificial en Keras

Al igual que en la práctica 2 (Regresión Lineal en Keras), para crear nuestra Neurona Artificial usaremos el módulo Sequential y el método add de Keras.

Para el optimizador usaremos la función SGD, que implementa el método del gradiente descendente, y en particular especificaremos que la función de error a usar será la entropía cruzada binaria (binary_crossentropy), pues en este caso tenemos sólo dos posibles categorías.

Entrenamiento y predicción

Usando el método fit realizaremos un total de 100 iteraciones, con lo que al final lograremos una exactitud del 100%, lo que nos indica que la totalidad de los datos ha sido clasificada correctamente.

De hecho, al dibujar la frontera de decisión encontramos que esta es lineal, lo que es consistente con el hecho de que estamos usando una sola Neurona Artificial para la clasificación.

Podemos además usar el método predict para clasificar un nuevo dato con el modelo ya entrenado.

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al set de datos, código fuente y video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Acabamos de ver que gracias a Keras se requieren sólo unas pocas líneas de código para entrenar y poner a prueba el clasificador. En este sencillo caso hemos logrado una exactitud del 100% (es decir que todos los datos han sido clasificados correctamente).

Con esta práctica ya tenemos claros los conceptos y la forma de implementar un clasificador binario (es decir para 2 categorías) usando una Neurona Artificial.

Estas mismas ideas las podemos extender a la clasificación multiclase (es decir cuando tenemos más de 2 categorías), que será precisamente el tema de la próxima lección.

Ver todas las lecciones de este curso