Tutorial

Classificazione degli algoritmi di Machine Learning: Regressione lineare, Classificazione e Clustering

Il Machine Learning ha grandi similitudini con l’ottimizzazione matematica, che fornisce metodi, teorie e domini di applicazione. 

L’apprendimento automatico viene formulato come “problemi di minimizzazione” di una funzione di perdita (loss function) nei confronti di un determinato set di esempi (training set). Questa funzione esprime la discrepanza tra i valori predetti dal modello in fase di training e i valori attesi per ciascuna istanza di esempio. 

L’obiettivo finale è quello di insegnare al modello la capacità di predire correttamente su un insieme di istanze non presenti nel training set.

Un metodo secondo il quale è possibile distinguere diverse categorie di algoritmo è il tipo di output atteso da un certo sistema di machine learning

Tra le principali categorie troviamo:

  • La classificazione: gli input sono divisi in due o più classi e il sistema di apprendimento deve produrre un modello in grado di assegnare ad un input una o più classi tra quelle disponibili.Questi tipi di task sono tipicamente affrontati mediante tecniche di apprendimento supervisionato. 

    Un esempio di classificazione è l’assegnamento di una o più etichette ad una immagine in base agli oggetti o soggetti contenuti in essa;

  • La regressione: concettualmente simile alla classificazione con la differenza che l’output ha un dominio continuo e non discreto.E’ tipicamente gestita con l’apprendimento supervisionato. 

    Un esempio di regressione è rappresentato dalla stima della profondità di una scena a partire dalla sua rappresentazione sotto forma di immagine a colori. 

    Infatti, il dominio dell’output in questione è virtualmente infinito, e non limitato ad un certo insieme discreto di possibilità;

  • Il clustering: dove un insieme di dati viene diviso in gruppi che però, a differenza della classificazione, non sono noti a priori.La natura stessa dei problemi appartenenti a questa categoria li rende tipicamente dei task di apprendimento non supervisionato.
Modello di regressione lineare semplice

La regressione lineare è un modello molto diffuso utilizzato per stimare valori reali come:

  • costo delle case,
  • numero di chiamate,
  • vendite totali per persona,

e segue il criterio delle variabili continue:

  • metri quadri,
  • sottoscrizione di un conto corrente,
  • educazione della persona

Nella regressione lineare si segue una relazione tra variabili indipendenti e variabili dipendenti attraverso una linea che di solito, rappresenta la relazione tra le due variabili.

La linea di adattamento è nota come linea di regressione e viene rappresentata da un’equazione lineare del tipo Y = a * X + b.

La formula si basa sull’interpolazione dei dati per associare tra loro due o più caratteristiche. Quando si fornisce all’algoritmo una caratteristica in input, la regressione restituisce l’altra caratteristica.

Modello di regressione lineare multipla

Quando abbiamo più di una variabile indipendente, allora parliamo di regressione lineare multipla, assumendo un modello come il seguente:


y = b0 + b1x1 + b2x2 + … + bnxn

  • y è la risposta ai valori, ossia rappresenta il risultato previsto dal modello;
  • b0 è l’intercetta, ossia il valore di y quando gli xi sono tutti uguali a 0;
  • la prima caratteristica b1 è il coefficiente di x1;
  • l’ennesima caratteristica bn è il coefficiente di xn;
  • x1,x2, …, xn sono le variabili indipendenti del modello.

Praticamente l’equazione spiega la relazione tra una variabile dipendente continua (y) e due o più variabili indipendenti (x1, x2, x3 …). 

Ad esempio se volessimo stimare l’emissione di CO2 di un’automobile (variabile dipendente y) considerando la potenza del motore, il numero dei cilindri e il consumo di carburante. Questi ultimi fattori sono le variabili indipendenti x1, x2 e x3. Le costanti bi sono numeri reali e vengono chiamati coefficienti di regressione stimati del modello.La y è la variabile dipendente continua, cioè essendo la somma di b0, b1 x1, b2 x2, ecc. y sarà un numero reale.

L’analisi di regressione multipla è un metodo usato per identificare l’effetto che le variabili indipendenti hanno su una variabile dipendente.

