redes neuronales multicapa las funciones funcionan como combativas biologicas aplicaciones actualidad activacion machine-learning neural-network artificial-intelligence perceptron biological-neural-network

machine-learning - multicapa - redes neuronales combativas



¿Por qué el vector de peso es ortogonal al plano de decisión en las redes neuronales? (3)

Soy principiante en redes neuronales. Estoy aprendiendo sobre perceptrones. Mi pregunta es ¿Por qué el vector de peso es perpendicular al límite de decisión (Hiperplane)? Remití muchos libros, pero todos mencionan que el vector de peso es perpendicular al límite de decisión, pero ninguno dice por qué.

¿Alguien puede darme una explicación o referencia a un libro?


Aunque la pregunta fue hecha hace 2 años, creo que muchos estudiantes tendrán las mismas dudas. Llegué a esta respuesta porque hice la misma pregunta.

Ahora, solo piense en X, Y (un sistema de coordenadas cartesianas es un sistema de coordenadas que especifica cada punto de forma única en un plano mediante un par de coordenadas numéricas, que son las distancias firmadas desde el punto a dos líneas fijas orientadas perpendiculares [ de Wikipedia ] )

Si Y = 3X, en la geometría Y es perpendicular a X, entonces dejamos w = 3, luego Y = wX, w = Y / X y si queremos dibujar la relación entre X, w tendremos dos líneas perpendiculares como cuando dibujamos la relación entre X, Y. Por lo tanto, siempre piense en el coeficiente w como perpendicular a X e Y.


Intuitivamente, en un problema binario, el vector de peso apunta en la dirección de la clase ''1'', mientras que la clase ''0'' se encuentra al apuntar lejos del vector de peso. El límite de decisión debería dibujarse perpendicularmente al vector de ponderación.

Vea la imagen para un ejemplo simplificado: usted tiene una red neuronal con solo 1 entrada que tiene 1 peso. Si el peso es -1 (el vector azul), entonces todas las entradas negativas se volverán positivas, por lo que todo el espectro negativo se asignará a la clase ''1'', mientras que el espectro positivo será la clase ''0''. El límite de decisión en un plano de 2 ejes es, por lo tanto, una línea vertical a través del origen (la línea roja). Simplemente dijo que es la línea perpendicular al vector de peso.

Veamos este ejemplo con algunos valores. La salida del perceptron es clase 1 si la suma de todas las inputs * weights es mayor que 0 (el umbral predeterminado); de lo contrario, si la salida es menor que el umbral de 0 entonces la clase es 0. Su entrada tiene valor 1. La el peso aplicado a esta única entrada es -1, entonces 1 * -1 = -1 que es menor que 0. La entrada tiene asignada clase 0 (NOTA: la clase 0 y la clase 1 podrían haber sido llamadas clase A o clase B, no los confunda con los valores de entrada y peso). Por el contrario, si la entrada es -1, entonces la input * weight es -1 * -1 = 1 , que es mayor que 0, por lo que la entrada se asigna a la clase 1. Si prueba cada valor de entrada, verá que todo el los valores negativos en este ejemplo tienen una salida mayor que 0, entonces todos pertenecen a la clase 1. Todos los valores positivos tendrán una salida menor que 0 y por lo tanto se clasificarán como clase 0. Dibuja la línea que separa todos los positivos y negativos valores de entrada (la línea roja) y verá que esta línea es perpendicular al vector de peso.

También tenga en cuenta que el vector de peso solo se usa para modificar las entradas para que se ajusten a la salida deseada. ¿Qué pasaría sin un vector de peso? Una entrada de 1 daría como resultado una salida de 1, que es mayor que el umbral de 0, por lo que la clase es ''1''.

La segunda imagen en esta página muestra un perceptrón con 2 entradas y un sesgo. La primera entrada tiene el mismo peso que mi ejemplo, mientras que la segunda entrada tiene un peso de 1. El vector de peso correspondiente junto con el límite de decisión se cambian como se ve en la imagen. También el límite de decisión se ha traducido a la derecha debido a un sesgo adicional de 1.


Los pesos son simplemente los coeficientes que definen un plano de separación. Por el momento, olvídate de las neuronas y solo considera la definición geométrica de un avión en N dimensiones:

w1*x1 + w2*x2 + ... + wN*xN - w0 = 0

También puedes pensar en esto como un producto escalar:

w*x - w0 = 0

donde w y x son ambos vectores de longitud-N. Esta ecuación se cumple para todos los puntos en el plano. Recuerde que podemos multiplicar la ecuación anterior por una constante y aún se mantiene así que podemos definir las constantes de modo que el vector w tenga la longitud de la unidad. Ahora, saque una hoja de papel y dibuje sus ejes xy ( x1 y x2 en las ecuaciones anteriores). Luego, dibuja una línea (un plano en 2D ) cerca del origen. w0 es simplemente la distancia perpendicular desde el origen al plano w es el vector unitario que apunta desde el origen a lo largo de esa perpendicular. Si ahora dibujas un vector desde el origen hasta cualquier punto del plano, el producto escalar de ese vector con el vector unitario w siempre será igual a w0 por lo que la ecuación anterior se cumple, ¿no? Esta es simplemente la definición geométrica de un plano: un vector unitario que define la perpendicular al plano ( w ) y la distancia ( w0 ) desde el origen hasta el plano.

Ahora nuestra neurona simplemente representa el mismo plano que se describió anteriormente, pero simplemente describimos las variables de forma un poco diferente. Llamaremos a los componentes de x nuestras "entradas", los componentes de nuestros "pesos", y llamaremos a la distancia w0 un sesgo. Eso es todo al respecto.

Un poco más allá de tu pregunta real, realmente no nos importan los puntos en el avión. Realmente queremos saber de qué lado del avión cae un punto. Mientras que w*x - w0 es exactamente cero en el plano, tendrá valores positivos para puntos en un lado del plano y valores negativos para puntos en el otro lado. Ahí es donde entra en juego la función de activación de la neurona, pero eso va más allá de tu pregunta real.