3 votos

¿Cómo funciona la clasificación por regresión lineal?

Actualmente estoy intentando comprender lo siguiente:

La regresión logística es un clasificador probabilístico lineal. Se parametriza mediante una matriz de pesos $W$ y un vector de sesgo $b$ . La clasificación se realiza proyectando puntos de datos en un conjunto de hiperplanos, cuya distancia refleja una probabilidad de pertenencia a una clase.

Matemáticamente, esto se puede escribir como:

\begin{align} P(Y=i|x, W,b) &= softmax_i(W x + b) \\ &= \frac {e^{W_i x + b_i}} {\sum_j e^{W_j x + b_j}} \end{align}

Fuente: http://www.deeplearning.net/tutorial/logreg.html#logreg

Lo que creo haber entendido

Tenemos el siguiente escenario:

  • Cuando tenga $p$ puntos en $\mathbb{R}^n$ de la que conoce la clase $c(p_i) \in [1 ... m]$ (para $i \in 1..p$ ) de. Este es nuestro conjunto de entrenamiento.
  • Tenemos otros puntos que queremos clasificar.
  • Siempre hacemos un control cada vez. Para un punto determinado $p$ comprobamos "¿Cuál es la probabilidad de $p$ ser un punto de clase $i$ ?" y nuestra clasificación será el máximo de eso. Así que podemos reducir el problema de clasificar un punto en $\mathbb{R}^n$ en $m$ clases a una clase.
  • Para la clasificación en una clase de un punto en $\mathbb{R}^2$ utilizamos una función sigmoidea $S_a(t) = \frac{1}{1+e^{-at}}$ donde $a$ es un parámetro que hay que aprender. Esto significa que elegimos $a$ de forma que se minimice el error para el conjunto de entrenamiento. El error es probablemente la suma de todas las distancias entre los puntos del conjunto de entrenamiento a la función $S_a$ .
  • Softmax es similar a las funciones sigmoides

Mis preguntas

  • ¿Es correcto lo que he escrito más arriba?
  • En la fórmula citada:
    • Es $i$ la clase queremos obtener la probabilidad de que $x$ (el punto que queremos clasificar) podría pertenecer?
    • ¿Cómo calculamos $W$ y $b$ ?
    • El mapa de funciones sigmoideas $\mathbb{R} \rightarrow \mathbb{R}$ . ¿De qué espacio a qué espacio mapea softmax?
    • En este vídeo de Andrew Ng utiliza $g(\theta^T x) = g(z) = \frac{1}{1+e^{-z}}$ donde $\theta$ hay que aprender. ¿Es equivalente al planteamiento de la función Softmax? ¿Cuál es la ventaja de Softmax? (El enfoque de Andrew Ng parece mucho más sencillo).

2voto

user87023 Puntos 1

Siempre hacemos un control cada vez.

Podemos clasificar un ejemplo $x$ a la vez, pero no consideraríamos una clase candidata $i$ a la vez. Para cada $i$ Supongo que pourrait aislar el $i$ ª fila de $W$ y el $i$ elemento del vector columna $b$ llamada $W_i$ y $b_i$ y calcular $W_ix+b_i$ . Entonces se quiere maximizar esta cantidad sobre todas las $i$ . Pero en la práctica, también se puede calcular todo $Wx+b$ de una vez.

(Y dependiendo del marco de software, también puede tener sentido clasificar múltiples ejemplos en paralelo).

Para un punto determinado $p$ comprobamos "¿Cuál es la probabilidad de $p$ ser un punto de clase $i$ ?" y nuestra clasificación será el máximo de eso.

Podrías hacerlo, pero si sólo quieres calcular la etiqueta más probable, en realidad no tienes que calcular ninguna $P$ . El denominador es una constante entre las clases, por lo que no importa, y la función exponencial es estrictamente creciente, por lo que no cambia el orden de las puntuaciones. Así que es equivalente a encontrar la coordenada máxima de $Wx+b$ .

Así podemos reducir el problema de clasificar un punto en $\mathbb{R}^n$ en $m$ clases a una clase.

Pues bien, en esta formulación, todavía hay que calcular los valores de fila de todas las clases. Si para algún ejemplo de prueba, sólo quiere saber si el clasificador predice que la clase es $42$ No lo es. suficiente para calcular $W_{42}x+b_{42}$ . No importa lo grande que pueda ser ese valor, aún necesita conocer el resto de $Wx+b$ porque $W_{79}x+b_{79}$ podría ser aún mayor.

Para la clasificación de una clase ... El error es probablemente la suma de todas las distancias de los puntos del conjunto de entrenamiento a la función $S_a$

Eso sería un $\ell_1$ pérdida sobre el vector de probabilidad, lo que no tiene mucho sentido. Véase más abajo sobre el entrenamiento.

Es $i$ la clase queremos obtener la probabilidad de que $x$ (el punto que queremos clasificar) podría pertenecer?

¿Cómo calculamos $W$ y $b$ ?

¡Eso es entrenamiento! En primer lugar, tiene que especificar la función de pérdida que le interesa y un algoritmo de optimización que minimizará la pérdida empírica sobre sus datos de entrenamiento. Con el fin de interpretar las salidas softmax como probabilidades, como se hace más arriba, la función de pérdida debe ser algo así como una pérdida logística, y el algoritmo puede ser alguna variante de descenso gradiente. Vea las recomendaciones en las siguientes secciones del tutorial, http://www.deeplearning.net/tutorial/logreg.html#defining-a-loss-function

El mapa de funciones sigmoideas $\mathbb{R} \rightarrow \mathbb{R}$ . ¿De qué espacio a qué espacio mapea softmax?

La función softmax va de $\mathbb R^m$ al espacio de distribuciones de probabilidad sobre el conjunto de clases $\{1,\ldots,m\}$ . Se trata de un subespacio del $m$ -cubo unitario, $[0,1]^m$ donde las coordenadas (probabilidades) suman $1$ . De hecho, softmax nunca produce una probabilidad de $0$ o $1$ por lo que también podría utilizar el cubo abierto $(0,1)^m$ como el alcance. En la práctica, lo importante es que sea un subconjunto de $\mathbb R^m$ .

En este vídeo de Andrew Ng utiliza $g(\theta^T x) = g(z) = \frac{1}{1+e^{-z}}$ donde $\theta$ hay que aprender. ¿Es equivalente al enfoque de la función softmax? ¿Cuál es la ventaja de softmax? (El enfoque de Andrew Ng parece mucho más sencillo).

Ese vídeo ya no está disponible, pero parece que hace clasificación binaria. El problema es más simple, así que tiene sentido que la solución sea más simple.

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