Cos'è l'analisi discriminante lineare (LDA)?

Cos'è la LDA?

L'analisi discriminante lineare (LDA) è un approccio utilizzato nel machine learning supervisionato per risolvere problemi di classificazione multiclasse. La LDA separa più classi con più funzioni attraverso la riduzione della dimensionalità dei dati. Questa tecnica è importante nella data science in quanto aiuta a ottimizzare i modelli di machine learning.

L'analisi discriminante lineare, nota anche come analisi discriminante normale (NDA) o analisi della funzione discriminante (DFA), segue un framework di modello generativo. Questo significa che gli algoritmi LDA modellano la distribuzione dei dati per ciascuna classe e usano il teorema di Bayes1 per classificare i nuovi punti dati. Bayes calcola le probabilità condizionali: la probabilità di un evento se si è verificato un altro evento. Gli algoritmi LDA effettuano stime usando Bayes per calcolare la probabilità che un set di dati di input appartenga a un determinato output. Per un controllo delle statistiche bayesiane e del loro impatto sugli algoritmi di apprendimento supervisionato, vedi i classificatori Naïve Bayes.

La LDA funziona individuando una combinazione lineare di funzioni che separa o caratterizza due o più classi di oggetti o eventi. La LDA lo fa proiettando i dati con due o più dimensioni in una sola dimensione, in modo che possano essere classificati più facilmente. La tecnica viene quindi talvolta definita riduzione della dimensionalità. Questa versatilità fa sì che la LDA possa essere usata per problemi di classificazione dei dati multiclasse, a differenza della regressione logistica, che è limitata alla classificazione binaria. Spesso quindi la LDA viene applicata per migliorare l'esecuzione di altri algoritmi di classificazione dell'apprendimento, come l'albero decisionale, la foresta casuale o le macchine a vettori di supporto (SVM).

Grafico che mostra l'effetto su un cluster di dati prima e dopo l'applicazione dei metodi LDA

L'origine dell'analisi discriminante lineare

L'analisi discriminante lineare (LDA) si basa sul discriminante lineare di Fisher, un metodo statistico sviluppato da Sir Ronald Fisher negli anni '30 e successivamente semplificato da C. R. Rao come versione multiclasse. Il metodo di Fisher mira a individuare una combinazione lineare di funzioni che discrimina tra due o più classi di oggetti o eventi etichettati.

Il metodo di Fisher riduce le dimensioni separando le classi di dati proiettati. La separazione significa massimizzare la distanza tra le medie previste e minimizzare la varianza prevista all'interno delle classi.

Un'applicazione pratica dell'LDA

Supponiamo che sia una banca a decidere se approvare o rifiutare le richieste di prestito. La banca usa due funzioni per prendere questa decisione: il reddito annuo e il punteggio di credito del richiedente.

In questo caso, le due variabili o classi sono rappresentate su un piano bidimensionale (2D) con un asse X-Y. Se provassimo a classificare le approvazioni usando una sola variabile, potremmo osservare delle sovrapposizioni. Applicando la LDA, possiamo tracciare una linea retta che separa completamente i punti dati di queste due classi. La LDA raggiunge questo risultato usando l'asse X-Y per creare un nuovo asse, separando le diverse classi con una linea retta e proiettando i dati su questo nuovo asse.

Per creare questo nuovo asse e ridurre la dimensionalità, l'LDA segue questi criteri:

  • Massimizza la distanza tra le medie di due classi.
  • Riduci al minimo la varianza all'interno delle singole classi.

Proprietà e presupposti dell'LDA

Le LDA funzionano proiettando uno spazio di funzioni, ovvero un set di dati con n dimensioni, su uno spazio più piccolo "k", in cui k è minore o uguale a n - 1, senza perdere informazioni sulla classe. Un modello LDA comprende le proprietà statistiche calcolate per i dati in ogni classe. Laddove siano presenti più funzioni o variabili, queste proprietà vengono calcolate sulla distribuzione gaussiana multivariata3.

