Quale funzione di perdita è corretta per la regressione logistica?


31

Ho letto di due versioni della funzione di perdita per la regressione logistica, quale di esse è corretta e perché?

  1. Da Machine Learning , Zhou ZH (in cinese), con β=(w,B) e βTX=wTX+B :

    (1)l(β)=Σio=1m(-yioβTXio+ln⁡(1+eβTXio))

  2. Dal mio corso universitario, con :zio=yiof(Xio)=yio(wTXio+B)

    (2)L(zio)=log⁡(1+e-zio)


So che il primo è un accumulo di tutti i campioni e il secondo è per un singolo campione, ma sono più curioso della differenza nella forma di due funzioni di perdita. In qualche modo ho la sensazione che siano equivalenti.

Risposte:


31

La relazione è la seguente: .l(β)=ΣioL(zio)

Definire una funzione logistica come . Possiedono la proprietà che . O in altre parole: f(-z)=1-f(z)f(z)=ez1+ez=11+e-zf(-z)=1-f(z)

11+ez=e-z1+e-z.

Se prendi il reciproco di entrambe le parti, prendi il registro che ottieni:

ln⁡(1+ez)=ln⁡(1+e-z)+z.

Sottrai da entrambi i lati e dovresti vedere questo:z

-yioβTXio+ln(1+eyioβTXio)=L(zio).

Modificare:

Al momento sto rileggendo questa risposta e sono confuso su come ho ottenuto per essere uguale a . Forse c'è un refuso nella domanda originale.- y i β T x i + l n ( 1 + e y i β T x i )-yioβTXio+ln(1+eβTXio)-yioβTXio+ln(1+eyioβTXio)

Modifica 2:

Nel caso in cui non ci fosse un refuso nella domanda originale, @ManelMorales sembra essere corretto per attirare l'attenzione sul fatto che, quando , la funzione di massa di probabilità può essere scritta come , a causa della proprietà che . Lo sto riscrivendo diversamente qui, perché introduce un nuovo equivoco sulla notazione . Il resto segue prendendo la probabilità logaritmica negativa per ogni codifica . Vedi la sua risposta di seguito per maggiori dettagli.P ( Y i = y i ) = f ( y i β T x i ) f ( - z ) = 1 - f ( z ) z i yy∈{-1,1}P(Yio=yio)=f(yioβTXio)f(-z)=1-f(z)zioy


42

OP ritiene erroneamente che la relazione tra queste due funzioni sia dovuta al numero di campioni (cioè singolo vs tutti). Tuttavia, la differenza reale è semplicemente come selezioniamo le nostre etichette di formazione.

Nel caso della classificazione binaria possiamo assegnare le etichette o .y=±1y=0,1

Come è già stato affermato, la funzione logistica è una buona scelta poiché ha la forma di una probabilità, cioè e come . Se scegliamo le etichette che possiamo assegnare σ(z)σ(−z)=1−σ(z)σ(z)∈(0,1)z→±∞y=0,1

P(y=1|z)=σ(z)=11+e-zP(y=0|z)=1-σ(z)=11+ez

che può essere scritto in modo più compatto come .P(y|z)=σ(z)y(1-σ(z))1-y

È più semplice massimizzare la probabilità di log. Massimizzare la verosimiglianza equivale a minimizzare la verosimiglianza negativa. Per campioni , dopo aver preso il logaritmo naturale e alcune semplificazioni, scopriremo:m{Xio,yio}

l(z)=−log⁡(∏iomP(yio|zio))=-Σiomlog⁡(P(yio|zio))=Σiom-yiozio+log⁡(1+ezio)

Derivazione completa e informazioni aggiuntive sono disponibili su questo notebook jupyter . D'altra parte, potremmo invece aver usato le etichette . È abbastanza ovvio quindi che possiamo assegnarey=±1

P(y|z)=σ(yz).

È anche ovvio che . Seguendo gli stessi passaggi di prima in questo caso minimizziamo la funzione di perditaP(y=0|z)=P(y=-1|z)=σ(-z)

L(z)=-log⁡(ΠjmP(yj|zj))=-Σjmlog⁡(P(yj|zj))=Σjmlog⁡(1+e-yzj)

Dove segue l'ultimo passo dopo prendiamo il reciproco che è indotto dal segno negativo. Sebbene non dovremmo equiparare queste due forme, dato che in ciascuna forma assume valori diversi, tuttavia queste due sono equivalenti:y

-yiozio+log⁡(1+ezio)≡log⁡(1+e-yzj)

Il caso è banale da mostrare. Se , quindi sul lato sinistro e sul lato destro.yio=1yio≠1yio=0yi=−1

