Qual è la differenza tra regressione logistica e perceptron?


30

Sto esaminando gli appunti di Andrew Ng sull'apprendimento automatico.

Le note ci introducono alla regressione logistica e quindi al perceptron. Nel descrivere Perceptron, le note affermano che cambiamo solo la definizione della funzione di soglia utilizzata per la regressione logistica. Dopo averlo fatto, possiamo usare il modello Perceptron per la classificazione.

Quindi la mia domanda è: se questo deve essere specificato e consideriamo Perceptron come una tecnica di classificazione, allora cos'è esattamente la regressione logistica? Viene utilizzato solo per ottenere la probabilità di un punto dati appartenente a una delle classi?


Bella domanda, trovo che sia molto importante come inizi la spiegazione su NN, soprattutto perché NN può essere molto complicato da capire, per favore. considera la mia risposta.
prosti

Risposte:


22

In breve, la regressione logistica ha connotazioni probabilistiche che vanno oltre l'uso del classificatore in ML. Ho alcune note sulla regressione logistica qui .

L'ipotesi nella regressione logistica fornisce una misura dell'incertezza nel verificarsi di un risultato binario basato su un modello lineare. L'output è limitato asintoticamente tra 0 e 1 e dipende da un modello lineare, in modo tale che quando la linea di regressione sottostante ha valore 0 , l'equazione logistica è 0.5=e01+e0 , fornendo un punto di taglio naturale ai fini della classificazione. Tuttavia, è a costo di scartare le informazioni di probabilità nel risultato effettivo dih(ΘTx)=eΘTx1+eΘTx , che spesso è interessante (ad es. Probabilità di insolvenza del prestito dato reddito, punteggio di credito, età, ecc.).

L'algoritmo di classificazione perceptron è una procedura più semplice, basata su prodotti a punti tra esempi e pesi . Ogni volta che un esempio viene classificato erroneamente, il segno del prodotto punto è in contrasto con il valore di classificazione ( 1 e 1 ) nel set di addestramento. Per correggere ciò, il vettore di esempio verrà aggiunto o sottratto in modo iterativo dal vettore di pesi o coefficienti, aggiornando progressivamente i suoi elementi:

Vettorialmente, le caratteristiche o gli attributi di un esempio sono x , e l'idea è di "passare" l'esempio se:dx

o ...1dθixi>theshold

. La funzione segno risulta in 1 o - 1 , a differenza di 0 e 1 nella regressione logistica.h(x)=sign(1dθixitheshold)1101

La soglia verrà assorbita nel coefficiente di polarizzazione , . La formula è ora:+θ0

, o vettoriale: h ( x ) = segno ( θ T x ) .h(X)=cartello(Σ0dθioXio)h(X)=cartello(θTX)

I punti classificati in modo errato avranno , il che significa che il prodotto punto di Θ e x n sarà positivo (vettori nella stessa direzione), quando y n è negativo o il prodotto punto sarà negativo (vettori in direzioni opposte), mentre y n è positivo.cartello(θTX)ynΘXnynyn


Ho lavorato sulle differenze tra questi due metodi in un set di dati dello stesso corso , in cui i risultati del test in due esami separati sono correlati all'accettazione finale al college:

