22 votos

De la regla del perceptrón al Gradient Descent: ¿En qué se diferencian los perceptrones con función de activación sigmoidea de la regresión logística?

Esencialmente, mi pregunta es que en los perceptrones multicapa, los perceptrones se utilizan con una función de activación sigmoide. De modo que en la regla de actualización $\hat{y}$ se calcula como

$$\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)}$$

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

Yo diría que un perceptrón sigmoide de una sola capa es equivalente a una regresión logística en el sentido de que ambos utilizan $\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)}$ en la regla de actualización. Además, ambos devuelven $\operatorname{sign}(\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)})$ en la predicción. Sin embargo, en los perceptrones multicapa, la función de activación sigmoidea se utiliza para devolver una probabilidad, no una señal de encendido y apagado, en contraste con la regresión logística y un perceptrón monocapa.

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 perceptrón clásica

En primer lugar, el perceptrón clásico de F. Rosenblatt, en el que tenemos una función escalón:

$$\Delta w_d = \eta(y_{i} - \hat{y_i})x_{id} \quad\quad y_{i}, \hat{y_i} \in \{-1,1\}$$

para actualizar los pesos

$$w_k := w_k + \Delta w_k \quad \quad (k \in \{1, ..., d\})$$

De modo que $\hat{y}$ se calcula como

$$\hat{y} = \operatorname{sign}(\mathbf{w}^T\mathbf{x}_i) = \operatorname{sign}(w_0 + w_1x_{i1} + ... + w_dx_{id})$$

Descenso gradual

Mediante el descenso gradiente, optimizamos (minimizamos) la función de coste

$$J(\mathbf{w}) = \sum_{i} \frac{1}{2}(y_i - \hat{y_i})^2 \quad \quad y_i,\hat{y_i} \in \mathbb{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 es umbralizada.

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

$$\Delta w_k = - \eta \frac{\partial J}{\partial w_k} = - \eta \sum_i (y_i - \hat{y_i})(- x_{ik}) = \eta \sum_i (y_i - \hat{y_i})x_{ik}$$

Pero aquí, tenemos $\hat{y} = \mathbf{w}^T\mathbf{x}_i$ en lugar de $\hat{y} = \operatorname{sign}(\mathbf{w}^T\mathbf{x}_i)$

$$w_k := w_k + \Delta w_k \quad \quad (k \in \{1, ..., d\})$$

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

Función de activación sigmoidea

Esta es mi pregunta:

En los perceptrones multicapa, se utilizan perceptrones con una función de activación sigmoidea. De modo que en la regla de actualización $\hat{y}$ se calcula como

$$\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)}$$

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

2voto

ang mo Puntos 183

Porque el descenso de gradiente actualiza cada parámetro de forma que reduce el error de salida que debe ser función continua de todos los parámetros. La activación basada en el umbral no es diferenciable, por eso se utiliza la activación sigmoidea o tanh.

He aquí una NN de una sola capa

$\frac{dJ(w,b)}{d\omega_{kj}} =\frac{dJ(w,b)}{dz_k}\cdot \frac{dz_k}{d\omega_{kj}}$

$\frac{dJ(w,b)}{dz_k} = (a_k -y_k)(a_k(1-a_k))$

$\frac{dz_k}{d\omega_{kj}} = x_k $

$ J(w,b) = \frac{1}{2} (y_k - a_k)^2 $

$ a_k = sigm(z_k) = sigm(W_{kj}*x_k + b_k) $

si la función de activación fuera una función escalonada básica (umbral), la derivada de $J$ en relación con $z_k$ sería indiferenciable.

aquí es un enlace que lo explica en general.

Edición: Tal vez, he entendido mal lo que quieres decir con perceptrón. Si no me equivoco, el perceptrón es una suma ponderada de tres entradas. Si cambias la suma ponderada por la función logística, se convierte en regresión logística. La NN multicapa con funciones de activación sigmoidales (logísticas) son capas en cascada compuestas de regresiones logísticas.

2voto

Teftin Puntos 861

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 la alimentación de estas variables transformadas en una regresión logística.

El caso multinomial (es decir, N > 2 etiquetas posibles) puede aclararlo mejor. En la regresión logística tradicional, para un punto de datos dado, se desea calcular una "puntuación", $\beta_i X$ para cada clase, $i$ . Y la forma de convertirlas en probabilidades es simplemente tomando la puntuación de la clase dada sobre la suma de las puntuaciones de todas las clases, $\frac{\beta_i X}{\sum_j \beta_j X}$ . Por lo tanto, una clase con una puntuación alta tiene una parte mayor de la puntuación combinada y, por lo tanto, una probabilidad más alta. Si se ve obligado a predecir una sola clase, elige la clase con la mayor probabilidad (que también es la mayor puntuación).

No sé tú, pero en mis cursos de modelización e investigación, he probado 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. Cuadrar las cosas, tomar logaritmos, combinar dos en una tasa, etc. No tenía vergüenza, pero mi paciencia era limitada.

Un perceptrón multicapa es como una estudiante de posgrado con demasiado tiempo libre. Mediante el entrenamiento por descenso de gradiente y activaciones sigmoidales, va a calcular combinaciones no lineales arbitrarias de tus variables de entrada originales. En la capa final del perceptrón, estas variables se convierten efectivamente en el $X$ en la ecuación anterior, y su descenso de gradiente también calcula un final asociado $\beta_i$ . El marco MLP es sólo una abstracción de esto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X