Capire come cambia la variabile dipendente al variare delle variabili indipendenti permette di prevedere effetti o impatti dei cambiamenti delle situazioni reali.

Utilizzando la regressione lineare multipla si può capire come cambia la pressione sanguigna al variare dell’indice di massa corporea considerando fattori come età, sesso ecc—, ipotizzando quindi cosa potrebbe accadere.

Con la regressione multipla possiamo ottenere stime su trend di prezzi, come ad esempio l’andamento futuro per petrolio o dell’oro.

Infine, la regressione lineare multipla sta riscontrando maggiore interesse nel campo del machine learning e intelligenza artificiale in quanto permette di ottenere modelli di apprendimento performanti anche nel caso di elevato numero di record da analizzare.

Modello di Regressione Logistica

La regressione logistica è uno strumento statistico che ha come obiettivo quello di modellare un risultato binomiale con una o più variabili esplicative.

Viene utilizzata in genere per problemi binari, dove esistono solamente due classi, ad esempio Si o No, 0 o 1, maschio o femmina ecc…

In questo modo è possibile descrivere i dati e spiegare la relazione tra una variabile binaria dipendente e una o più variabili indipendenti nominali o ordinali..

Il risultato è determinato grazie all’utilizzo di una funzione logistica, che stima una probabilità e poi definisce la classe più vicina (positiva o negativa) al valore di probabilità ottenuto.

Possiamo considerare la regressione logistica come un metodo di classificazione della 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à).

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 che si possono risolvere tramite regressione logistica sono:

  • una e-mail è di spam oppure no;
  • una acquisto online è fraudolento o meno, valutandone le condizioni di acquisto;
  • un paziente ha una frattura, valutandone i raggi.

Con la regressione logistica possiamo fare analisi predittiva, misurando la relazione tra ciò che vogliamo prevedere (variabile dipendente) e una o più variabili indipendenti, cioè le caratteristiche. La stima delle probabilità avviene tramite una funzione logistica.

Le probabilità vengono successivamente trasformate in valori binari, e per poter rendere reale la previsione, si assegna tale risultato alla classe di appartenenza, in base alla vicinanza o meno alla classe stessa.

Ad esempio, se l’applicazione della funzione logistica ci restituisce 0,85,allora vuol dire che l’input ha generato una classe positiva assegnando alla classe 1. Viceversa se avesse ottenuto valore come 0,4 o più in generale <0,5..

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

La regressione logistica utilizza la funzione logistica, per valutare la classificazione dei valori di input.

La funziona logistica, detta anche sigmoidea, è una curva in grado di prendere qualsiasi numero di valore reale e mapparlo in un valore compreso tra 0 e 1, estremi esclusi. La funzione è:

dove:

  • e : base dei logaritmi naturali (il numero di Eulero, oppure funzione exp() di excel)
  • b0 + b1 * x : è il valore numerico effettivo che si desidera trasformare.

Rappresentazione utilizzata per la regressione logistica

La regressione logistica utilizza un’equazione come rappresentazione, in modo molto simile alla regressione lineare

I valori di input (x) vengono combinati linearmente utilizzando pesi o valori di coefficienti, per prevedere un valore di output (y). Una differenza fondamentale rispetto alla regressione lineare è che il valore di output modellato è un valore binario (0 o 1) piuttosto che un valore numerico.

Di seguito è riportato un esempio di equazione di regressione logistica:

y = e ^ (b0 + b1 * x) / (1 + e ^ (b0 + b1 * x))

Dove:

  • y è la variabile dipendente, cioè il valore previsto;
  • b0 è il termine di polarizzazione o intercetta;
  • b1 è il coefficiente per il singolo valore di input (x).

Ogni colonna nei dati di input ha un coefficiente b associato (un valore reale costante) che deve essere appreso dai dati di allenamento.

La rappresentazione effettiva del modello che memorizzeresti in memoria o in un file sono i coefficienti nell’equazione (il valore beta o b).

La regressione logistica predice le probabilità (intervallo tecnico)

La regressione logistica modella la probabilità della classe di default.

Come esempio, ipotizziamo che stiamo modellando il sesso delle persone come maschio o femmina dalla loro altezza, la prima classe potrebbe essere maschile e il modello di regressione logistica potrebbe essere scritto come la probabilità di essere maschio data l’altezza di una persona, o più formalmente:

