• Home
  • Chi sono
  • Risorse
  • Contatti
  • Approfondimenti
  • Cerca nel sito

Lorenzo Govoni

Business e Tecnologia

  • Big Data
  • Business
  • Excel
  • Intelligenza Artificiale

Come funziona un algoritmo di regressione logistica

Regressione logistica

La regressione logistica è diventata uno strumento importante nella disciplina del machine learning.

In questo ambito, essa si avvale dell’utilizzo di un algoritmo per classificare i dati in arrivo in base a dati storici.

Man mano che vengono analizzati più dati, l’algoritmo dovrebbe migliorare nel prevedere le classificazioni.

Questo è un motivo per cui la regressione logistica è diventata particolarmente popolare nella pubblicità online, consentendo ai marketer di prevedere, come percentuale sì o no, la probabilità che utenti specifici di un sito web facciano clic su determinati annunci pubblicitari.

In quest’articolo vediamo cos’è la regressione logistica considerando, per semplicità, problemi di classificazione binomiali, ossia composti solamente da due classi. 

Questi tipi di problemi vengono propriamente detti problemi di regressione logistica binomiale.

 

Che cos’è la regressione logistica?

Si può considerare la regressione logistica come un metodo di classificazione rientrante nella famiglia degli algoritmi di apprendimento supervisionato.

Avvalendosi di metodi statistici, la regressione logistica permette di generare un risultato che, di fatto, rappresenta una probabilità che un dato valore di ingresso appartenga a una determinata classe.

Nei problemi di regressione logistica binomiale, la probabilità che l’output appartenga ad una classe sarà P, mentre che appartenga all’altra classe 1-P (dove P è un numero compreso tra 0 e 1 perché esprime una probabilità).

 

Principio di funzionamento

La regressione logistica binomiale lavora bene in tutti quei casi in cui la variabile che stiamo cercando di predire è binaria, cioè può assumere solamente due valori: il valore 1 che rappresenta la classe positiva, o il valore 0 che rappresenta la classe negativa.

Esempi di problemi risolti tramite regressione logistica sono quelli di decidere se:

  • una mail è spam oppure no;
  • una transazione bancaria online è fraudolenta o meno;
  • un paziente ha il cancro o non ce l’ha, valutandone l’immagine di screening.

 

Come tutte le analisi di regressione, la regressione logistica è un’analisi predittiva che viene utilizzata per misurare la relazione tra la variabile dipendente (ossia ciò che vogliamo prevedere) e l’una o più variabili indipendenti (le nostre caratteristiche), stimando delle probabilità tramite una funzione logistica.

Queste probabilità vengono successivamente trasformate in valori binari (che assumono valori compresi tra 0 e 1) per poter effettivamente fare una previsione.

Successivamente si assegna il risultato della previsione alla classe di appartenenza, in base alla vicinanza o meno alla classe stessa.

Se ad esempio otteniamo un valore 0,8 dopo aver applicato la funzione logistica, diremo che l’input ha generato una classe positiva e verrà assegnato alla classe 1 (viceversa se avesse ottenuto valore < 0,5).

L’immagine sotto illustra i passaggi che la regressione logistica attraversa per generare l’output desiderato.

 

Funzione logistica

Abbiamo visto che la regressione logistica si avvale della funzione logistica, per determinare la classificazione dei valori di input.

Chiamata anche funzione sigmoidea, la funzione logistica è una curva a forma di S che può prendere qualsiasi numero di valore reale e mapparlo in un valore compreso tra 0 e 1, estremi esclusi. Essa è descrivibile tramite la seguente equazione (1):

Con:

e : base dei logaritmi naturali (il numero di Eulero o la funzione EXP () nel foglio Excel)
b0 + b1 * x : è il valore numerico effettivo che si desidera trasformare.

La funzione logistica (1) in pratica trasforma i valori reali arbitrari in numeri compresi tra 0 e 1, come mostrato nel grafico sotto.  Maggiore è il valore reale, maggiore sarà vicino a 1 il risultato e viceversa.

 

 

La funzione logistica risulta utile qualora si desideri trasformare una variabile con valori reali in qualcosa che rappresenta una probabilità, come a volte avviene alla fine di un processo di classificazione.

Equazione di regressione logistica

La regressione logistica viene rappresentata da un’equazione, come avviene per la regressione lineare. Ipotizzando di avere solo due coefficienti, l’equazione di regressione logistica può essere rappresentata dalla seguente equazione (2):

Con:

X = valore di input;
bo e b1= coefficienti dei valori di input (numeri reali costanti);
Y = valore output da predire.

In generale, i valori di input (x) vengono combinati linearmente usando pesi o coefficienti (indicati dalla lettera greca Beta) per prevedere un valore di output (y).

I coefficienti Beta dell’algoritmo di regressione logistica vengono stimati tramite il metodo di massima verosimiglianza.

Questo metodo prevede di ottenere quella serie di coefficienti di regressione per i quali la probabilità di ottenere i dati che abbiamo osservato è massima.

Essa, infatti, permette di cercare valori per i coefficienti che minimizzano l’errore nelle probabilità previste dal modello rispetto a quelle nei dati.

Non entreremo nel dettaglio del calcolo della massima verosimiglianza. È sufficiente dire che, nella pratica, tale implementazione avviene usando un efficiente algoritmo di ottimizzazione numerica (come il metodo Quasi-newton).

