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.
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).
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.
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:
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:
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:
Per questi motivi, la LDA potrebbe non funzionare bene in spazi di funzioni ad alta dimensionalità.
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:
Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.
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:
Questo risultato si ottiene passando il parametro n-componente dell'LDA, che identifica il numero di discriminanti lineari da recuperare.
Questo risultato si ottiene passando il parametro n-componente dell'LDA, che identifica il numero di discriminanti lineari da recuperare.
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.
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.
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:
La varianza tra le classi è la separabilità tra le classi, ovvero la distanza tra le medie delle classi.
La varianza all'interno della classe è la distanza tra le medie della classe e i campioni.
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 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
Dove:
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.
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 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
La banca calcola la funzione discriminante lineare per ogni richiesta di credito.
La banca può quindi automatizzare il processo di approvazione del prestito, prendendo decisioni più rapide e coerenti e riducendo al minimo il bias umano.
Si tratta di scenari tipici in cui l'LDA può essere applicata per affrontare problemi complessi e aiutare le organizzazioni a prendere decisioni migliori.
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.
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.
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.
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.
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.
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.
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.
- 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.
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.
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.
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.