Problema XOR El problema XOR es un problema no lineal pues no se puede trazar una recta que deje las cruces a un lado y los círculos al otro. La no linealidad está íntimamente relacionada con el solapamiento de las clases. La posición de las medias es una medida sencilla del solapamiento de las clases. En este caso, las medias de las dos clases coinciden. x2 3 1 4 2 x1 # x1 x2 t ------------1 0 0 0 3 0 1 1 2 1 0 1 4 1 1 0 ------------- Problema XOR XOR no se puede resolver mediante un perceptrón de Rosemblatt porque este perceptrón da lugar a una frontera lineal. Aunque no existe ninguna recta que deje las cruces a un lado y los círculos al otro, sí podemos encerrar los círculos entre dos rectas, es decir, entre dos perceptrones. x2 3 1 4 2 x1 # x1 x2 t ------------1 0 0 0 3 0 1 1 2 1 0 1 4 1 1 0 ------------- Problema XOR Existen infinitas posibilidades de pares de rectas o pares de perceptrones. Dos posibles son (en verde en la figura): x1 + x2 − 0.5 = 0 x1 + x2 − 1.5 = 0 Estas dos rectas son las fronteras de los perceptrones siguientes: z1 = ϕ ( x1 + x2 − 0.5) z 2 = ϕ ( x1 + x2 − 1.5) x2 3 1 4 2 x1 # x1 x2 t ------------1 0 0 0 3 0 1 1 2 1 0 1 4 1 1 0 ------------- Problema XOR Podemos dibujar los dos perceptrones juntos como sigue: 1 -0.5 1 x1 1 z2 1 x2 -1.5 z1 1 z1 = ϕ ( x1 + x2 − 0.5) z 2 = ϕ ( x1 + x2 − 1.5) Problema XOR Veamos la respuesta de estos perceptrones a los cuatro ejemplos del problema XOR, es decir, sus coordenadas z1 y z2: z1 = ϕ ( x1 + x2 − 0.5) x2 3 1 4 x1 2 z 2 = ϕ ( x1 + x2 − 1.5) # x1 x2 t z1 z2 --------------------1 0 0 0 0 00 3 0 1 1 1 0 2 1 0 1 1 0 4 1 1 0 1 1 --------------------- 0 Los dos círculos pasan a ocupar la misma posición. z2 4 1 2 3 z1 Por lo tanto, en el espacio (z1,z2) el problema XOR se ha convertido en un problema separable linealmente. Problema XOR Esto quiere decir que podemos resolver el problema mediante un tercer perceptrón que utilice las coordenadas z como entrada. También ahora son infinitas las rectas que separan los ejemplos. Una posibilidad sencilla es la siguiente: z1 − z 2 − 0.5 = 0 Esta frontera es la frontera a la que da lugar el siguiente perceptrón: y = ϕ ( z1 − z 2 − 0.5) z2 4 1 2 3 z1 Problema XOR El nuevo perceptrón no está conectado a las entradas (x1,x2) sino al cálculo efectuado por los otros dos perceptrones (z1,z2): 1 -0.5 1 -0.5 1 x1 -1.5 1 1 y -1 z2 1 x2 z1 1 z1 = ϕ ( x1 + x2 − 0.5) z 2 = ϕ ( x1 + x2 − 1.5) y = ϕ ( z1 − z 2 − 0.5) Problema XOR Veamos cuál es la salida propuesta por el perceptrón para cada ejempo: z2 4 1 2 3 z1 # x1 x2 t z1 z2 y ------------------------1 0 0 0 0 00 0 00 3 0 1 1 1 0 1 2 1 0 1 1 0 1 4 1 1 0 1 1 0 ------------------------- 0 Hemos resuelto un problema no lineal mediante un perceptrón con una capa oculta de pesos.