Zielfunktion, Kostenfunktion, Verlustfunktion: Sind sie dasselbe?


Antworten:


130

Dies sind keine sehr strengen Begriffe und sie sind eng miteinander verbunden. Jedoch:

  • Die Verlustfunktion ist normalerweise eine Funktion, die für einen Datenpunkt, eine Vorhersage und eine Kennzeichnung definiert ist und die Strafe misst. Zum Beispiel:
    • Quadratverlust , verwendet in linearer Regressionl(f(xi|θ),yi)=(f(xi|θ)yi)2
    • Gelenkverlust , verwendet in SVMl(f(xi|θ),yi)=max(0,1f(xi|θ)yi)
    • 0/1 Verlust , verwendet in der theoretischen Analyse und Definition der Genauigkeitl(f(xi|θ),yi)=1f(xi|θ)yi
  • Die Kostenfunktion ist normalerweise allgemeiner. Es kann sich um eine Summe von Verlustfunktionen über Ihrem Trainingssatz und einen gewissen Verlust an Modellkomplexität (Regularisierung) handeln. Zum Beispiel:
    • Mittlerer quadratischer FehlerMSE(θ)=1Nich=1N(f(Xich|θ)-yich)2
    • SVM-Kostenfunktion (es gibt zusätzliche Einschränkungen, die mit und mit dem Trainingssatz verbinden)ξ i CSVM(θ)=θ2+Cich=1NξichξichC
  • Objektive Funktion ist der allgemeinste Begriff für jede Funktion, die Sie während des Trainings optimieren. Beispielsweise ist eine Wahrscheinlichkeit, ein Trainingsset im Maximum-Likelihood-Ansatz zu generieren, eine genau definierte Zielfunktion, jedoch keine Verlust- oder Kostenfunktion (Sie können jedoch eine äquivalente Kostenfunktion definieren). Zum Beispiel:
    • MLE ist eine Art Zielfunktion (die Sie maximieren)
    • Die Divergenz zwischen Klassen kann eine objektive Funktion sein, ist jedoch kaum eine Kostenfunktion, es sei denn, Sie definieren etwas Künstliches wie 1-Divergenz und nennen es Kosten

Um es kurz zu machen, ich würde sagen:

Eine Verlustfunktion ist Teil einer Kostenfunktion, die eine Art Zielfunktion ist.


9
+1. Ich habe keine Quelle dafür gesehen, aber ich habe vermutet, dass "objektiv" der Begriff ist, der verwendet wird, weil es Ihr Ziel oder Ziel ist, diese Funktion zu optimieren, was bedeuten könnte, etwas Gutes zu maximieren oder etwas Schlechtes zu minimieren, obwohl dieser Unterschied trivial ist. da kann jede funktion negiert werden. Im Gegensatz dazu sind die abwertenden Obertöne von "Verlust" und "Kosten" nicht zu unterschätzen: Ich würde sagen, es wäre pervers, einen der beiden Begriffe zu verwenden, außer dass etwas minimiert werden müsste. Diese Punkte sind in Ihrer guten Antwort stillschweigend, verdienen aber etwas mehr Nachdruck.
Nick Cox

1
Das "M" in "MLE" steht für "Maximum" nicht "Minimum". Ich erwähne dieses umständliche Detail nur, weil diese Frage vom Stapelüberlauf migriert wurde, und ich wurde von dem Fehler gebissen, die falsche Funktion vorher zu minimieren
Taylor,

Tatsächlich ist die Zielfunktion die Funktion (z. B. eine lineare Funktion), die Sie unter der Einschränkung einer Verlustfunktion (z. B. L1, L2) optimieren möchten (normalerweise durch Minimieren oder Maximieren). Beispiele sind Ridge Regression oder SVM. Sie können die Objektivfunktion auch ohne Verlustfunktion optimieren, z. B. einfaches OLS oder Logit.
g3o2

1
@ Nick Cox schrieb 'die abwertenden Obertöne von "Verlust" und "Kosten" beißen: Ich würde sagen, es wäre pervers, einen der beiden Begriffe zu verwenden, mit Ausnahme von etwas zu minimieren' Ich bin anderer Meinung, Verlust oder Kosten können maximiert werden, um Finden Sie den ungünstigsten Fall (vorbehaltlich der Einschränkungen). Dies kann für die Worst-Case-Analyse hilfreich sein.
Mark L. Stone

Ich finde es schwierig, den Unterschied zwischen "Verlust" und "Kosten" gerade zu halten, anders als bei der Auswendiglernen. Das Problem ist, dass die englischen Definitionen der Wörter keine Hinweise darauf geben, welche welche sein sollten, und es keine offensichtlichen Gedächtnisse gibt. Anregungen willkommen.
Stephen

8

Laut Prof. Andrew Ng (siehe Folien auf Seite 11)

Die Funktion h (X) repräsentiert Ihre Hypothese. Für feste Anpassungsparameter Theta ist es eine Funktion von Merkmalen X. Ich würde sagen, dass dies auch die Zielfunktion genannt werden kann.

Die Kostenfunktion J ist eine Funktion der Anpassungsparameter Theta. J = J (Theta).

Nach dem Lehrbuch "Elements of Statistical Learning" von Hastie et al. Von S.37:

Wir suchen eine Funktion f (X), um Y gegebene Werte der Eingabe X vorherzusagen. [...] die Verlustfunktion L (Y, f (X)) ist "eine Funktion zur Bestrafung der Vorhersagefehler",

Es scheint also, dass "Verlustfunktion" ein etwas allgemeinerer Begriff ist als "Kostenfunktion". Wenn Sie in diesem PDF nach "loss" suchen, verwenden sie meiner Meinung nach "cost function" und "loss function" synonym.