Mentre ci possono essere ragioni fondamentali per cui abbiamo due forme diverse (vedi Perché ci sono due diverse formule / notazioni di perdita logistica? ), Una ragione per scegliere la prima è per considerazioni pratiche. Nel primo possiamo usare la proprietà per calcolare banalmente e , entrambi necessari per l'analisi della convergenza (ovvero per determinare la convessità della funzione di perdita calcolando l'Assia ).∂σ(z)/∂z=σ(z)(1−σ(z))∇l(z)∇2l(z)


La funzione di perdita logistica è convessa?
— user85361

2
l(z)αlλl ′ ( z ) λ l ′l′(z)=l(z)+λ‖z‖2l′(z)λl'. Purtroppo ora stiamo riducendo al minimo una funzione diversa! Fortunatamente, possiamo dimostrare che il valore dell'ottimale della funzione regolarizzata è vicino al valore dell'ottimale dell'originale.
— Manuel Morales,

Il taccuino che hai citato è andato, ho avuto un'altra prova: statlect.com/fundamentals-of-statistics/…
— Domi.Zhang

2
Ho trovato questa la risposta più utile.
— Mohit6up

@ManuelMorales Hai un collegamento al valore ottimale della funzione regolarizzata vicino all'originale?
— Segna l'

19

Ho imparato la funzione di perdita per la regressione logistica come segue.

La regressione logistica esegue la classificazione binaria, quindi gli output dell'etichetta sono binari, 0 o 1. Sia la probabilità che l'output binario sia 1 dato il vettore della caratteristica di input . I coefficienti sono i pesi che l'algoritmo sta cercando di imparare.y x wP(y=1|X)yXw

P(y=1|X)=11+e-wTX

Poiché la regressione logistica è binaria, la probabilità è semplicemente 1 meno il termine sopra.P(y=0|X)

P(y=0|X)=1-11+e-wTX

La funzione di perdita è la somma di (A) l'uscita moltiplicata per e (B) l'uscita moltiplicata per per un esempio di allenamento, sommato oltre esempi di formazione.y = 1 P ( y = 1 ) y = 0 P ( y = 0 ) mJ(w)y=1P(y=1)y=0P(y=0)m

J(w)=Σio=1my(io)log⁡P(y=1)+(1-y(io))log⁡P(y=0)

dove indica l' etichetta nei dati di allenamento. Se un'istanza di formazione ha un'etichetta di , allora , lasciando l'addendo sinistra in posizione ma rendendo l'addendo destro con diventare . D'altra parte, se un'istanza di training ha , il summand destro con il termine rimane al suo posto, ma il summand sinistro diventa . La probabilità del registro viene utilizzata per facilitare il calcolo. i t h 1 y ( i ) = 1 1 - y ( i ) 0 y = 0 1 - y ( i ) 0y(io)ioth1y(io)=11-y(io)0y=01-y(io)0

Se poi sostituiamo e con le espressioni precedenti, otteniamo:P ( y = 0 )P(y=1)P(y=0)

J(w)=Σio=1my(io)log⁡(11+e-wTX)+(1-y(io))log⁡(1-11+e-wTX)

Puoi leggere di più su questo modulo in queste note di lezione di Stanford .


Questa risposta fornisce anche alcune prospettive rilevanti qui.
— GeoMatt22,

6
L'espressione che hai non è una perdita (da minimizzare), ma piuttosto una verosimiglianza (da massimizzare).
— xenocyon,

2
@xenocyon true: questa stessa formulazione è in genere scritta con un segno negativo applicato all'intera somma.
— Alex Klibisz,

1

Invece di Mean Squared Error, utilizziamo una funzione di costo chiamata Cross-Entropy, nota anche come perdita di log. La perdita tra entropia può essere suddivisa in due funzioni di costo separate: una per y = 1 e una per y = 0.

j(θ)=1mΣio=1mCoSt(hθ(X(io)),y(io))CoSt(hθ(X),y)=-log⁡(hθ(X))iof y=1CoSt(hθ(X),y)=-log⁡(1-hθ(X))iof y=0

Quando li mettiamo insieme abbiamo:

j(θ)=1mΣio=1m[y(io)log⁡(hθ(X(io)))+(1-y(io))log⁡(1-hθ(X)(io))]

Moltiplicare per e nell'equazione sopra è un trucco subdolo che usiamo la stessa equazione per risolvere entrambi i casi e . Se , il primo lato si annulla. Se , la seconda parte si annulla. In entrambi i casi eseguiamo solo l'operazione necessaria.y(1-y)y=1y=0y=0y=1

Se non vuoi usare un forciclo, puoi provare una forma vettoriale dell'equazione sopra

h=g(Xθ)J(θ)=1m⋅(-yTlog⁡(h)-(1-y)Tlog⁡(1-h))

L'intera spiegazione può essere visualizzata sul Cheatsheet di Machine Learning .

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.