Il limite di decisione può essere facilmente trovato con la regressione logistica, ma è stato interessante vedere che sebbene i coefficienti ottenuti con perceptron fossero molto diversi rispetto alla regressione logistica, la semplice applicazione della funzione ai risultati ha prodotto altrettanto una classificazione algoritmo. In effetti la massima precisione (il limite fissato dall'inseparabilità lineare di alcuni esempi) è stata raggiunta dalla seconda iterazione. Ecco la sequenza delle linee di divisione dei confini mentre 10 iterazioni si avvicinano ai pesi, a partire da un vettore casuale di coefficienti:cartello()10

L'accuratezza della classificazione in funzione del numero di iterazioni aumenta rapidamente e altopiani al , coerentemente alla velocità con cui viene raggiunto un limite di decisione quasi ottimale nel videoclip sopra. Ecco la trama della curva di apprendimento:90%

inserisci qui la descrizione dell'immagine


Il codice utilizzato è qui .


5

C'è qualche confusione che può sorgere qui. Inizialmente un percettrone si riferiva solo alle reti neurali con una funzione di passaggio come funzione di trasferimento. In quel caso, ovviamente, la differenza è che la regressione logistica usa una funzione logistica e il percettrone usa una funzione step. In generale, entrambi gli algoritmi dovrebbero produrre lo stesso limite di decisione (almeno per un singolo percettrone del neurone). Tuttavia:

  1. Il vettore dei parametri per il percettrone può essere arbitrariamente ridimensionato rispetto a quello derivato dalla regressione logistica. Qualsiasi ridimensionamento del vettore dei parametri definirà lo stesso limite, ma le probabilità calcolate dalla regressione logistica dipendono dal ridimensionamento esatto.
  2. Ovviamente l'output di una funzione step non può essere interpretato come alcun tipo di probabilità.
  3. Poiché una funzione di passaggio non è differenziabile, non è possibile addestrare un percettrone utilizzando gli stessi algoritmi utilizzati per la regressione logistica.

In alcuni casi, il termine perceptron è anche usato per riferirsi a reti neurali che usano una funzione logistica come funzione di trasferimento (tuttavia, ciò non è conforme alla terminologia originale). In tal caso, una regressione logistica e un "perceptron" sono esattamente gli stessi. Ovviamente, con un percettrone è possibile usare più neuroni usando tutti una funzione di trasferimento logistico, che diventa in qualche modo correlabile all'accumulo di regressione logistica (non lo stesso, ma simile).


2

È possibile utilizzare la regressione logistica per creare un percettrone. La regressione logistica utilizza la funzione logistica per creare l'output da un determinato input. La funzione logistica produce un output uniforme tra 0 e 1, quindi è necessaria un'altra cosa per renderlo un classificatore, che è una soglia. Perceptrons può essere costruito con altre forme funzionali, ovviamente, non solo logistiche .

y(X1,X2|B)=eB0+B1X1+B2X21+eB0+B1X1+B2X2
B1,B2,B3eX1+eX

y(X|B)XByYy~=0y(X|B)<Yy~=1y(X|B)Y


1

Stanno entrambi applicando la regressione stimando i parametri dello stesso modello trasformato in logistica. In base alle proprietà delle funzioni convesse, i valori dei parametri saranno gli stessi in qualsiasi modo si scelga di stimarli. Per citare me stesso da una risposta precedente:

La regressione logistica modella una funzione della media di una distribuzione di Bernoulli come equazione lineare (la media è uguale alla probabilità p di un evento di Bernoulli). Usando il collegamento logit in funzione della media (p), il logaritmo delle probabilità (log-odds) può essere derivato analiticamente e usato come risposta di un cosiddetto modello lineare generalizzato. Oltre alla previsione, ciò consente di interpretare il modello in inferenza causale. Questo è qualcosa che non puoi ottenere con un Perceptron lineare.

Perceptron, accetta la funzione di inversione logistica (logistica) di wx e non usa ipotesi probabilistiche né per il modello né per il suo parametro. La formazione online ti fornirà esattamente le stesse stime per i pesi / parametri del modello, ma non sarai in grado di interpretarli nell'inferenza causale a causa della mancanza di valori p, intervalli di confidenza e, bene, un modello di probabilità sottostante.


1

X1,...,XNRny1,...,yN{-1,1}1Xio

(1)minimizzare1NΣio=1Nmax(-yioβTXio,0).
βRn+1

1NΣioio(β)

io(β)=max(-yioβTXio,0).
ioβ
g={0Se -yioβTXio0(così yio e βTXio avere lo stesso segno)-yioXioaltrimenti.
t>0)io
ββ-tg={βSe yio e βTXio hanno lo stesso segnoβ+tyioXioaltrimenti.
t


0

Andrew Ng ha usato il termine "regressione logistica" come modello per risolvere il problema di classificazione binaria.

Come puoi vedere nel documento , in realtà non disegna mai il modello stesso.

Consentitemi di aggiungere alcuni dettagli al bucket in modo da poter trovare il ragionamento su come penso che abbia costruito le lezioni.

Il modello utilizzato per la "regressione logistica" è una percezione a livello singolo con un numero personalizzato di input e un output compreso tra 0 e 1.

Negli anni '90 la funzione di attivazione più apprezzata era la funzione di attivazione sigmoidale, e c'è una grande teoria matematica come backup.

Questo è esattamente il modello utilizzato da Andrew Ng poiché tale funzione è compresa tra 0 e 1.

Anche il derivato s'(x) = s(x)(1−s(x)), dove si s(x)trova la funzione di attivazione sigmoidale.

Per la funzione di errore usa L2, sebbene in alcuni documenti possa usare qualche altra funzione per quello.

Quindi, per ricapitolare, quando si considera la "regressione logistica" basta considerare la percezione a livello singolo con funzione di attivazione sigmoidale, numero personalizzato di ingressi e uscita singola.


Solo alcune note: non c'è nulla di sbagliato nella funzione di attivazione sigmoidale, anche se per l'aritmetica in virgola mobile, al giorno d'oggi ReLU domina i livelli nascosti, ma nel prossimo futuro le posizioni (o alcune altre unità aritmetiche) potrebbero riportare la funzione di attivazione sigmoidale sul tavolo .

Personalità, userei un modello più semplice con la funzione ReLU per spiegare il SLP (percettrone a livello singolo) poiché è più usato oggi.

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.