P (sesso = maschio | altezza)

Scritto in un altro modo, stiamo modellando la probabilità che un input (X) appartenga alla classe predefinita (Y = 1), possiamo scriverlo come:

P (X) = P (Y = 1 | X)

La previsione di probabilità deve essere trasformata in valori binari (0 o 1) per poter effettivamente fare una previsione di probabilità.

La regressione logistica è un metodo lineare, ma le previsioni vengono trasformate utilizzando la funzione logistica. L’impatto di ciò è che non possiamo più comprendere le previsioni come una combinazione lineare degli input come possiamo con la regressione lineare, ad esempio, continuando dall’alto, il modello può essere espresso come:

p (X) = e ^ (b0 + b1 * X) / (1 + e ^ (b0 + b1 * X))

Ora possiamo ribaltare l’equazione come segue. Per ribaltarla possiamo procedere rimuovendo la e da una parte aggiungendo un logaritmo naturale dall’altra parte.

ln (p (X) / 1 – p (X)) = b0 + b1 * X

In questo modo otteniamo il fatto che il calcolo dell’output a destra, è nuovamente lineare (proprio come la regressione lineare), e l’input a sinistra è un logaritmo della probabilità della classe di default.

Le probabilità sono calcolate come un rapporto tra la probabilità dell’evento divisa per la probabilità di non evento, ad es. 0,8 / (1-0,8) il cui risultato è 4. Quindi potremmo invece scrivere:

ln (odds) = b0 + b1 * X

Poiché le probabilità vengono trasformate in logaritmo, chiamiamo questo lato sinistro log-odds o probit.

Possiamo riportare l’esponente a destra e scriverlo come:

probabilità = e ^ (b0 + b1 * X)

Tutto questo ci aiuta a capire che in effetti il ​​modello è ancora una combinazione lineare degli input, ma che questa combinazione lineare si riferisce alle probabilità logaritmiche della classe predefinita.

Apprendimento del modello di regressione logistica

I coefficienti (valori beta o b) dell’algoritmo di regressione logistica vengono stimati in fase di apprendimento. Per farlo, usiamo la stima di massima verosimiglianza.

La stima di massima verosimiglianza è un algoritmo di apprendimento utilizzato da diversi algoritmi di apprendimento automatico. I coefficienti risultanti dal modello, prevedono un valore molto vicino a 1 (ad es. Maschio) per la classe predefinita e un valore molto vicino a 0 (ad es. Femmina) per l’altra classe. La massima verosimiglianza per la regressione logistica è una procedura di ricerca valori per i coefficienti (valori Beta o b) che minimizzano l’errore nelle probabilità previste dal modello rispetto a quelle nei dati (es. Probabilità 1 se il dato è il primario classe).

Utilizzeremo un algoritmo di minimizzazione per ottimizzare i migliori valori dei coefficienti per i dati di allenamento. Questo è spesso implementato nella pratica utilizzando un efficiente algoritmo di ottimizzazione numerica.

Ercole Palmeri


Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

Articoli recenti

Veeam presenta il supporto più completo per il ransomware, dalla protezione alla risposta e al ripristino

Coveware by Veeam continuerà a fornire servizi di risposta agli incidenti di cyber-estorsione. Coveware offrirà funzionalità di forensics e remediation…

23 Aprile 2024

Rivoluzione Verde e Digitale: Come la Manutenzione Predittiva sta Trasformando il Settore Oil & Gas

La manutenzione predittiva sta rivoluzionando il settore dell'oil & gas, con un approccio innovativo e proattivo alla gestione degli impianti.…

22 Aprile 2024

L’autorità antitrust del Regno Unito lancia l’allarme BigTech su GenAI

La CMA del Regno Unito ha lanciato un avvertimento circa il comportamento delle Big Tech sul mercato dell’intelligenza artificiale. La…

18 Aprile 2024

Casa Green: rivoluzione energetica per un futuro sostenibile in Italia

Il Decreto "Case Green", formulato dall'Unione Europea per potenziare l'efficienza energetica degli edifici, ha concluso il suo iter legislativo con…

18 Aprile 2024