Le multivariate sono:

  • Medie
  • La matrice di covarianza, che misura il modo in cui ogni variabile o funzione si relaziona con le altre all'interno della classe

Le proprietà statistiche stimate dal set di dati vengono inserite nella funzione LDA per effettuare previsioni e creare il modello LDA. Tuttavia, ci sono alcuni vincoli da tenere a mente, poiché il modello presuppone quanto segue:

  • Il set di dati di input ha una distribuzione gaussiana, in cui il tracciamento dei punti dati fornisce una curva a campana.
  • Il set di dati è linearmente separabile, e ciò significa che l'LDA può tracciare una linea retta o un confine decisionale che separa i punti dati.
  • Ogni classe ha la stessa matrice di covarianza.

Per questi motivi, la LDA potrebbe non funzionare bene in spazi di funzioni ad alta dimensionalità.

Ruolo degli autovettori e degli autovalori

La riduzione della dimensionalità comporta la separazione dei punti dati con una linea retta. Dal punto di vista matematico, le trasformazioni lineari vengono analizzate usando autovettori e autovalori. Immagina di aver mappato un set di dati con più funzioni, ottenendo così un grafico a dispersione multidimensionale. Gli autovettori forniscono la "direzione" nel grafico a dispersione. Gli autovalori denotano l'importanza di questi dati direzionali. Un autovalore elevato significa che l'autovettore associato è più critico.