Regressione logistica espressa come probabilità

Per ottenere l’equazione di regressione logistica espressa in termini probabilistici dobbiamo inserire nell’equazione di regressione logistica (2) le probabilità.

Di conseguenza, verranno eseguiti una serie di accorgimenti matematici.

Prima di tutto, modelliamo la probabilità che un input (X) appartenga alla classe predefinita (Y = 1). Possiamo scrivere formalmente che:

Abbiamo poco fa detto che le previsioni vengono trasformate utilizzando la funzione logistica. Pertanto, ipotizzando che Y, ossia il risultato, appartenga alla classe 1, possiamo sostituire alla y dell’equazione (2) la P(X):

Ricordando che e è l’opposto del logaritmo naturale (ln), con qualche passaggio matematico, possiamo esprimere la regressione logistica come:

L’odds rappresenta il rapporto di probabilità p(X) di un evento e la probabilità che tale evento non accada (1 – p(X), vedi fonte Wikipedia).

La funzione logit, invece, permette di associare le probabilità (quindi un valore incluso tra 0 e 1) all’intero intervallo di numeri reali. Essa è una funzione di collegamento e rappresenta l’inversa della funzione logistica.

Ciò è utile perché possiamo vedere che il calcolo dell’output a destra è di nuovo lineare (proprio come la regressione lineare) e l’input a sinistra è un log della probabilità della classe di default (classe positiva o 1, avendo ipotizzato Y=1).

Detta in altri termini, la funzione logit è il logaritmo naturale della probabilità che Y sia uguale a una delle classi.

 

Possiamo spostare l’esponente a destra e scriverlo trasformando l’espressione (4) nella (5):

L’equazione (5) rappresenta l’equazione di regressione logistica scritta in termini di un rapporto di probabilità.

Tutto ciò ci aiuta a capire che in effetti il modello è ancora una combinazione lineare degli input, ma che questa combinazione lineare si riferisce al logaritmo della probabilità (o log odds) della classe predefinita.

Modello di regressione logistica: un esempio

Per capire meglio quanto detto finora voglio mostrare l’esempio mostrato da Machine Learning Mastery, blog di Machine Learning e intelligenza artificiale.

Ipotizziamo di modellare il sesso delle persone come maschio o femmina in base alla loro altezza. Avremo due classi: la classe maschile (1) e la classe femminile (0).

Il modello di regressione logistica potrebbe essere scritto come la probabilità che il maschio abbia l’altezza di una persona, o più formalmente:

P (sesso = maschio | altezza)

Ora, data un’altezza di 150 cm vogliamo capire quale è la probabilità che la persona sia maschio o femmina.

Ipotizzando di avere ottenuto come coefficienti b0 = -100 e b1 = 0,6, si usa l’equazione sopra (2) per calcolare la probabilità che il maschio abbia un’altezza di 150 cm o più formalmente P (maschio | altezza = 150). Se usiamo Excel useremo EXP () al posto di e:

O una probabilità prossima allo zero che la persona sia un maschio.

L’esempio ci mostra che in pratica, per determinare il risultato della previsione alla classe di appartenenza, possiamo usare direttamente le probabilità. In un problema di classificazione a 2 classi, quindi è possibile calcolare le probabilità su un valore di classe binario, ad esempio:

0 se p (maschio) < 0,5

1 se p (maschio) > = 0,5

Conclusioni

In questo articolo abbiamo visto come esprimere la regressione logistica binomiale, in cui la variabile di risposta ha due valori 0 e 1.

Esiste anche un altro tipo di regressione logistica definita multinomiale, in cui la variabile di risposta può avere tre o più valori possibili.

Indipendentemente dal tipo di regressione logistica, essa ci permette di:

  • modellizzare la probabilità che un evento si verifichi a seconda dei valori delle variabili indipendenti, che possono essere categoriali o numeriche;
  • stimare la probabilità che si verifichi un evento per un’osservazione scelta casualmente rispetto alla probabilità che l’evento non si verifichi;
  • prevedere l’effetto di una serie di variabili su una variabile di risposta binaria;
  • classificare le osservazioni stimando la probabilità che un’osservazione si trovi in ​​una particolare categoria.

 

Per maggiori approfondimenti consiglio la lettura dei seguenti articoli:

  • Logistic regression semplificata;
  • Differenza tra logit regression e logistic regression;
  • Funzionamento della logistic regression secondo Towards Data Science;
  • Metodo Logistic regression;
  • Regressione logistica in Python.
  • Funnel dei pirati: il ciclo di vita del cliente (AAARRR)
    Funnel dei pirati: il ciclo di vita del cliente (AAARRR)
  • Introduzione alla funzione di massima verosimiglianza
    Introduzione alla funzione di massima verosimiglianza
  • Gradient Boosting per problemi di classificazione
    Gradient Boosting per problemi di classificazione
  • Data Visualization: come rappresentare correttamente i dati
    Data Visualization: come rappresentare correttamente i dati
Share
Pin
Share
Tweet

Intelligenza Artificiale Classificazione, Machine Learning, Regressione logistica

  • Home
  • Archivio
  • Risorse
  • Newsletter
  • Cerca nel sito

Copyright © 2021 · Lorenzo Govoni - Privacy Policy