Desde la regla de Perceptron hasta el Descenso de gradiente: ¿en qué se diferencian los Perceptrones con una función de activación sigmoidea de la Regresión logística?

21

Básicamente, mi pregunta es que en los perceptrones multicapa, los perceptrones se usan con una función de activación sigmoidea. Para que en la regla de actualización se calcule comoy^

y^=11+exp(-wTXyo)

¿En qué se diferencia este Perceptrón "sigmoide" de una regresión logística entonces?

Diría que un perceptrón sigmoide de una capa es equivalente a una regresión logística en el sentido de que ambos usan en la regla de actualización. Además, ambos devuelven en la predicción. Sin embargo, en perceptrones multicapa, la función de activación sigmoidea se usa para devolver una probabilidad, no una señal de encendido / apagado en contraste con la regresión logística y un perceptrón de una sola capa.y^=11+exp(-wTXyo)firmar(y^=11+exp(-wTXyo))

Creo que el uso del término "Perceptrón" puede ser un poco ambiguo, así que permítanme proporcionar algunos antecedentes basados ​​en mi comprensión actual sobre los perceptrones de una sola capa:

Regla clásica de perceptrón

En primer lugar, el clásico perceptrón de F. Rosenblatt donde tenemos una función de paso:

Δwre=η(yyo-yyo^)Xyoreyyo,yyo^{-1,1}

para actualizar los pesos

wk: =wk+Δwk(k{1,...,re})

De manera que Y se calcula comoy^

y^=firmar(wTXyo)=firmar(w0 0+w1Xyo1+...+wreXyore)


Descenso de gradiente

Usando el descenso de gradiente, optimizamos (minimizamos) la función de costo

J(w)=yo12(yyo-yyo^)2yyo,yyo^R

donde tenemos números "reales", así que veo esto básicamente análogo a la regresión lineal con la diferencia de que nuestra salida de clasificación está limitada.

Aquí, damos un paso en la dirección negativa del gradiente cuando actualizamos los pesos

Δwk=-ηJwk=-ηyo(yyo-yyo^)(-Xyok)=ηyo(yyo-yyo^)Xyok

Pero aquí, tenemos lugar de y =signo(wTxi)y^=wTXyoy^=firmar(wTXyo)

wk: =wk+Δwk(k{1,...,re})

Además, calculamos la suma de los errores al cuadrado para un pase completo sobre todo el conjunto de datos de entrenamiento (en el modo de aprendizaje por lotes) en contraste con la regla clásica de perceptrón que actualiza los pesos a medida que llegan nuevas muestras de entrenamiento (análogo al descenso de gradiente estocástico - en línea aprendizaje).


Función de activación sigmoidea

Ahora, aquí está mi pregunta:

En los perceptrones multicapa, los perceptrones se usan con una función de activación sigmoidea. De modo que en la regla de actualización se calcula comoy^

y^=11+exp(-wTXyo)

¿En qué se diferencia este Perceptrón "sigmoide" de una regresión logística entonces?


fuente
44
¡Increíble, esta pregunta en sí misma me permitió condensar mi aprendizaje automático y los conceptos básicos de la red neuronal!
varun 01 de

Respuestas:

4

Usando el descenso de gradiente, optimizamos (minimizamos) la función de costo

J(w)=yo12(yyo-yyo^)2yyo,yyo^R

Si minimiza el error cuadrático medio, entonces es diferente de la regresión logística. La regresión logística normalmente se asocia con la pérdida de entropía cruzada, aquí hay una página de introducción de la biblioteca scikit-learn .


(Asumiré que los perceptrones multicapa son lo mismo que se llaman redes neuronales).

Si usó la pérdida de entropía cruzada (con regularización) para una red neuronal de capa única, entonces será el mismo modelo (modelo log-lineal) que la regresión logística. Si utiliza una red multicapa, puede considerarse como una regresión logística con funciones paramétricas de base no lineal.


Sin embargo, en perceptrones multicapa, la función de activación sigmoidea se usa para devolver una probabilidad, no una señal de encendido / apagado en contraste con la regresión logística y un perceptrón de una sola capa.

El resultado de la regresión logística y las redes neuronales con función de activación sigmoidea puede interpretarse como probabilidades. Como la pérdida de entropía cruzada es en realidad la probabilidad logarítmica negativa definida a través de la distribución de Bernoulli.

dontloo
fuente
2

Debido a que el descenso de gradiente actualiza cada parámetro de una manera que reduce el error de salida, que debe continuar la función de todos los parámetros. La activación basada en el umbral no es diferenciable, es por eso que se utiliza la activación sigmoide o tanh.

Aquí hay un NN de una sola capa

reJ(w,si)reωkj=reJ(w,si)rezkrezkreωkj

reJ(w,si)rezk=(unak-yk)(unak(1-unak))

rezkreωkj=Xk

J(w,si)=12(yk-unak)2

unak=syosolmetro(zk)=syosolmetro(WkjXk+sik)

si la función de activación fuera una función básica de paso (umbral), la derivada de wrt no sería diferenciable.Jzk

Aquí hay un enlace que lo explica en general.

Editar: Tal vez, no entendí lo que quieres decir con perceptrón. Si no me equivoco, el perceptrón es la suma ponderada de entradas. Si cambia la retención con la función logística, se convierte en regresión logística. NN multicapa con funciones de activación sigmoidea (logística) son capas en cascada compuestas de regresiones logísticas.

yasin.yazici
fuente
3
Esto no responde la pregunta.
Neil G
Gracias por escribir este bonito comentario, pero esto no era lo que estaba pidiendo. Mi pregunta no es "¿por qué la pendiente de descenso", pero "lo que hace que un perceptrón con una sigmoide diferente función de activación de regresión logística"
@SebastianRaschka Son lo mismo. ¿Qué te hace pensar que son diferentes? Conduje el descenso de gradiente porque vi un error en su evaluación de descenso de gradiente. Asumió cuando lo conducía. Es por eso que encontró la misma derivación para la actualización de Perceptron y Gradient. y=WTX
yasin.yazici
1
y=wjTXjyo
Creo que lo que podría causar la confusión es que hay que distinguir entre el paso de "clasificación" y el de "aprendizaje". El paso de clasificación siempre está restringido (-1 o 1, o 0 y 1 si lo desea). Sin embargo, la actualización es diferente, en el perceptrón clásico, la actualización se realiza a través de mientras que en el descenso de gradiente estocástico es η ( y - w T x i ) x iη(y-syosolnorte(wTXyo))Xη(y-wTXyo)Xyo
2

Intuitivamente, pienso en un perceptrón multicapa como el cálculo de una transformación no lineal en mis características de entrada, y luego alimentar estas variables transformadas en una regresión logística.

El caso multinomial (es decir, N> 2 posibles etiquetas) puede aclarar esto. En la regresión logística tradicional, para un punto de datos dado, desea calcular una "puntuación", , para cada clase, . Y la forma de convertirlos en probabilidades es simplemente tomando el puntaje de la clase dada sobre la suma de puntajes para todas las clases, . Por lo tanto, una clase con un puntaje grande tiene una mayor proporción del puntaje combinado y, por lo tanto, una mayor probabilidad. Si se ve obligado a predecir una sola clase, elige la clase con la mayor probabilidad (que también es la mayor puntuación).i β i XβyoXyoβyoXjβjX

No sé sobre usted, pero en mis cursos de modelado e investigación, probé todo tipo de transformaciones sensatas y estúpidas de las características de entrada para mejorar su importancia y la predicción general del modelo. Cuadrando cosas, tomando troncos, combinando dos en una tasa, etc. No tenía vergüenza, pero tenía una paciencia limitada.

Un perceptrón multicapa es como un estudiante graduado con demasiado tiempo en sus manos. A través del entrenamiento de descenso de gradiente y las activaciones sigmoideas, calculará combinaciones arbitrarias no lineales de sus variables de entrada originales. En la capa final del perceptrón, estas variables se convierten efectivamente en la en la ecuación anterior, y su pendiente de gradiente también calcula un final asociado . El marco MLP es solo una abstracción de esto.β iXβyo

Dan Van Boxel
fuente