Regressione logistica: calcolare una probabilità con la funzione sigmoidea

Molti problemi richiedono una stima di probabilità come output. La regressione logistica è un meccanismo estremamente efficiente per calcolare le probabilità. In pratica puoi usare la probabilità restituita in uno dei seguenti modi in due modi:

  • Applicata "così com'è". Ad esempio, se un modello di previsione dello spam prende un'email come l'input e restituisce un valore 0.932, ciò implica una probabilità del 93.2% che l'email è spam.

  • Transazione convertita in una categoria binaria come True o False, Spam o Not Spam.

Questo modulo si concentra sull'utilizzo dell'output del modello di regressione logistica così com'è. Nella Nel modulo di classificazione, imparerai a: convertire questo output in una categoria binaria.

Funzione sigmoidea

Forse ti starai chiedendo in che modo un modello di regressione logistica può garantire rappresenta una probabilità, producendo sempre un valore compreso tra 0 e 1. Mentre accade, esiste una famiglia di funzioni chiamate funzioni logistiche il cui output ha le stesse caratteristiche. La funzione logistica standard, noto anche come funzione sigmoidea (sigmoid significa "a forma di S"), ha la formula:

\[f(x) = \frac{1}{1 + e^{-x}}\]

La figura 1 mostra il grafico corrispondente della funzione sigmoidea.

Curva sigmoidea (a forma di S) tracciata sul piano cartesiano delle coordinate,
         centrata sull'origine.
Figura 1. Grafico della funzione sigmoidea. La curva si avvicina a 0 se i valori x diminuiscono all'infinito negativo e 1 come x aumentano verso l'infinito.

Con l'aumento dell'input, x, l'output della funzione sigmoidea si avvicina ma non raggiunge mai 1. Analogamente, se l'input diminuisce, la funzione dell'output della funzione si avvicina ma non raggiunge mai 0.

Fai clic qui per un approfondimento sulla matematica dietro la funzione sigmoidea

La tabella seguente mostra i valori di output della funzione sigmoidea per sono compresi tra -7 e 7. Nota la velocità con cui si avvicina la funzione sigmoidea 0 per diminuire i valori di input negativi e la velocità di avvicinamento della funzione sigmoidea 1 per aumentare i valori di input positivi.

Tuttavia, a prescindere da quanto sia grande o piccolo il valore di input, l'output essere sempre maggiore di 0 e minore di 1.

Input Output sigmoidea
-7 0,001
-6 0,002
-5 0,007
-4 0,018
-3 0,047
-2 0,119
-1 0,269
0 0,50
1 0,731
2 0,881
3 0,952
4 0,982
5 0,993
6 0,997
7 0,999

Trasformare l'output lineare utilizzando la funzione sigmoidea

La seguente equazione rappresenta la componente lineare di una logistica di regressione lineare:

\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]

dove:

  • z è l'output dell'equazione lineare, chiamata anche probabilità di log:
  • b è il bias.
  • I valori w sono i pesi appresi dal modello.
  • I valori x sono i valori delle caratteristiche per un determinato esempio.

Per ottenere la previsione di regressione logistica, il valore z viene poi passato a la funzione sigmoidea, ottenendo un valore (una probabilità) compreso tra 0 e 1:

\[y' = \frac{1}{1 + e^{-z}}\]

dove:

  • y' è l'output del modello di regressione logistica.
  • z è l'output lineare (come calcolato nell'equazione precedente).

Fai clic qui per scoprire di più su log-odd

Nell'equazione $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z viene denominata log-odds perché, se inizi con funzione sigmoidea seguente (dove $y$ è l'output di una funzione di regressione lineare, che rappresenta una probabilità):

$$y = \frac{1}{1 + e^{-z}}$$

E risolvi per z:

$$ z = \log\left(\frac{y}{1-y}\right) $$

Quindi z è definito come il logaritmo del rapporto delle probabilità dei due possibili risultati: y e 1 – y.

La Figura 2 illustra come l'output lineare viene trasformato in regressione logistica utilizzando questi calcoli.

A sinistra: linea con i punti (-7,5, -10), (-2,5, 0) e (0, 5)
         in evidenza. A destra: curva sigmoidea con il corrispondente trasformato
         punti (-10, 0,00004), (0, 0,5) e (5, 0,9933) evidenziati.
Figura 2. A sinistra: grafico della funzione lineare z = 2x + 5, con tre evidenziati. A destra: curva sigmoidea con gli stessi tre punti evidenziata dopo che è stata trasformata dalla funzione sigmoidea.

Nella Figura 2, un'equazione lineare diventa l'input della funzione sigmoidea, che piega la linea retta a forma di "S". Nota che l'equazione lineare può produrre valori molto grandi o molto piccoli di z, ma l'output della funzione sigmoidea y, è sempre compresa tra 0 e 1 esclusi. Ad esempio, l'icona arancione rettangolo sul grafico a sinistra ha un valore z di -10, ma la funzione sigmoidea nel il grafico a destra mappa il valore di -10 in una y' pari a 0,00004.

Allenamento: verifica le tue conoscenze

Un modello di regressione logistica con tre caratteristiche presenta i seguenti bias e pesi:

\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]

Dati i seguenti valori di input:

\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]

Rispondi alle due domande che seguono.

1. Qual è il valore di z per questi valori di input?
-1
0
0,731
1
Esatto! L'equazione lineare definita dalle ponderazioni e dal bias è z = 1 + 2x1 – x2 + 5 x3. Collegare il di input dell'equazione produce z = 1 + (2)(0) - (10) + (5)(2) = 1
2. Qual è la previsione della regressione logistica per questi valori di input?
0,268
0,5
0,731

Come calcolato nel precedente punto 1, il log-odd per i valori di input è 1. Collegando il valore di z alla funzione sigmoidea:

\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)

1
Ricorda che l'output della funzione sigmoidea sarà sempre maggiore di 0 e minore di 1.