Función objetivo, función de costo, función de pérdida: ¿son lo mismo?

Respuestas:

130

Estos no son términos muy estrictos y están muy relacionados. Sin embargo:

  • La función de pérdida suele ser una función definida en un punto de datos, predicción y etiqueta, y mide la penalización. Por ejemplo:
    • pérdida cuadrada , usado en regresión lineall(f(xi|θ),yi)=(f(xi|θ)yi)2
    • pérdida de bisagra , utilizada en SVMl(f(xi|θ),yi)=max(0,1f(xi|θ)yi)
    • 0/1 pérdida , utilizada en análisis teórico y definición de precisiónl(f(xi|θ),yi)=1f(xi|θ)yi
  • La función de costo suele ser más general. Puede ser una suma de funciones de pérdida sobre su conjunto de entrenamiento más alguna penalización de complejidad del modelo (regularización). Por ejemplo:
    • Error medio cuadradoMSE(θ)=1Ni=1N(f(xi|θ)yi)2
    • Función de costo SVM (existen restricciones adicionales que conectan con y con el conjunto de entrenamiento)SVM(θ)=θ2+Ci=1NξiξiC
  • La función objetivo es el término más general para cualquier función que optimice durante el entrenamiento. Por ejemplo, una probabilidad de generar un conjunto de entrenamiento en el enfoque de máxima verosimilitud es una función objetivo bien definida, pero no es una función de pérdida ni una función de costo (sin embargo, podría definir una función de costo equivalente). Por ejemplo:
    • MLE es un tipo de función objetivo (que maximizas)
    • La divergencia entre clases puede ser una función objetiva, pero apenas es una función de costo, a menos que defina algo artificial, como 1-Divergencia, y lo denomine costo

Larga historia corta, diría que:

Una función de pérdida es una parte de una función de costo que es un tipo de función objetivo.

lejlot
fuente
99
+1. No he visto una fuente para esto, pero supuse que "objetivo" es el término utilizado porque es su objetivo u objetivo optimizar esa función, lo que podría significar maximizar algo bueno o minimizar algo malo, aunque esa diferencia es trivial, como cualquier función puede ser negada Por el contrario, los matices peyorativos de "pérdida" y "costo" muerden: diría que sería perverso usar cualquiera de los dos términos, excepto para minimizar algo. Estos puntos son tácitos en su buena respuesta, pero merecen un poco más de énfasis.
Nick Cox
1
La "M" en "MLE" significa "máximo", no "mínimo". Solo menciono este detalle pedante porque esta pregunta se migró de stackoverflow, y me ha picado el error de minimizar la función incorrecta antes
Taylor
En realidad, la función objetivo es la función (por ejemplo, una función lineal) que busca optimizar (generalmente minimizando o maximizando) bajo la restricción de una función de pérdida (por ejemplo, L1, L2). Ejemplos son la regresión de cresta o SVM. También puede optimizar la función objetivo sin ninguna función de pérdida, por ejemplo, OLS simple o logit.
g3o2
1
@ Nick Cox escribió "los matices peyorativos de la" pérdida "y el" costo "muerden: Yo diría que sería perverso usar cualquiera de los dos términos, excepto para minimizar algo" No estoy de acuerdo, la pérdida o el costo pueden maximizarse para encuentre el peor caso posible (sujeto a cualquier restricción). Esto puede ser útil para el análisis del peor de los casos.
Mark L. Stone
Me resulta difícil mantener la diferencia entre "pérdida" y "costo" directamente, excepto con la memorización de memoria. El problema es que las definiciones en inglés de las palabras no dan pistas sobre cuál debería ser cuál, ni hay ninguna nemotécnica obvia. Cualquier sugerencia bienvenida.
Stephen
8

Según el profesor Andrew Ng (ver diapositivas en la página 11),

La función h (X) representa su hipótesis. Para los parámetros de ajuste fijos theta, es una función de las características X. Yo diría que esto también se puede llamar la Función Objetivo.

La función de coste J es una función de los parámetros de ajuste theta. J = J (theta).

Según el libro de texto de Hastie et al. "Elementos del aprendizaje estadístico" , por p.37:

"Buscamos una función f (X) para predecir Y dados los valores de la entrada X". [...] la función de pérdida L (Y, f (X)) es "una función para penalizar los errores en la predicción",

Por lo tanto, parece que "función de pérdida" es un término un poco más general que "función de costo". Si busca "pérdida" en ese PDF, creo que usan "función de costo" y "función de pérdida" como sinónimos.

De hecho, p. 502