Durante la riduzione della dimensionalità, gli autovettori vengono calcolati dal set di dati e raccolti in due matrici di dispersione:

  • Matrice di dispersione tra classi (informazioni sulla distribuzione dei dati all'interno di ciascuna classe)
  • Matrice di dispersione interna alla classe (come le classi sono distribuite tra loro).

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Preparazione per l'implementazione dell'analisi discriminante lineare

Per utilizzare l'LDA in modo efficace, è essenziale preparare in anticipo il set di dati. Ecco i passaggi e le best practice per implementare l'LDA:

1. Pre-elaborare i dati per assicurarsi che siano normalizzati e centrati

Questo risultato si ottiene passando il parametro n-componente dell'LDA, che identifica il numero di discriminanti lineari da recuperare.

2. Scegliere un numero appropriato di dimensioni per lo spazio a dimensione inferiore

Questo risultato si ottiene passando il parametro n-componente dell'LDA, che identifica il numero di discriminanti lineari da recuperare.

3. Regolarizza il modello

La regolarizzazione mira a prevenire l'overfitting, in cui il modello statistico si adatta perfettamente ai propri dati di addestramento e ne mina l'accuratezza.

4. Utilizzare la convalida incrociata per valutare le prestazioni del modello

Puoi valutare classificatori come la LDA rappresentandone la matrice di confusione, in cui i valori di classe effettivi vengono visualizzati come righe e i valori di classe previsti come colonne. Una matrice di confusione consente di verificare facilmente se un classificatore sta confondendo due classi, cioè se sta etichettando erroneamente una classe come un'altra. Ad esempio, consideriamo una matrice di confusione 10 x 10 che prevede immagini da zero a 9. I valori effettivi vengono tracciati in righe sull'asse y. Le previsioni vengono tracciate in colonne sull'asse x. Per vedere quante volte un classificatore ha confuso le immagini di 4s e 9s nell'esempio della matrice di confusione 10 x 10, devi controllare la 4a riga e la 9a colonna.

una matrice di confusione, che rappresenta il confronto tra valori effettivi e previsioni

Come funziona la funzione discriminante lineare

La funzione discriminante lineare aiuta a prendere decisioni sui problemi di classificazione separando i punti dati in base alle variabili e classificandoli in diverse classi o categorie. Il processo di calcolo può essere riassunto nei seguenti passaggi chiave:

Calcolare la varianza tra le classi

La varianza tra le classi è la separabilità tra le classi, ovvero la distanza tra le medie delle classi.

Calcolare la varianza all'interno della classe

La varianza all'interno della classe è la distanza tra le medie della classe e i campioni.

Proietta i dati in uno spazio dimensionale inferiore

In questo modo si massimizza la varianza tra le classi e si riduce al minimo la varianza all'interno della stessa classe. Possiamo rappresentare matematicamente la funzione di discriminante lineare per due classi nel modo che segue.

δ(x) = x * ( σ2 * (μ01) - 2 * σ2 * (μ0212) + ln(P(w0) / P(w1)))

Dove:

  • δ(x) rappresenta la funzione discriminante lineare.
  • x rappresenta il punto dati di input.
  • μ0 e μ1 sono le medie delle due classi.
  • σ2 è la varianza comune all'interno della classe.
  • P(ω0) e P(ω1) sono le probabilità a priori delle due classi.

Applicazione dell'LDA con un esempio

Usiamo l'equazione per elaborare un esempio di approvazione di un prestito. Ricapitolando, la banca sta decidendo se approvare o rifiutare le richieste di prestito. La banca utilizza due funzioni per prendere questa decisione: il punteggio di credito del richiedente (x) e il reddito annuo. La banca ha raccolto dati storici sui precedenti richiedenti di prestiti e sull'approvazione dei prestiti.

  • La classe ω0 rappresenta "Prestito rifiutato".
  • La classe ω1 rappresenta "Prestito approvato".

Utilizzando la funzione discriminante lineare, la banca può calcolare un punteggio (δ(x)) per ogni richiesta di prestito. 

L'equazione per la funzione discriminante lineare potrebbe essere simile a questa:

δ(x) = x * ( σ2 * (μ01) - 2 * σ2 * (μ0212) + ln(P(w0) / P(w1)))

  • x rappresenta il punteggio di credito e il reddito annuale del richiedente.
  • μ0 e μ1 sono le medie di queste funzioni per le due classi: "Prestito rifiutato" e "Prestito approvato".
  • σ2 è la varianza comune all'interno della classe.
  • P(ω0) è la probabilità a priori di "Prestito rifiutato" e P(ω1) è la probabilità a priori di "Prestito approvato".

La banca calcola la funzione discriminante lineare per ogni richiesta di credito.

  • Se δ(x) è positivo, suggerisce che la domanda di prestito ha maggiori probabilità di essere approvata.
  • Se δ(x) è negativo, allora la richiesta di prestito ha maggiori probabilità di essere rifiutata.

La banca può quindi automatizzare il processo di approvazione del prestito, prendendo decisioni più rapide e coerenti e riducendo al minimo il bias umano.

Applicazioni dell'analisi discriminante lineare

Si tratta di scenari tipici in cui l'LDA può essere applicata per affrontare problemi complessi e aiutare le organizzazioni a prendere decisioni migliori.

Valutazione del rischio di credito in finanza

Per mitigare il rischio, gli istituti finanziari devono individuare e ridurre al minimo l'insolvenza creditizia. La LDA può aiutare a individuare i richiedenti che potrebbero essere inadempienti rispetto a quelli che sono invece meritevoli di credito, analizzando i fattori finanziari e i dati comportamentali.

Diagnosi delle malattie in ambito sanitario

Una diagnosi rapida e accurata della malattia è fondamentale per un trattamento efficace. Gli ospedali e gli operatori sanitari devono interpretare un'immensa quantità di dati medici. L'LDA aiuta a semplificare i set di dati complessi e a migliorare l'accuratezza diagnostica identificando modelli e relazioni nei dati dei pazienti.

Segmentazione dei clienti nell'e-commerce

Per un marketing efficace, le aziende di e-commerce devono essere in grado di classificare diverse basi di clienti. La LDA gioca un ruolo fondamentale nella segmentazione dei clienti, consentendo alle aziende di e-commerce di adattare le proprie strategie di marketing a diversi gruppi di clienti. Il risultato sono esperienze di acquisto più personalizzate, un aumento della fidelizzazione dei clienti e delle vendite.

Controllo qualità nella produzione

Produrre beni di alta qualità riducendo al minimo i difetti è una sfida fondamentale. I dati dei sensori dei macchinari possono essere utilizzati con l'LDA per identificare i modelli associati ai difetti. Rilevando le irregolarità in tempo reale, i produttori possono intraprendere azioni correttive immediate, migliorando la qualità dei prodotti e riducendo gli sprechi.

Ottimizzazione delle campagne nel marketing

Puoi massimizzare il tuo budget pubblicitario rivolgendoti al destinatario giusto con contenuti personalizzati, ma identificare i rispettivi segmenti di destinatari può essere difficile. L'LDA può semplificare questo processo classificando gli attributi e i comportamenti dei clienti, migliorando la personalizzazione delle campagne pubblicitarie. Questo approccio può portare a un maggiore ritorno sull'investimento (ROI) e a una migliore esperienza del cliente.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Analisi discriminante lineare e Python

Per approfondire l'analisi discriminante lineare con Python e sfruttare la libreria scikit-learn, puoi esplorare questo tutorial Scopri gli algoritmi di classificazione usando Python e scikit-learn in IBM watsonx™. Il tutorial fornisce le nozioni di base per risolvere un problema di apprendimento automatico basato sulla classificazione usando Python e scikit-learn (noto anche come sklearn).

Per il tutorial dettagliato, importerai prima le librerie Python necessarie per lavorare con il set di dati Iris, eseguire la pre-elaborazione dei dati, quindi creare e valutare il modello LDA:

<Python code snippet>

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn
import seaborn as sns
from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, confusion_matrix

Se le librerie non sono installate, è possibile risolvere il problema utilizzando pip install.

Consulta inoltre la documentazione scikit-learn per una panoramica dei parametri chiave, degli attributi e degli esempi generali di implementazioni di Python che usano sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Vantaggi e svantaggi dell'utilizzo dell'analisi discriminante lineare

Comprendere i vantaggi e i limiti dell'analisi discriminante lineare (LDA) è fondamentale quando la si applica a vari problemi di classificazione. La conoscenza dei compromessi aiuta i data scientist e i professionisti del machine learning a prendere decisioni informate sulla sua idoneità per un particolare compito.

Vantaggi principali

  • Usa la semplicità e l'efficienza del calcolo: l'LDA è un algoritmo semplice ma potente. È relativamente facile da capire e implementare, e questa sua proprietà lo rende accessibile a chi è nuovo al machine learning. Inoltre, il calcolo efficiente garantisce risultati rapidi.
  • Gestisci dati ad alta dimensionalità: la LDA è efficace quando il numero di funzioni è maggiore del numero di campioni di addestramento. Per questo motivo, la LDA è preziosa in applicazioni come l'analisi del testo, il riconoscimento delle immagini e la genomica, dove i dati sono spesso a elevata dimensionalità.
  • Gestisci la multicollinearità: la LDA può gestire la multicollinearità, ovvero la presenza di elevate correlazioni tra diverse funzioni. Trasforma i dati in uno spazio di dimensioni inferiori, mantenendo l'integrità delle informazioni.

Principali svantaggi

- Distribuzioni con media condivisa: l'LDA incontra delle difficoltà quando le distribuzioni delle classi condividono le medie. L'LDA fa fatica a creare un nuovo asse che separi linearmente le due classi. Di conseguenza, l'LDA potrebbe non discriminare efficacemente tra classi con proprietà statistiche sovrapposte. Ad esempio, immagina uno scenario in cui due specie di fiori hanno una lunghezza e una larghezza dei petali molto simili. L'LDA potrebbe avere difficoltà a separare queste specie solo in base a queste funzioni. Le tecniche alternative, come i metodi di analisi discriminante non lineari, in questo caso vengono preferite.

- Non è adatta per i dati non etichettati: la LDA viene applicata come algoritmo di apprendimento supervisionato, ossia classifica o separa i dati etichettati. Al contrario, l'analisi delle componenti principali (PCA), un'altra tecnica di riduzione dimensionale, ignora le etichette delle classi e preserva la varianza.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live