Queste note sono molto di base. Per cose leggermente più avanzate bisogna guardare Bayesian Linear Regression, Linear Regression methods.

Introduzione alla logistic regression

Giustificazione del metodo

Questo è uno dei modelli classici, creati da Minsky qualche decennio fa In questo caso andiamo direttamente a computare il valore di durante l'inferenza, quindi si parla di modello discriminativo.

Introduzione al problema

Supponiamo che

  • siano variabili booleane
  • siano variabili continue
  • siano indipendenti uno dall'altro.
  • sono modellate tramite distribuzioni gaussiane
    • NOTA! la varianza non dipende dalle feature!, questo mi permetterebbe di poi togliere la cosa quadratico dopo, rendendo poi l'approssimazione lineare
    • Per esempio se utilizziamo nelle immagini, avrebbe senso normalizzare pixel by pixel, e non image wide con un unico valore, è una assunzione, che se funziona dovrebbe poi far andare meglio la regressione logistica!
  • è una distribuzione bernoulliana.

Ci chiediamo come è fatto ?

Caratterizzazione di P(Y|X)

Proviamo a calcolare analiticamente come è fatto usando le assunzioni di sopra

Theorem Assunte le cose di sopra si avrà che

Logistic Regression-1697464292967 Nella derivazione di sopra si ha che

E poi sappiamo che

E si può notare che poi abbiamo il risultato di sopra e diventa sensato avere la forma di Sigmoid, che esce in modo molto molto naturale

Dalla parte in blu capiamo che è una cosa lineare, perché se è maggiore di zero allora è meglio la probabilità di stare da una parte rispetto all'altra.

Funzione di Sigmoid

Logistic Regression-1697464563385 Questo ci dà una motivazione del motivo per cui utilizziamo

Questa funzione si può vedere come un caso particolare di Softmax Function.

Derivata Si può calcolare che ha una derivata molto molto carina, ma è anche il problema per cui esiste vanishing gradient.

Quindi diventa vero che

Possiamo scrivere la probabilità di ogni singolo campione come in figura sotto

Funzione di loss

Logistic Regression-1697462930410 Che sembra una cross-entropy classica, che però non ha una soluzione analitica, per questo motivo si utilizza discesa del gradiente.

Ottimizzazione discesa del gradiente

Intuizione sul gradiente

abbiamo alla fine che il gradiente è

Perché già sta misurando in un certo senso la differenza (l'errore), e il prodotto lo sta legando all'input preciso, quindi è molto bello quando la formula è interpretabile in modo fisico quasi.

Sometimes is clearer to write in an explicit fashion:

Calcolo del gradiente cross entropy

Dalla formula di sopra riscritta in altro modo.

Logistic Regression-1697463186166 Questo è esattamente poi quanto sarà fatto durante il percettrone, per l'aggiornamento delle variabili in quelle istanze.

Fase update del gradiente

Una volta calcolato che il valore di update è analiticamente uguale a

Possiamo usare questa per aggiornare il peso di

Update step:

A volte viene aggiunto un fattore di regolarizzazione che fa diventare la regola di update come

Che implica il fatto che se abbiamo un singolo peso grande, farà molta fatica ad esserci nel regolarizzatore (quindi ho meno varianza fra i pesi diciamo).