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à del93.2%
che l'email è spam.Transazione convertita in una categoria binaria come
True
oFalse
,Spam
oNot 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.](https://developers.google.cn/static/machine-learning/crash-course/logistic-regression/images/sigmoid_function_with_axes.png?authuser=0000&hl=it)
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.](https://developers.google.cn/static/machine-learning/crash-course/logistic-regression/images/linear_to_logistic.png?authuser=0000&hl=it)
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.
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\)