Funzione obiettivo, funzione costo, funzione perdita: sono la stessa cosa?


Risposte:


130

Questi non sono termini molto rigidi e sono altamente correlati. Però:

  • La funzione di perdita è generalmente una funzione definita su un punto dati, previsione ed etichetta e misura la penalità. Per esempio:
    • perdita quadrata , usata nella regressione linearel(f(xi|θ),yi)=(f(xi|θ)yi)2
    • perdita della cerniera , utilizzata in SVMl(f(xi|θ),yi)=max(0,1f(xi|θ)yi)
    • 0/1 perdita , utilizzato nell'analisi teorica e nella definizione di accuratezzal(f(xi|θ),yi)=1f(xi|θ)yi
  • La funzione di costo è generalmente più generale. Potrebbe trattarsi di una somma di funzioni di perdita sul set di allenamento più una penalità di complessità del modello (regolarizzazione). Per esempio:
    • Errore al quadrato medioMSE(θ)=1Ni=1N(f(xi|θ)yi)2
    • Funzione di costo SVM (ci sono ulteriori vincoli che collegano con e con set di addestramento)SVM(θ)=θ2+Ci=1NξiξiC
  • La funzione obiettivo è il termine più generale per qualsiasi funzione ottimizzata durante l'allenamento. Ad esempio, una probabilità di generare un training set nell'approccio con la massima verosimiglianza è una funzione oggettiva ben definita, ma non è una funzione di perdita né una funzione di costo (tuttavia è possibile definire una funzione di costo equivalente). Per esempio:
    • MLE è un tipo di funzione oggettiva (che massimizzi)
    • La divergenza tra le classi può essere una funzione oggettiva ma a malapena è una funzione di costo, a meno che non si definisca qualcosa di artificiale, come 1-Divergenza, e si denomini un costo

Per farla breve, direi che:

Una funzione di perdita fa parte di una funzione di costo che è un tipo di funzione oggettiva.


9
+1. Non ho visto una fonte per questo, ma ho indovinato che "obiettivo" è il termine usato perché è il tuo obiettivo o obiettivo ottimizzare quella funzione, il che potrebbe significare massimizzare qualcosa di buono o minimizzare qualcosa di cattivo, anche se quella differenza è banale, poiché qualsiasi funzione può essere negata. Al contrario, le sfumature peggiorative di "perdita" e "costo" mordono: direi che sarebbe perverso usare entrambi i termini tranne che qualcosa da minimizzare. Questi punti sono taciti nella tua bella risposta, ma meritano un po 'più di enfasi.
Nick Cox,

1
La "M" in "MLE" sta per "massimo" non "minimo". Cito solo questo dettaglio pedante perché questa domanda è stata migrata da StackOverflow e sono stato morso dal bug di minimizzare la funzione sbagliata prima
Taylor,

In realtà, la funzione obiettivo è la funzione (ad esempio una funzione lineare) che si cerca di ottimizzare (di solito minimizzando o massimizzando) sotto il vincolo di una funzione di perdita (ad esempio L1, L2). Esempi sono la regressione della cresta o SVM. È inoltre possibile ottimizzare la funzione obiettivo senza alcuna funzione di perdita, ad esempio OLS semplice o logit.
g3o2,

1
@ Nick Cox ha scritto 'le sfumature peggiorative di "perdita" e "costo" fanno mordere: direi che sarebbe perverso usare entrambi i termini tranne che qualcosa da minimizzare' Non sono d'accordo, la perdita o il costo possono essere massimizzati al fine di trova il caso peggiore (soggetto a qualsiasi vincolo). Questo può essere utile per l'analisi del caso peggiore.
Mark L. Stone,

Trovo difficile mantenere la differenza tra "perdita" e "costo" direttamente se non con la memorizzazione automatica. Il problema è che le definizioni inglesi delle parole non danno alcun indizio su quale dovrebbe essere quale, né esiste alcun evidente mnemonico. Eventuali suggerimenti sono benvenuti.
Stephen,

8

Secondo il prof. Andrew Ng (vedere le diapositive a pagina 11),

La funzione h (X) rappresenta la tua ipotesi. Per i parametri di adattamento fissi theta, è una funzione delle funzioni X. Direi che questa può anche essere chiamata Funzione Obiettivo.

La funzione di costo J è una funzione dei parametri di adattamento theta. J = J (theta).

Secondo il libro di testo di Hastie et al. "Elements of Statistical Learning" , di p.37:

"Cerchiamo una funzione f (X) per prevedere i valori Y dati dell'ingresso X." [...] la funzione di perdita L (Y, f (X)) è "una funzione per penalizzare gli errori nella previsione",

Quindi sembra che "funzione di perdita" sia un termine leggermente più generale di "funzione di costo". Se cerchi "perdita" in quel PDF, penso che usino "funzione di costo" e "funzione di perdita" in qualche modo come sinonimi.