In der Tat, p. 502

"Die Situation [in Clustering] ähnelt in gewisser Weise der Spezifikation einer Verlust- oder Kostenfunktion bei Vorhersageproblemen (überwachtes Lernen)."

Vielleicht existieren diese Begriffe, weil sie sich in verschiedenen akademischen Gemeinschaften unabhängig voneinander entwickelt haben. "Objektive Funktion" ist ein alter Begriff, der in Operations Research und Engineering Mathematics verwendet wird. Die "Verlustfunktion" ist unter Statistikern möglicherweise häufiger in Gebrauch. Aber ich spekuliere hier.


5
Die Verlustfunktion ist bei weitem nicht "allgemeiner" als die Kostenfunktion. f (X) ist insbesondere die Funktion Ihrer Parameter (also J (Theta)), was es (Verlustfunktion) zu einer bestimmten Art von Kostenfunktion macht. Außerdem hat Hastie dort eine Vereinfachung, er übernimmt additive Verlustfunktionen , die eine bestimmte Klasse von Kostenfunktionen
lejlot 28.10.15

Ich habe gerade versucht, diese Frage mit Quellenangaben aus der wissenschaftlichen Literatur zu beantworten, die leicht zu verstehen sind. Ihr Standpunkt zu den "additiven Verlustfunktionen" mag richtig sein, liegt jedoch weit außerhalb des Rahmens der gestellten Frage, und ich kann diesen spezifischen Begriff nicht im ESL-Buch finden
Knb 28.10.15

3
Esl ist ein großartiges Buch, aber nicht die einzige Quelle von Ml-Wissen.
Lejlot

Ist das "Ich würde sagen" von Ng oder Ihnen? h ist das Modell (h für Hypothese). Das Ziel ist, dass h gut abschneidet. Die Zielfunktion misst, wie gut h funktioniert und unterscheidet sich normalerweise von h.
Joachim Wagner

Verbindung zu ESL ist unterbrochen
Talespin_Kit

4

In Andrew NGs Worten

"Schließlich wurde die Verlustfunktion in Bezug auf ein einzelnes Trainingsbeispiel definiert. Sie misst, wie gut Sie in einem einzelnen Trainingsbeispiel abschneiden. Ich werde nun die sogenannte Kostenfunktion definieren, die misst, wie gut Sie abschneiden die Kostenfunktion J, die auf Ihre Parameter W und B angewendet wird, wird also der Durchschnitt mit einem der m der Summe der Verlustfunktionen sein, die auf jedes der Trainingsbeispiele und die Runde angewendet werden. "


3

Aus Abschnitt 4.3 in "Deep Learning" - Ian Goodfellow, Aaron Courville, Yoshua Bengio http://www.deeplearningbook.org/

"Die Funktion, die wir minimieren oder maximieren möchten, wird als Zielfunktion oder Kriterium bezeichnet. Wenn wir sie minimieren, können wir sie auch als Kostenfunktion, Verlustfunktion oder Fehlerfunktion bezeichnen. In diesem Buch verwenden wir diese Begriffe synonym. obwohl einige Veröffentlichungen zum maschinellen Lernen einigen dieser Begriffe eine besondere Bedeutung beimessen. "

Zumindest in diesem Buch sind Verlust und Kosten gleich.


0

Um dir eine kurze Antwort zu geben, laut mir sind sie auch. Die Kostenfunktion wird jedoch häufiger beim Optimierungsproblem und die Verlustfunktion bei der Parameterschätzung verwendet.


0

Die Begriffe Kosten- und Verlustfunktion werden von manchen Leuten auch als Fehlerfunktion bezeichnet. Das allgemeinere Szenario besteht darin, zuerst eine Zielfunktion zu definieren, die wir optimieren möchten. Diese Zielfunktion könnte darin bestehen,

  1. Maximierung der posterioren Wahrscheinlichkeiten (zB naive Bayes)
  2. Maximierung einer Fitnessfunktion (genetische Programmierung)
  3. Maximieren Sie die Gesamtbelohnungs- / Wertfunktion (Bestärkungslernen)
  4. Maximieren des Informationsgewinns / Minimieren der Verunreinigungen von Kinderknoten (CART-Entscheidungsbaumklassifizierung) 5. Minimieren der mittleren quadratischen Fehlerkosten (oder -verluste) (CART, Entscheidungsbaumregression, lineare Regression, adaptive lineare Neuronen, ...)
  5. Maximierung der Log-Wahrscheinlichkeit oder Minimierung des Cross-Entropy-Verlusts (oder der Kosten) Minimierung des Gelenkverlusts (Support Vector Machine)

0

Eigentlich um einfach zu sein Wenn Sie m Trainingsdaten wie diese haben (x (1), y (1)), (x (2), y (2)),. . . (x (m), y (m)) Wir verwenden die Verlustfunktion L (ycap, y), um den Verlust zwischen ycap und y eines einzelnen Trainingssatzes zu ermitteln. Wenn wir den Verlust zwischen ycap und y eines gesamten Trainingssatzes ermitteln möchten, verwenden wir Kostenfunktion.

Hinweis: - ycap bedeutet Ausgabe von unserem Modell und y bedeutet erwartete Ausgabe

Hinweis: - Kredit geht an Andrew ng Ressource: coursera neuronales Netzwerk und tiefes Lernen


-1

Die Verlustfunktion berechnet den Fehler für ein einzelnes Trainingsbeispiel, während die Kostenfunktion der Durchschnitt der Verlustfunktionen des gesamten Trainingssatzes ist.


Schau dir den Link von Nick Cox an.
Michael Chernick
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.