My IBM Accedi Iscriviti

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

27 novembre 2023

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ù caratteristiche 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 caratteristiche 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).

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 caratteristiche 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. Separazione significa massimizzare la distanza tra le medie proiettate e ridurre al minimo 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 utilizza due caratteristiche per prendere questa decisione: il punteggio di credito del richiedente e il reddito annuo.

Qui, le due caratteristiche o classi sono rappresentate su un piano bidimensionale (2D) con un asse X-Y. Se provassimo a classificare le approvazioni utilizzando una sola caratteristica, 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 obiettivo utilizzando l'asse X-Y per creare un nuovo asse, separando le diverse classi con una linea retta e proiettando i dati sul nuovo asse.

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

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

Proprietà e presupposti dell'LDA

Le LDA funzionano proiettando uno spazio di caratteristiche, 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ù caratteristiche 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 caratteristica 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 la 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 caratteristiche ad alta dimensionalità.

Ruolo degli autovettori e degli autovalori

La riduzione della dimensionalità comporta la separazione dei punti dati con una linea retta. Matematicamente, le trasformazioni lineari vengono analizzate utilizzando autovettori e autovalori. Immagina di aver mappato un set di dati con più caratteristiche, ottenendo un grafico a dispersione multidimensionale. Gli autovettori forniscono la "direzione" all'interno del grafico a dispersione. Gli autovalori denotano l'importanza di questi dati direzionali. Un autovalore alto 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).
.
Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Preparazione per l'implementazione dell'analisi discriminante lineare

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

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

Questo risultato si ottiene passando il parametro n-componente della 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 della 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

È possibile valutare classificatori come LDA tracciando una matrice di confusione, in cui i valori di classe effettivi compaiono come righe e i valori di classe stimati 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 4 e 9 nell'esempio della matrice di confusione 10 x 10, è necessario controllare la 4a riga e la 9a colonna.

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 caratteristiche 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 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 caratteristiche 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 caratteristiche 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 richiesta di prestito ha maggiori probabilità di essere approvata.
  • Se δ(x) è negativo, suggerisce che 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 la 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 identificare e ridurre al minimo l'insolvenza creditizia. La LDA può aiutare a identificare i richiedenti che potrebbero essere inadempienti rispetto a quelli che sono meritevoli di credito, passando al setaccio 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. La 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 la 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. La 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.

Analisi discriminante lineare e Python

Per approfondire l'analisi discriminante lineare con Python e sfruttare la libreria scikit-learn, puoi esplorare questo tutorial Impara gli algoritmi di classificazione usando Python e scikit-learn in IBM watsonx™. Il tutorial fornisce le nozioni di base per risolvere un problema di machine learning basato sulla classificazione utilizzando 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 di scikit-learn per una panoramica dei parametri chiave, degli attributi e degli esempi generali di implementazioni di Python che usano sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Mixture of Experts | Podcast

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.

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

  • Utilizza la semplicità e l'efficienza di calcolo: la LDA è un algoritmo semplice ma potente. È relativamente facile da capire e da implementare, il che lo rende accessibile a chi è alle prime armi con il machine learning. Inoltre, la sua efficienza di calcolo garantisce risultati rapidi.
  • Gestisce dati ad alta dimensionalità: la LDA è efficace quando il numero di caratteristiche è maggiore del numero di campioni di addestramento. Pertanto, la LDA è preziosa in applicazioni come l'analisi del testo, il riconoscimento delle immagini e la genomica, dove i dati sono spesso altamente dimensionali.
  • Gestisce la multicollinearità: la LDA può affrontare la multicollinearità, ossia la presenza di elevate correlazioni tra diverse caratteristiche. Trasforma i dati in uno spazio meno dimensionale, mantenendo l'integrità delle informazioni.

Principali svantaggi

- Distribuzioni con media condivisa: la LDA incontra delle difficoltà quando le distribuzioni delle classi condividono le medie. La LDA fa fatica a creare un nuovo asse che separi linearmente le due classi. Di conseguenza, la 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. La LDA potrebbe avere difficoltà a separare queste specie solo in base a queste caratteristiche. 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

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