Fonction objective, fonction de coût, fonction de perte: est-ce la même chose?


Réponses:


130

Ce ne sont pas des termes très stricts et ils sont très liés. Pourtant:

  • La fonction de perte est généralement une fonction définie sur un point de données, une prédiction et une étiquette, et mesure la pénalité. Par exemple:
    • perte carrée , utilisée dans la régression linéairel(f(xi|θ),yi)=(f(xi|θ)yi)2
    • perte de charnière , utilisée dans SVMl(f(xi|θ),yi)=max(0,1f(xi|θ)yi)
    • 0/1 perte , utilisée dans l'analyse théorique et la définition de la précisionl(f(xi|θ),yi)=1f(xi|θ)yi
  • La fonction de coût est généralement plus générale. Cela pourrait être une somme de fonctions de perte sur votre ensemble d'entraînement plus une pénalité de complexité de modèle (régularisation). Par exemple:
    • Erreur moyenneMSE(θ)=1Ni=1N(f(xi|θ)yi)2
    • Fonction de coût (des contraintes supplémentaires relient à et à un jeu d'apprentissage)ξ i CSVM(θ)=θ2+Ci=1NξiξiC
  • La fonction objectif est le terme le plus général pour toute fonction que vous optimisez pendant l'entraînement. Par exemple, une probabilité de générer un ensemble de formations dans l'approche du maximum de vraisemblance est une fonction objective bien définie, mais il ne s'agit ni d'une fonction de perte ni d'une fonction de coût (vous pouvez cependant définir une fonction de coût équivalente). Par exemple:
    • MLE est un type de fonction objectif (que vous maximisez)
    • La divergence entre les classes peut être une fonction objective, mais il s’agit à peine d’une fonction de coût, sauf si vous définissez quelque chose d’art artificiel, tel que 1-Divergence, et nommez-le un coût.

Longue histoire courte, je dirais que:

Une fonction de perte est une partie d' une fonction de coût qui est un type de fonction objectif.


9
+1 Je n'ai pas vu de source pour cela, mais j'ai deviné que le terme «objectif» est utilisé, car il est de votre devoir d'optimiser cette fonction, ce qui pourrait signifier maximiser quelque chose de bien ou minimiser quelque chose de mal, bien que cette différence soit triviale, comme toute fonction peut être annulée. En revanche, les connotations péjoratives de "perte" et de "coût" mordent: je dirais qu'il serait pervers d'utiliser l'un ou l'autre terme à l'exception d'un mot à minimiser. Ces points sont tacites dans votre réponse, mais méritent un peu plus d’attention.
Nick Cox

1
Le "M" dans "MLE" signifie "maximum" et non "minimum". Je mentionne seulement ce détail pédant parce que cette question a été migrée de stackoverflow et que le bug de la réduction de la mauvaise fonction nous a déjà mordu
Taylor

En fait, la fonction objectif est la fonction (par exemple une fonction linéaire) que vous cherchez à optimiser (généralement en minimisant ou en maximisant) sous la contrainte d'une fonction de perte (par exemple, L1, L2). Les exemples sont la régression de crête ou SVM. Vous pouvez également optimiser la fonction objectif sans aucune fonction de perte, par exemple, simple OLS ou logit.
g3o2

1
@ Nick Cox a écrit: "les connotations péjoratives de" perte "et de" coût "mordent: je dirais qu'il serait pervers d'utiliser l'un ou l'autre terme à l'exception de quelque chose à minimiser" Je ne suis pas d'accord, la perte ou le coût peuvent être maximisés pour trouver le pire cas possible (sous réserve de contraintes quelconques). Cela peut être utile pour l'analyse du pire des cas.
Mark L. Stone

Je trouve difficile de garder la différence entre "perte" et "coût" autre que par la mémorisation par cœur. Le problème est que les définitions anglaises des mots ne donnent aucune indication sur ce qui devrait être lequel, et il n’ya pas de mnémonique évidente. Toutes les suggestions sont les bienvenues.
Stephen

8

Selon le professeur Andrew Ng (voir diapositives page 11),

La fonction h (X) représente votre hypothèse. Pour les paramètres d'ajustement fixes thêta, c'est une fonction des caractéristiques X. Je dirais que cela peut aussi s'appeler la fonction objectif.

La fonction Cost J est fonction des paramètres d’ajustement thêta. J = J (thêta).

Selon le manuel de Hastie et al. "Elements of Statistical Learning" , p.37:

"Nous recherchons une fonction f (X) pour prédire Y à partir des valeurs de l'entrée X." [...] la fonction de perte L (Y, f (X)) est "une fonction pour pénaliser les erreurs de prédiction",

Il semble donc que "fonction de perte" est un terme légèrement plus général que "fonction de coût". Si vous recherchez "perte" dans ce fichier PDF, je pense qu'ils utilisent "fonction de coût" et "fonction de perte" un peu comme un synonyme.

En effet, p. 502

"La situation [en clustering] est quelque peu similaire à la spécification d'une fonction de perte ou de coût dans les problèmes de prédiction (apprentissage supervisé)".

Peut-être que ces termes existent parce qu'ils ont évolué indépendamment dans différentes communautés académiques. "Fonction objectif" est un ancien terme utilisé dans la recherche opérationnelle et les mathématiques d'ingénierie. La "fonction de perte" pourrait être plus utilisée par les statisticiens. Mais je spécule ici.


5
la fonction de perte est loin d'être "plus générale" que la fonction de coût. f (X) est notamment la fonction de vos paramètres (donc J (thêta)), ce qui en fait (fonction de perte) un type particulier de fonction de coût. De plus, Hastie a une simplification, il assume des fonctions de perte additives , qui créent une classe particulière de fonctions
lejlot

J'ai juste essayé de répondre à cette question avec des références de la littérature académique, des sources faciles à comprendre. Votre point de "fonctions de perte additive" est peut-être correct, mais dépasse de
loin

3
Esl est un excellent livre, mais pas la seule source de connaissance de Ml.
lejlot

Est-ce que "je dirais" de Ng ou de vous? h est le modèle (h pour hypothèse). L'objectif est que h fonctionne bien. La fonction objectif mesure dans quelle mesure h fait et est généralement différente de h.
Joachim Wagner

lien vers esl est cassé
Talespin_Kit

4

Dans les mots d'Andrew NG-

"Enfin, la fonction de perte a été définie par rapport à un seul exemple de formation. Elle mesure votre performance sur un seul exemple de formation. Je vais maintenant définir ce que l’on appelle la fonction de coût, qui mesure donc, la fonction de coût J qui est appliquée à vos paramètres W et B sera la moyenne avec l’un des m de la somme de la fonction de perte appliquée à chacun des exemples d’entraînement et tour. "


3

De la section 4.3 dans "Apprendre en profondeur" - Ian Goodfellow, Yoshua Bengio et Aaron Courville http://www.deeplearningbook.org/

"La fonction que nous voulons minimiser ou maximiser est appelée fonction objectif ou critère. Lorsque nous la minimisons, nous pouvons également l'appeler fonction de coût, fonction de perte ou fonction d'erreur. Dans le présent ouvrage, nous utilisons ces termes de manière interchangeable. bien que certaines publications d’apprentissage automatique attribuent une signification particulière à certains de ces termes. "

Dans ce livre, au moins, les pertes et les coûts sont les mêmes.


0

Pour vous donner une réponse courte, selon moi, ils sont synonymes. Cependant, la fonction de coût est davantage utilisée dans le problème d'optimisation et la fonction de perte dans l'estimation de paramètre.


0

Les termes fonctions de coût et de perte sont synonymes, certaines personnes l'appellent également fonction d'erreur. Le scénario plus général consiste à définir d’abord une fonction objectif que nous souhaitons optimiser. Cette fonction objectif pourrait être de

  1. maximiser les probabilités postérieures (par exemple, Bayes naïf)
  2. maximiser une fonction de fitness (programmation génétique)
  3. maximiser la fonction récompense / valeur totale (apprentissage par renforcement)
  4. maximiser le gain d'information / minimiser les impuretés des noeuds enfant (classification de l'arbre de décision CART) 5.minimaliser une fonction de coût (ou perte) d'erreur carré (CART, régression de l'arbre de décision, régression linéaire, neurones linéaires adaptatifs,…)
  5. maximiser la log-vraisemblance ou minimiser la perte (ou le coût) d'entropie croisée minimiser la perte de charnière (machine à vecteurs de support)

0

En fait, pour être simple Si vous avez m données de formation comme ceci (x (1), y (1)), (x (2), y (2)),. . . (x (m), y (m)) Nous utilisons la fonction de perte L (ycap, y) pour rechercher une perte entre ycap et y d’un seul ensemble d’entraînement. Si nous voulons rechercher une perte entre ycap et y d’un ensemble complet d’entraînement, nous utilisons fonction de coût.

Remarque: - ycap correspond à la sortie de notre modèle et y à la sortie attendue

Remarque: - Le crédit va à la ressource: réseau de neurones de coursera et apprentissage en profondeur


-1

La fonction de perte calcule l'erreur pour un seul exemple d'apprentissage, tandis que la fonction de coût est la moyenne des fonctions de perte de l'ensemble d'apprentissage.


Regardez le lien de Nick Cox.
Michael Chernick
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.