"La situación [en Clustering] es algo similar a la especificación de una función de pérdida o costo en problemas de predicción (aprendizaje supervisado)".

Quizás estos términos existen porque evolucionaron independientemente en diferentes comunidades académicas. "Función Objetivo" es un antiguo término utilizado en Investigación de Operaciones e Ingeniería Matemática. La "función de pérdida" podría ser más utilizada entre los estadísticos. Pero estoy especulando aquí.

knb
fuente
55
la función de pérdida no está cerca de ser "más general" que la función de costo. f (X) es, en particular, la función de sus parámetros (por lo tanto, J (theta)), lo que la convierte (función de pérdida) en un tipo particular de función de costo. Además, Hastie tiene una simplificación allí, asume funciones de pérdida aditiva , que crean una clase particular de funciones
Lejlot
Intenté responder esta pregunta con referencias de la literatura académica, fuentes que son fáciles de entender. Su punto de "funciones de pérdida aditiva" podría ser correcto, pero está más allá del alcance de la pregunta formulada, y no puedo encontrar este término específico en el libro de ESL
knb
3
Esl es un gran libro, pero no es la única fuente de conocimiento de Ml.
lejlot
¿Es esto "yo diría" de Ng o de ti? h es el modelo (h para hipótesis). El objetivo es que h funcione bien. La función objetivo mide qué tan bien funciona h y generalmente es diferente de h.
Joachim Wagner
enlace a esl está roto
Talespin_Kit
4

En palabras de Andrew NG

"Finalmente, la función de pérdida se definió con respecto a un solo ejemplo de entrenamiento. Mide qué tan bien lo estás haciendo en un solo ejemplo de entrenamiento. Ahora voy a definir algo llamado función de costo, que mide qué tan bien estás haciendo un conjunto de entrenamiento completo. Entonces, la función de costo J que se aplica a sus parámetros W y B será el promedio con una de las m de la suma de la función de pérdida aplicada a cada uno de los ejemplos de entrenamiento y turno ".

Mukul Khanna
fuente
3

De la sección 4.3 en "Aprendizaje profundo" - Ian Goodfellow, Yoshua Bengio, Aaron Courville http://www.deeplearningbook.org/

"La función que queremos minimizar o maximizar se llama función objetivo o criterio. Cuando la minimizamos, también podemos llamarla función de costo, función de pérdida o función de error. En este libro, usamos estos términos indistintamente, aunque algunas publicaciones de aprendizaje automático asignan un significado especial a algunos de estos términos ".

En este libro, al menos, la pérdida y el costo son los mismos.

François Brault
fuente
0

Para darle una respuesta corta, según yo, son sinónimos. Sin embargo, la función de costo se usa más en el problema de optimización y la función de pérdida se usa en la estimación de parámetros.

Rohan Chikorde
fuente
0

Los términos funciones de costo y pérdida son sinónimos, algunas personas también lo llaman función de error. El escenario más general es definir primero una función objetivo, que queremos optimizar. Esta función objetivo podría ser

  1. maximizar las probabilidades posteriores (p. ej., Bayes ingenuas)
  2. maximizar una función de acondicionamiento físico (programación genética)
  3. maximizar la función de recompensa / valor total (aprendizaje de refuerzo)
  4. maximizar la ganancia de información / minimizar las impurezas de los nodos secundarios (clasificación del árbol de decisión CART) 5. minimizar una función de costo (o pérdida) de error cuadrático medio (CART, regresión del árbol de decisión, regresión lineal, neuronas lineales adaptativas, ...
  5. maximizar la probabilidad de registro o minimizar la función de pérdida de entropía cruzada (o costo) minimizar la pérdida de bisagra (máquina de vectores de soporte)
Abhishek Sharma
fuente
0

En realidad, para ser simple Si tienes m datos de entrenamiento como este (x (1), y (1)), (x (2), y (2)),. . . (x (m), y (m)) Utilizamos la función de pérdida L (ycap, y) para encontrar la pérdida entre ycap e y de un solo conjunto de entrenamiento. Si queremos encontrar la pérdida entre ycap e y de todo un conjunto de entrenamiento, usamos función de costo.

Nota: - ycap significa salida de nuestro modelo ey significa salida esperada

Nota: - El crédito va Andrew ng Recurso: curso de red neuronal y aprendizaje profundo

Mohan S
fuente
-1

La función de pérdida calcula el error para un solo ejemplo de entrenamiento, mientras que la función de costo es el promedio de las funciones de pérdida de todo el conjunto de entrenamiento.

Levan
fuente
Mira el enlace de Nick Cox.
Michael Chernick