Anzi, p. 502

"La situazione [nel clustering] è in qualche modo simile alla specifica di una funzione di perdita o di costo nei problemi di previsione (apprendimento supervisionato)".

Forse questi termini esistono perché si sono evoluti in modo indipendente nelle diverse comunità accademiche. "Funzione oggettiva" è un vecchio termine usato nella ricerca operativa e in ingegneria matematica. La "funzione di perdita" potrebbe essere più utilizzata dagli statistici. Ma sto speculando qui.


5
la funzione di perdita non è affatto "più generale" della funzione di costo. f (X) è in particolare la funzione dei tuoi parametri (quindi J (theta)), rendendolo (funzione di perdita) un particolare tipo di funzione di costo. Inoltre, Hastie ha una semplificazione lì, assume funzioni di perdita additiva , che creano una particolare classe di funzioni
lejlot,

Ho appena provato a rispondere a questa domanda con riferimenti tratti dalla letteratura accademica, fonti di facile comprensione. Il tuo punto di "funzioni di perdita additiva" potrebbe essere giusto, ma è ben al di là dell'ambito della domanda posta, e non riesco a trovare questo termine specifico nel libro ESL
knb

3
Esl è un grande libro, ma non l'unica fonte di conoscenza di Ml.
lejlot,

È questo "direi" di Ng o di te? h è il modello (h per ipotesi). L'obiettivo è che h funzioni bene. La funzione obiettivo misura quanto bene fa h ed è generalmente diversa da h.
Joachim Wagner,

il collegamento a esl è interrotto
Talespin_Kit

4

Nelle parole di Andrew NG-

"Infine, la funzione di perdita è stata definita rispetto a un singolo esempio di allenamento. Misura quanto bene stai facendo su un singolo esempio di allenamento. Ora definirò qualcosa chiamato funzione di costo, che misura quanto bene stai facendo un intero set di addestramento. Quindi la funzione di costo J che viene applicata ai parametri W e B sarà la media con una delle m della somma della funzione di perdita applicata a ciascuno degli esempi di allenamento e turno. "


3

Dalla sezione 4.3 in "Apprendimento profondo" - Ian Goodfellow, Yoshua Bengio, Aaron Courville http://www.deeplearningbook.org/

"La funzione che vogliamo minimizzare o massimizzare è chiamata funzione oggettiva o criterio. Quando la stiamo minimizzando, possiamo anche chiamarla funzione di costo, funzione di perdita o funzione di errore. In questo libro, usiamo questi termini in modo intercambiabile, sebbene alcune pubblicazioni di apprendimento automatico attribuiscano un significato speciale ad alcuni di questi termini ".

In questo libro, almeno, perdite e costi sono gli stessi.


0

Per darti una risposta breve, secondo me sono sinonimi. Tuttavia, la funzione di costo viene utilizzata maggiormente nel problema di ottimizzazione e la funzione di perdita viene utilizzata nella stima dei parametri.


0

I termini funzioni di costo e perdita sono sinonimi che alcune persone chiamano anche funzione di errore. Lo scenario più generale è definire prima una funzione obiettiva, che vogliamo ottimizzare. Questa funzione obiettiva potrebbe essere quella di

  1. massimizzare le probabilità posteriori (ad esempio, Bayes ingenuo)
  2. massimizzare una funzione di fitness (programmazione genetica)
  3. massimizzare la funzione di ricompensa / valore totale (apprendimento di rinforzo)
  4. massimizzare il guadagno delle informazioni / minimizzare le impurità del nodo figlio (classificazione dell'albero decisionale CART) 5.minimizzare una funzione di costo (o perdita) dell'errore al quadrato medio (CART, regressione dell'albero decisionale, regressione lineare, neuroni lineari adattativi, ...
  5. massimizzare la verosimiglianza o minimizzare la perdita (o costo) di entropia incrociata minimizzare la perdita di cerniera (macchina vettoriale di supporto)

0

In realtà per essere semplice Se hai m dati di allenamento come questo (x (1), y (1)), (x (2), y (2)),. . . (x (m), y (m)) Usiamo la funzione di perdita L (ycap, y) per trovare la perdita tra ycap e y di un singolo set di allenamento Se vogliamo trovare la perdita tra ycap e y di un intero set di allenamento che usiamo funzione di costo.

Nota: - ycap indica l'output del nostro modello E y indica l'output previsto

Nota: - Il merito va Andrew ng Risorsa: rete neurale di corso e apprendimento profondo


-1

La funzione di perdita calcola l'errore per un singolo esempio di allenamento, mentre la funzione di costo è la media delle funzioni di perdita dell'intero set di addestramento.


Guarda il link di Nick Cox.
Michael Chernick,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.