En este blog se exploran las posibilidades de analizar datos y crear modelos basados en la Teoría de la Información usando Powerhouse

lunes, 22 de octubre de 2007

El problema XOR

A principios de los 60 Frank Rosenblatt propuso una técnica llamada Perceptron Convergence Procedure para entrenar una red neuronal capaz de resolver simples problemas de reconocimiento de patrones.

El Perceptron era una red neuronal sin unidades ocultas, lo que no le permitía resolver ciertos problemas. Esta dificultad fue el tema principal del libro Perceptrones de Seymour Papert y Marvin Minsky.

Uno de los problemas más conocidos que no podía resolver el Perceptron era una función lógica llamada OR Exclusiva o simplemente XOR. Las funciones lógicas tienen normalmente dos entradas y una salida que depende de los valores de las entradas. Las entradas y las salidas pueden tomar dos valores: Verdadero y Falso, ó 0 y 1. Así para cada función lógica existe una tabla que indica cuál será la salida dada la combinación de los valores de la entrada. Para la función XOR la tabla es la siguiente:

El resultado de XOR será Verdadero (1) sólo si las dos entradas son distintas, sino será Falso (0).

Una manera de ver por qué este aparentemente simple problema ponía en dificultades al Perceptron, es representar cada entrada en un espacio de dos dimensiones, una para X y la otra para Y.

El Perceptron puede resolver problemas que son linealmente separables, o sea, que exista una línea (o hiperplano) que separe grupos de entradas que tengan la misma salida. En el caso del XOR es imposible encontrar tal solución, como puede verse en el siguiente gráfico


La entradas que tienen el mismo resultado en la función XOR son 0,1 y 1,0 por un lado, y 0,0 y 1,1 por el otro. En el gráfico se puede notar que no es posible encontrar una línea que separe estas entradas en dos grupos.

Luego de la publicación del libro de Minsky y Papert, el campo de la investigación de las redes neuronales comenzó a debilitarse y la mayoría de sus investigadores se pasaron al área del la Inteligencia Artificial simbólica.

A fines de los 70 y principios de los 80 se descubre cómo entrenar redes neuronales multicapas capaces de resolver cualquier tipo de problemas, incluyendo el XOR.

Resumiendo, una red neuronal con una capa oculta (hidden layer) resuelve sin inconvenientes el problema del XOR.

¿Qué pasa con Powerhouse? ¿Es capaz de resolver el XOR?

coinciden con las reglas del El modelo OPFIT no puede lograrlo, pero sí el MAXIT. Abajo se ve el modelo que se obtiene. Tiene 4 reglas y logra un 100% de aciertos. Las reglas que encuentra el modelo MAXIT son las reglas que definen las función XOR.


Para encontrar el modelo se usaron datos de entrenamiento que contenían alrededor de 1000 ejemplos del XOR

No hay comentarios: