¿Existe una manera simple de calcular los pesos de perceptrón en función de un gráfico de clasificación?

8

Estoy estudiando para un examen de IA y estoy buscando una mejor manera de resolver el siguiente problema:

El gráfico muestra un problema de clasificación en el cuadrado de la unidad. [0 0,1]2, donde la Clase A se denota por el área gris en la figura (sin incluir los puntos en las líneas punteadas), y la Clase B ocurre de otra manera.

El gráfico muestra un problema de clasificación en el cuadrado de la unidad [0,1] ^ 2

Para resolver este problema, es necesario construir 2 perceptrones: ambos perceptrones generan 1 si la entrada se encuentra en el área gris, y al menos uno de los perceptrones genera 0 de lo contrario.

Hay 3 formas de encontrar pesos apropiados para entradas y sesgos que conozco:

  1. Prueba y error
  2. Algoritmo de aprendizaje de Perceptron (que involucra pesos aleatorios, tasa de aprendizaje, épocas múltiples)
  3. Forma geométrica de encontrar los vectores de pesos (que implica encontrar una línea ortogonal a la función de límite)

Todos consumen mucho tiempo cuando lo haces con solo lápiz y papel.

¿Existe una manera simple de calcular / encontrar pesos de perceptrón basados ​​en un gráfico de clasificación?

BadgerBadger
fuente

Respuestas:

2

piensa que puede estar malinterpretando de alguna manera el punto de la pregunta. la intención de la pregunta del examen parece ser "qué buenos pesos de perceptrón resultarían para este problema de clasificación". La razón de esto es que uno no puede seguir todos los pasos de un algoritmo de larga duración durante un examen o incluso la tarea.

volviendo a la teoría del perceptrón [que tiene varias décadas de antigüedad] el punto es que es un clasificador basado en funciones linealmente separables , es decir, desigualdades lineales . para el caso 2d esto da como resultado una geometría algebraica simple. en otras palabras, el perceptrón puede implementar cierto número de desigualdades lineales para intentar crear la clasificación. aquí se da comonorte=2. entonces la pregunta que probablemente se pretendía es, "¿cuáles son las dos desigualdades lineales con las que un buen algoritmo de perceptrón convergería para este problema"?

entonces parece reducirse para encontrar los coeficientes de:

y<metro1X+si2

y>metro2X+si2

entonces usa álgebra geométrica básica para determinar los coeficientes metro1,metro2,si1,si2que funcionan para el diagrama de arriba. basado en el diagrama no hay una solución perfecta, sino una "buena". (también tenga en cuenta que las ecuaciones solo necesitan trabajar dentro de[0 0,1]2.)

intuitivamente, también está algo implicado en este análisis por qué los perceptrones son tan limitados. porque es fácil, incluso en 2d, dibujar problemas de clasificación para los que no hay una solución separable linealmente (formas cóncavas, formas con agujeros, etcétera), se ve algo de esto al notar que la forma anterior es ligeramente cóncava). esta observación, desarrollada de una manera más sofisticada / formal / matemática / rigurosa en [1], causó mucha controversia en ese momento y fue un debate importante en la historia de la IA, e incluso aparentemente desanimó a algunos científicos a investigar más sofisticados simuló modelos de redes neuronales durante algún tiempo, aunque Minsky negó enfáticamente que esa fuera su intención y dijo que su trabajo fue malinterpretado.

[1] Perceptrones, por Minsky y Papert

vzn
fuente
ps esta técnica parece corresponder al punto (3) anterior, encontrar los pesos a través de técnicas geométricas, pero no es realmente "lento" a menos que sea un objeto complejo (por ejemplo, un polígono de muchos lados, etc.)
vzn
en otras palabras, encontrar líneas limítrofes ortogonales geométricas es básicamente "simple" en el segundo caso porque se reduce a geometría algebraica, pero no en dimensiones más altas.
vzn