¿Cuál es la intuición detrás de la fórmula de actualización de peso de Perceptron w = w + yx?

Supongo que te estás preguntando por qué esta fórmula. aunque parece torpe en la pregunta. debería ser :

w1 = w0 + a (d – y) x

donde, w1 = peso actualizado
w0 = peso actual
a = tasa de aprendizaje
d = salida deseada
y = salida real
x = entrada

Comenzando con la suposición aleatoria, actualizamos los pesos para lograr el cambio en los separadores lineales. Un separador lineal puede ser denotado por la ecuación de una línea, que es una función de xy w.

En el algoritmo perceptrón, los pesos pueden inicializarse configurando cada nodo de peso Wi (0) en un pequeño valor aleatorio.

Luego, para cada muestra j en nuestro conjunto de entrenamiento D , realice los siguientes pasos que se repiten para la entrada Xj y la salida deseada dj hasta el error de iteración
es menor que un umbral de error especificado por el usuario o se ha completado un número predeterminado de iteraciones.

Paso a: Calcule la salida real:

Paso b: Adaptar pesos:
, para todos los nodos 0 <= i <= n .

Tenga en cuenta que el algoritmo adapta los pesos inmediatamente después de que los pasos ayb se aplican a un par en el conjunto de entrenamiento en lugar de esperar hasta que todos los pares en el conjunto de entrenamiento hayan pasado por estos pasos. La siguiente imagen resume la fórmula de actualización de peso:

ver Clasificación lineal – El Perceptrón (Abu-Mostafa)

Usted hace la predicción punteando x con w y tomando el signo de ello.

= || x || * || w || * cos \ alpha

El signo de la predicción depende de alfa, ya que la magnitud de x y w siempre es positiva. Si alfa está entre 0 y 90 grados, entonces cos alfa es positivo y, por lo tanto, la predicción es +1, si alfa está entre 90 y 180 grados, entonces cos alfa es negativo y, por lo tanto, la predicción es -1.

si y es +1 y haces una predicción negativa, entonces tienes la primera cifra. Al agregar x a w, alfa va de 90-180 a 0-90 y, por lo tanto, la predicción será positiva.

Si y es -1 y haces una predicción positiva, entonces tienes la segunda cifra. restando x de w, alfa va de 0-90 a 90-180 y, por lo tanto, la predicción será negativa.

Veo algunos puntos para mi pregunta:

Mi explicación asume que conoce el significado geométrico del producto punto (interno) entre dos vectores (en nuestro caso es transposición (W) .x)

Azul es el vector de características X, Rojo si el vector de peso inicial W.

si tenemos falso positivo (predicción = 1 pero valor_ real = -1)
W3 = WX (disminuimos W ya que queremos ir por debajo del umbral)

si tenemos falso negativo (predicción = -1 pero valor_ real = 1)
W2 = W + x (aumentamos W ya que queremos ir detrás del umbral)

Como puede ver, W2 es más grande que W y el ángulo entre X y W2 es más pequeño, por lo que el producto Dot de ellos será más grande (transposición (W) * X), ​​por lo que es más probable que supere el umbral propuesto por el perceptrón aprendiendo algo.

Por otro lado, W3 es más pequeño, también el ángulo hacia X también es más grande y el mismo producto de punto dará un resultado más pequeño que es más probable que vaya por debajo del umbral.

No sé si eso da algo de intuición, pero me aclara la mente.

Esta es una ecuación lineal. Cuando se usa como perceptrón, actúa como clasificador al tratar de clasificar un lado de la línea recta como clase positiva y otro lado negativo. Ajustar pesos y sesgos simplemente significa ajustar la pendiente y las intersecciones de la línea recta. Ahora, la actualización gradual de los pesos y sesgos le permitirá encontrar una línea que clasifica la muestra de entrenamiento con cada vez menos errores.

More Interesting

¿Por qué la biblioteca de estadísticas de Python es tan limitada en métodos bioestadísticos avanzados en comparación con R, mientras que la biblioteca de Python de Machine Learning es mucho mejor?

¿Debo aprender a desarrollar backend si quiero ser ingeniero de aprendizaje automático?

Cómo utilizar una GPU en mis algoritmos de aprendizaje automático de R

¿Hay alguna manera de extraer la función subyacente de una red neuronal entrenada?

¿Cuál es el impacto de la limitación de la velocidad de la luz en el aprendizaje automático?

¿Cuál es el significado de la optimización convexa en el aprendizaje automático?

¿Por qué TensorFlow tiene definiciones para muchas operaciones matemáticas?

¿Aprender Python en lugar de C ++ es una buena introducción a los lenguajes de programación en medio de la teoría CS / AI?

¿Cómo genera el modelo generativo muestras de ruidos?

¿Cómo soluciona un bosque aleatorio los problemas de regresión (no normalidad, heterocedasticidad, multicolinealidad, valores atípicos, valores faltantes y variables categóricas)?

¿Cuál es el algoritmo de aprendizaje automático más rápido para implementar para la detección de fraudes?

¿Cuáles son los mejores cursos de ciencia de datos en Udemy?

¿Cuáles son algunos buenos documentos sobre la extracción de sinónimos de los registros de consultas?

¿Se puede solicitar un doctorado en aprendizaje automático sin conocimientos y habilidades de CompSci? ¿Se puede aprender en el trabajo?

¿Podrían las entradas del algoritmo de entrenamiento Perceptron tener diferentes tipos?