Ejemplo: XOR

1 minuto de lectura

Para tener claro como funciona una red neuronal, vamos a ver un ejemplo concreto, la función XOR. Esta función es bastante simple, sólo toma 2 valores binarios y devuelve otro valor binario. Se resume en la siguiente tabla:

Entrada 1 Entrada 2 Salida
0 0 0
0 1 1
1 0 1
1 1 0

Queremos conseguir una red neuronal que aprenda esta función. Para conseguirlo, la red tendrá que ir modificando sus parámetros (los pesos), para ir acercándose poco a poco a la función objetivo, (la función XOR).

Definir la función de error

Para ver lo bien que funciona la red, tenemos que definir una medida para ver cómo se comporta respecto a la función original. Decimos que Y es la salida de la red neuronal, y Ŷ es la salida original (representada por la tabla de arriba), de esta forma podremos medir cuanto difieren las salidas. Recuerda que hay calacular ambas salidas para todas las entradas: X = { [0,0] [0,1] [1,0] [1,1] }

Existen varias formas de medir el error, pero para simplificar las matemáticas usaremos el error cuadrático medio. Consiste en calcular las diferencias para las 4 entradas (n = 4), aplicar el cuadrado a cada diferencia, sumarlos, y finalemente dividirlo entre 4.

Definir el modelo

Una vez sabemos como medir la salida de la red neuronal respecto a la salida original, tenemos que proporcionar un modelo (arqutectura) para que pueda calcular su salida.

Referencias

  • https://chih-ling-hsu.github.io/2017/08/30/NN-XOR
  • https://stats.stackexchange.com/questions/253217/neural-network-decision-boundary