1 votos

función de pérdida cuadrada en la clasificación

Conozco la función de pérdida cuadrada en el contexto de la regresión como sigue:

$(y-f(x))^2$

para y el real, y f(x) el valor predicho. Esta formulación es bastante fácil de entender: Tenemos una función de pérdida convexa en la que la pérdida se basa en la diferencia entre los valores reales y los predichos, y los valores atípicos se penalizan más al cuadrado de esta diferencia.

Sin embargo, lo que no entiendo es la siguiente formulación, que se encuentra a menudo en un contexto de clasificación:

$L(f(x),y) = (1 - y*f(x))^2$

En primer lugar, no se calcula la diferencia entre el valor real y el previsto, sino que se multiplican, ¿por qué? Teniendo en cuenta, por ejemplo, que ambos valores serían grandes, ¿esto supondría una gran pérdida ? En segundo lugar, para un problema de clasificación binaria, una clasificación errónea donde y = -1 y f(x) = 1, parece que la pérdida también equivaldría a 4? Por último, ¿por qué hay que restar a 1 el producto y*f(x)?

5voto

Dave Puntos 26

Hay algunas sutilezas en la notación / normalización que se están perdiendo.

En primer lugar, "1" en su expresión para $L$ no significa el valor escalar 1: significa el vector de todos los 1. Del mismo modo, $f(x)$ es el vector de $f$ en cada punto de datos, y $y$ es el correspondiente vector de valores verdaderos (deseados) en cada punto de datos. La elevación al cuadrado es en realidad una "suma de cuadrados", o se puede pensar en la elevación al cuadrado como un punto del vector consigo mismo.

Cuando (en un punto de datos) $y = -1$ y $f = 1$ entonces $(1 - y * f)^2 = (1 + 1)^2 = 4$ , un penalti. Cuando $y = 1$ y $f = 1$ entonces $(1 - y*f)^2 = (1 - 1)^2 = 0$ , lo que indica una coincidencia perfecta y, por lo tanto, ninguna penalización.

Efectivamente, se puede demostrar que esta formulación es equivalente a la formulación estándar (en otros ámbitos) de $(y-f(x))^2$ :

$$({\bf 1} - y * f)^2 = {\bf 1}\cdot{\bf 1} - 2{\bf 1}\cdot(y * f) + (y*f)^2$$

El ${\bf 1}\cdot{\bf 1}$ es una constante y por tanto irrelevante para el ajuste. ${\bf 1}\cdot(y*f) = y\cdot f$ como se puede comprobar fácilmente inspeccionando la suma. Y cuando $y$ consiste en su totalidad en $\pm 1$ entonces cualquier factor de $y^2 = 1$ por lo que el último término es simplemente $f^2$ -- resultando en $-2 y\cdot f + f^2$ . Compara con,

$$(y-f)^2 = y^2 - 2y\cdot f + f^2$$

donde de nuevo $y$ es una constante que se puede descartar, y el resto de los términos coinciden.

Pero, ¿por qué en el campo del aprendizaje automático la $(1-yf)^2$ ¿formato preferido, si es equivalente? En el ajuste de curvas, una penalización por suma de cuadrados tiene mucho sentido: sumar el error en cada una. Hay errores valorados reales y se escalan adecuadamente. El aprendizaje automático se centra mucho más en la clasificación, que tiene una interpretación estricta de "sí"/"no". El vector $y*f$ entonces indica si algo fue correcto o no, y a menudo se manipula de diferentes maneras. $({\bf 1}-y*f)^2$ es una función de pérdida; otras populares son $\sum\log(1+y*f)$ , también llamada perplejidad; o $\sum\textrm{sign}(y*f)$ que es simplemente precisión.

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