Classificazione nell'apprendimento automatico: cos'è e come funziona
Pubblicato: 2024-11-20La classificazione è un concetto fondamentale nell'analisi dei dati e nell'apprendimento automatico (ML). Questa guida esplora cos'è la classificazione e come funziona, spiega la differenza tra classificazione e regressione e copre tipi di attività, algoritmi, applicazioni, vantaggi e sfide.
Sommario
- Cos'è la classificazione?
- Classificazione vs. regressione
- Tipi di attività di classificazione in ML
- Algoritmi utilizzati per l'analisi della classificazione
- Applicazioni della classificazione
- Vantaggi della classificazione
- Svantaggi della classificazione
Cos'è la classificazione nell'apprendimento automatico?
La classificazione è una tecnica di apprendimento supervisionato nell'apprendimento automatico che prevede la categoria (chiamata anche classe) di nuovi punti dati in base alle funzionalità di input. Gli algoritmi di classificazione utilizzano dati etichettati, dove è nota la categoria corretta, per apprendere come mappare le caratteristiche a categorie specifiche. Questo processo viene anche definito categorizzazione o classificazione categoriale.
Per eseguire la classificazione, gli algoritmi operano in due fasi chiave. Durante la fase di addestramento, l'algoritmo apprende la relazione tra i dati di input e le etichette o categorie corrispondenti. Una volta addestrato, il modello entra nella fase di inferenza, in cui utilizza i modelli appresi per classificare dati nuovi e invisibili nelle applicazioni del mondo reale. L'efficacia della classificazione dipende in gran parte da come vengono gestite queste fasi e dalla qualità dei dati preelaborati disponibili durante la formazione.
Comprendere come gli algoritmi di classificazione gestiscono queste fasi è essenziale. Una differenza fondamentale è il modo in cui affrontano l’apprendimento. Ciò ci porta a due strategie distinte che gli algoritmi di classificazione possono seguire: l’apprendimento pigro e l’apprendimento desideroso.
Studenti pigri contro studenti desiderosi
Gli algoritmi di classificazione adottano tipicamente una delle due strategie di apprendimento: apprendimento pigro o apprendimento desideroso. Questi approcci differiscono fondamentalmente nel modo e nel momento in cui viene costruito il modello, influenzando la flessibilità, l'efficienza e i casi d'uso dell'algoritmo. Sebbene entrambi mirano a classificare i dati, lo fanno con metodi contrastanti adatti a diversi tipi di attività e ambienti.
Esaminiamo le operazioni degli studenti pigri e desiderosi per comprendere meglio i punti di forza e di debolezza di ciascun approccio.
Studenti pigri
Conosciuti anche come studenti basati su istanza o basati sulla memoria, gli algoritmi di apprendimento pigro archiviano i dati di addestramento e ritardano l'apprendimento effettivo finché non è necessario classificare una query. Quando uno di questi algoritmi viene messo in funzione, confronta i nuovi punti dati con le istanze archiviate utilizzando una misura di somiglianza. La qualità e la quantità dei dati disponibili influenzano in modo significativo l'accuratezza dell'algoritmo, con l'accesso a set di dati più grandi che in genere ne migliorano le prestazioni. Gli studenti pigri spesso danno priorità ai dati recenti, fenomeno noto comerecency bias. Poiché apprendono in tempo reale, possono essere più lenti e più costosi dal punto di vista computazionale quando rispondono alle query.
Gli studenti pigri eccellono in ambienti dinamici in cui il processo decisionale in tempo reale è fondamentale e i dati sono in continua evoluzione. Questi algoritmi sono particolarmente adatti per attività in cui affluiscono continuamente nuove informazioni e non c'è tempo per cicli di formazione estesi tra le attività di classificazione.
Studenti desiderosi
Gli algoritmi di apprendimento desideroso, al contrario, elaborano tutti i dati di addestramento in anticipo, costruendo un modello prima che venga eseguita qualsiasi attività di classificazione. Questa fase di apprendimento iniziale è in genere più complessa e dispendiosa in termini di risorse, consentendo all'algoritmo di scoprire relazioni più profonde tra i dati. Una volta formati, gli studenti desiderosi non hanno bisogno di accedere ai dati di formazione originali, il che li rende altamente efficienti durante la fase di previsione. Possono classificare rapidamente i dati e gestire grandi volumi di query con costi computazionali minimi.
Tuttavia, gli studenti desiderosi sono meno flessibili nell’adattarsi ai nuovi dati in tempo reale. Il loro processo di formazione pesante in termini di risorse limita la quantità di dati che possono gestire, rendendo difficile l'integrazione di nuove informazioni senza riqualificare l'intero modello.
Più avanti in questo post vedremo come algoritmi pigri e desiderosi possono essere utilizzati insieme per il riconoscimento facciale.
Classificazione e regressione: qual è la differenza?
Ora che abbiamo esplorato come funziona la classificazione, è importante distinguerla da un'altra tecnica chiave di apprendimento supervisionato: la regressione.
Sia la classificazione che la regressione vengono utilizzate per effettuare previsioni basate sui dati etichettati della fase di training, ma differiscono nel tipo di previsioni che generano.
Gli algoritmi di classificazioneprevedono risultati discreti e categorici. Ad esempio, in un sistema di classificazione delle e-mail, un'e-mail può essere etichettata come "spam" o "ham" (dove "ham" si riferisce a e-mail non spam). Allo stesso modo, un modello di classificazione meteorologica potrebbe prevedere “sì”, “no” o “forse” in risposta alla domanda “Pioverà domani?”
Gli algoritmi di regressione, invece, prevedono valori continui. Invece di assegnare i dati a categorie, i modelli di regressione stimano i risultati numerici. Ad esempio, in un sistema di posta elettronica, un modello di regressione potrebbe prevedere la probabilità (ad esempio, 70%) che un'e-mail sia spam. Per un modello di previsione meteorologica, potrebbe prevedere il volume di pioggia previsto, ad esempio 2 pollici di pioggia.
Sebbene la classificazione e la regressione servano a scopi diversi, a volte vengono utilizzate insieme. Ad esempio, la regressione potrebbe stimare le probabilità che alimentano un sistema di classificazione, migliorando l’accuratezza e la granularità delle previsioni.
Tipi di attività di classificazione in ML
Le attività di classificazione variano, ciascuna adattata a tipi di dati e sfide specifici. A seconda della complessità del tuo compito e della natura delle categorie, puoi utilizzare diversi metodi: classificazione binaria, multiclasse, multietichetta o sbilanciata. Approfondiamo ciascun approccio di seguito.
Classificazione binaria
La classificazione binaria è un compito fondamentale che ordina i dati in due categorie, ad esempio vero/falso o sì/no. È ampiamente ricercato e applicato in campi come il rilevamento delle frodi, l'analisi del sentiment, la diagnosi medica e il filtraggio dello spam. Mentre la classificazione binaria riguarda due classi, una categorizzazione più complessa può essere gestita suddividendo il problema in più attività binarie. Ad esempio, per classificare i dati in “mele”, “arance”, “banane” e “altro”, è possibile utilizzare classificatori binari separati per rispondere “È una mela?”, “È un’arancia?” e “ È una banana?"
Classificazione multiclasse
La classificazione multiclasse, nota anche come classificazione multinomiale, è progettata per attività in cui i dati vengono classificati in tre o più categorie. A differenza dei modelli che scompongono il problema in più attività di classificazione binaria, gli algoritmi multiclasse sono creati per gestire tali scenari in modo più efficiente. Questi algoritmi sono in genere più complessi, richiedono set di dati più grandi e richiedono più risorse da configurare rispetto ai sistemi binari, ma spesso forniscono prestazioni migliori una volta implementati.
Classificazione multietichetta
La classificazione multietichetta, nota anche come classificazione multi-output, assegna più di un'etichetta a un dato dato. Viene spesso confusa con la classificazione multiclasse, in cui a ciascuna istanza viene assegnata solo un'etichetta da più categorie.
Per chiarire la differenza: un algoritmo di classificazione binaria potrebbe ordinare le immagini in due categorie: immagini con frutta e immagini senza frutta. Un sistema multiclasse potrebbe quindi classificare le immagini della frutta in categorie specifiche come banane, mele o arance. La classificazione multietichetta, invece, consentirebbe di assegnare più etichette a una singola immagine. Ad esempio, una singola immagine potrebbe essere classificata sia come “frutto” che come “banana” e il frutto potrebbe anche essere etichettato come “maturo” o “non maturo”. Ciò consente al sistema di tenere conto di più caratteristiche indipendenti simultaneamente, come (“nessun frutto”, “nessuna banana”, “niente è maturo”), (“frutta”, “banana”, “maturo” o (“frutta, ” “banana”, “niente è maturo”).
Classificazione sbilanciata
Spesso i dati disponibili per la formazione non rappresentano la distribuzione dei dati osservati nella realtà. Ad esempio, un algoritmo potrebbe avere accesso solo ai dati di 100 utenti durante l'addestramento, di cui il 50% effettua un acquisto (mentre in realtà solo il 10% degli utenti effettua un acquisto). Gli algoritmi di classificazione sbilanciati risolvono questo problema durante l'apprendimento utilizzando tecniche di sovracampionamento (riutilizzo di alcune porzioni di dati di addestramento) e di sottocampionamento (sottoutilizzo di alcune porzioni di dati di addestramento). In questo modo l'algoritmo di apprendimento apprende che un sottoinsieme di dati si verifica molto più o meno frequentemente nella realtà rispetto ai dati di addestramento. Queste tecniche sono solitamente una sorta di ottimizzazione dell'addestramento poiché consentono al sistema di apprendere da una quantità di dati significativamente inferiore a quella necessaria per apprendere altrimenti.
A volte accumulare dati sufficienti per riflettere la realtà è difficile o richiede molto tempo e questo tipo di ottimizzazione può consentire di addestrare più rapidamente i modelli. Altre volte, la quantità di dati è così grande che gli algoritmi di classificazione impiegano troppo tempo per addestrarli tutti, e gli algoritmi sbilanciati consentono comunque di addestrarli.
Algoritmi utilizzati per l'analisi della classificazione
Gli algoritmi di classificazione sono ben studiati e non è stato riscontrato che un'unica forma di classificazione sia universalmente appropriata per tutte le situazioni. Di conseguenza, esistono ampi toolkit di algoritmi di classificazione ben noti. Di seguito, descriviamo alcuni dei più comuni.
Predittori lineari
I predittori lineari si riferiscono ad algoritmi che prevedono risultati basati su combinazioni lineari di caratteristiche di input. Questi metodi sono ampiamente utilizzati nelle attività di classificazione perché sono semplici ed efficaci.
Regressione logistica
La regressione logistica è uno dei predittori lineari più comunemente utilizzati, in particolare nella classificazione binaria. Calcola la probabilità di un risultato in base alle variabili osservate utilizzando una funzione logistica (o sigmoide). Come risultato previsto viene selezionata la classe con la probabilità più alta, a condizione che superi una soglia di confidenza. Se nessun risultato soddisfa questa soglia, il risultato potrebbe essere contrassegnato come “incerto” o “indeciso”.
Regressione lineare
La regressione lineare viene solitamente utilizzata per i casi d'uso di regressione e restituisce valori continui. Tuttavia, i valori possono essere riproposti per la classificazione aggiungendo filtri o mappe per convertire i relativi output in classi. Se, ad esempio, hai già addestrato un modello di regressione lineare che restituisce previsioni sul volume della pioggia, lo stesso modello può diventare un classificatore binario "giorno di pioggia"/"giorno non di pioggia" impostando arbitrariamente una soglia. Per impostazione predefinita, è solo il segno del risultato della regressione che viene utilizzato durante la conversione dei modelli in classificatori binari (0 e i numeri positivi vengono mappati alla risposta "sì" o "+1" e i numeri negativi alla risposta "no" o "- 1”). Tuttavia, le mappe possono essere più complesse e adattate al caso d'uso. Ad esempio, potresti decidere che qualsiasi previsione superiore a cinque ml di pioggia sarà considerata un "giorno di pioggia" e qualsiasi previsione inferiore prevederà il contrario.
Analisi discriminante
L'analisi discriminante lineare (LDA) è un altro importante predittore lineare utilizzato per la classificazione. LDA funziona trovando combinazioni lineari di caratteristiche che meglio separano classi diverse. Si presuppone che le osservazioni siano indipendenti e normalmente distribuite. Sebbene l'LDA venga spesso utilizzato per la riduzione della dimensionalità, è anche un potente strumento di classificazione che assegna le osservazioni alle classi utilizzando funzioni discriminanti, ovvero funzioni che misurano le differenze tra le classi.
Classificazione bayesiana
Gli algoritmi di classificazione bayesiana utilizzano il teorema di Bayes per calcolare la probabilità a posteriori di ciascuna classe dati i dati osservati. Questi algoritmi presuppongono determinate proprietà statistiche dei dati e le loro prestazioni dipendono dalla validità di queste ipotesi. Naive Bayes, ad esempio, presuppone che le caratteristiche siano condizionatamente indipendenti data la classe.
Classificazione k-NN
L'algoritmo k-nearest neighbor (k-NN) è un altro metodo di classificazione ampiamente utilizzato. Sebbene possa essere applicato sia ad attività di regressione che di classificazione, è più comunemente utilizzato per la classificazione. L'algoritmo assegna una classe a un nuovo punto dati in base alle classi dei suoi k vicini più vicini (dove k è una variabile), utilizzando un calcolo della distanza per determinare la prossimità. L'algoritmo k-NN è semplice, efficiente ed efficace quando è presente una struttura locale nei dati. Le sue prestazioni dipendono dalla selezione di una metrica di distanza appropriata e dalla garanzia che i dati presentino modelli locali che possano aiutare nella classificazione
Alberi decisionali e foreste casuali
Gli alberi decisionali sono un algoritmo popolare utilizzato per attività di classificazione. Funzionano suddividendo ricorsivamente i dati in base ai valori delle caratteristiche per prendere una decisione su a quale classe appartiene una determinata osservazione. Tuttavia, gli alberi decisionali tendono a sovrapporsi ai dati di addestramento, catturando il rumore e portando a una varianza elevata. Questo adattamento eccessivo si traduce in una scarsa generalizzazione ai nuovi dati.
Per mitigare l'overfitting, le foreste casuali vengono utilizzate come metodo di ensemble. Una foresta casuale addestra più alberi decisionali in parallelo su sottoinsiemi casuali di dati e ogni albero effettua la propria previsione. La previsione finale viene fatta aggregando le previsioni di tutti gli alberi, tipicamente attraverso il voto a maggioranza. Questo processo, noto come “bagging” (una parola abbreviata per aggregazione bootstrap), riduce la varianza e migliora la capacità del modello di generalizzare ai dati invisibili. Le foreste casuali sono efficaci nel bilanciare bias e varianza, rendendole un robusto algoritmo standard per le attività di classificazione.
Applicazioni della classificazione
Gli algoritmi di classificazione sono ampiamente utilizzati in vari campi per risolvere problemi del mondo reale classificando i dati in gruppi predefiniti. Di seguito sono riportate alcune applicazioni comuni di classificazione, tra cui il riconoscimento facciale, la classificazione dei documenti e la previsione del comportamento dei clienti.
Riconoscimento facciale
I sistemi di riconoscimento facciale abbinano un volto in un video o una foto in tempo reale a un database di volti noti. Sono comunemente usati per l'autenticazione.
Un sistema di sblocco del telefono, ad esempio, inizierebbe utilizzando un sistema di rilevamento facciale, che acquisisce immagini a bassa risoluzione dalla fotocamera orientata al volto ogni pochi secondi e quindi deduce se nell’immagine è presente un volto. Il sistema di rilevamento facciale potrebbe essere un classificatore binario ben addestrato e desideroso che risponda alla domanda “C’è un volto presente o no?”
Un classificatore pigro seguirebbe l’ansioso “C’è una faccia?” classificatore. Utilizzerebbe tutte le foto e i selfie del proprietario del telefono per implementare un'attività di classificazione binaria separata e rispondere alla domanda "Questo volto appartiene a una persona a cui è consentito sbloccare il telefono?" Se la risposta è sì, il telefono si sbloccherà; se la risposta è no, non lo farà.
Classificazione dei documenti
La classificazione dei documenti è una parte cruciale delle moderne strategie di gestione dei dati. I classificatori basati su ML catalogano e classificano un gran numero di documenti archiviati, supportando attività di indicizzazione e ricerca che rendono i documenti e i loro contenuti più utili.
Il lavoro di classificazione dei documenti inizia con la preelaborazione dei documenti. Il loro contenuto viene analizzato e trasformato in rappresentazioni numeriche (poiché i numeri sono più facili da elaborare). Importanti caratteristiche del documento, come le equazioni matematiche, le immagini incorporate e la lingua del documento, vengono estratte dai documenti ed evidenziate affinché gli algoritmi ML possano apprenderle. Questo è seguito da altri compiti di elaborazione simili nello stesso filone.
Un sottoinsieme dei documenti viene quindi classificato manualmente, da esseri umani, per creare un set di dati di addestramento per i sistemi di classificazione. Una volta addestrato, un classificatore catalogherà e classificherà tutti i documenti in entrata rapidamente e su larga scala. Se vengono rilevati errori di classificazione, è possibile aggiungere correzioni manuali ai materiali di formazione per il sistema ML. Di tanto in tanto, il modello di classificazione può essere riqualificato con le correzioni aggiunte e le sue prestazioni verranno migliorate.
Previsione del comportamento del cliente
I negozi di vendita al dettaglio online e di e-commerce raccolgono informazioni granulari e dettagliate sul comportamento dei loro clienti. Queste informazioni possono essere utilizzate per classificare i nuovi clienti e rispondere a domande come "È probabile che questo nuovo cliente effettui un acquisto?" e "L'offerta di uno sconto del 25% influenzerà il comportamento di acquisto di questo cliente?"
Il classificatore viene addestrato utilizzando i dati dei clienti precedenti e il loro comportamento finale, ad esempio se hanno effettuato un acquisto. Man mano che i nuovi clienti interagiscono con la piattaforma, il modello può prevedere se e quando effettueranno un acquisto. Può anche eseguire analisi ipotetiche per rispondere a domande come "Se offro a questo utente uno sconto del 25%, effettuerà un acquisto?"
Vantaggi della classificazione
La classificazione offre numerosi vantaggi nel campo dell'apprendimento automatico, rendendola un approccio ampiamente utilizzato per risolvere i problemi di categorizzazione dei dati. Di seguito, esploriamo alcuni dei principali vantaggi della classificazione, tra cui la sua maturità, flessibilità e capacità di fornire output leggibile dall'uomo.
Ben studiato e compreso
La classificazione è uno dei problemi più studiati e compresi nel campo dell’apprendimento automatico. Di conseguenza, sono disponibili molti toolkit maturi per le attività di classificazione, che consentono agli utenti di bilanciare i compromessi tra velocità, efficienza, utilizzo delle risorse e requisiti di qualità dei dati.
Per valutare le prestazioni di un classificatore sono disponibili tecniche standard, come matrici di accuratezza, precisione, richiamo e confusione. Con questi strumenti può essere relativamente semplice scegliere il sistema di classificazione più appropriato per un dato problema, valutarne le prestazioni e migliorarlo nel tempo.
Fornire output leggibile dall'uomo
I classificatori spesso consentono un compromesso tra potere predittivo e leggibilità umana. Modelli più semplici e più interpretabili, come gli alberi decisionali o la regressione logistica, possono essere ottimizzati per rendere il loro comportamento più facile da comprendere. Questi modelli interpretabili possono essere utilizzati per esplorare le proprietà dei dati, consentendo agli utenti umani di ottenere informazioni approfondite sui dati. Tali informazioni possono quindi guidare lo sviluppo di modelli di machine learning più complessi e accurati.
Svantaggi della classificazione
Sebbene la classificazione sia uno strumento potente nell'apprendimento automatico, presenta alcune sfide e limitazioni. Di seguito vengono discussi alcuni dei principali svantaggi della classificazione, tra cui l'overfitting, l'underfitting e la necessità di un'ampia preelaborazione dei dati di addestramento.
Adattamento eccessivo
Quando si addestrano i modelli di classificazione, è importante ottimizzare il processo di addestramento per ridurre le possibilità che il modello si adatti eccessivamente ai dati. L'overfitting è un problema in cui un modello memorizza alcuni o tutti i suoi dati di origine, invece di sviluppare una comprensione astratta delle relazioni tra i dati. Un modello che ha adattato eccessivamente i dati di addestramento funzionerà bene quando vedrà nuovi dati che somigliano molto ai dati su cui è stato addestrato, ma potrebbe non funzionare altrettanto bene in generale.
Sottodimensionamento
Le prestazioni dei sistemi di classificazione dipendono dalla disponibilità di una quantità sufficiente di dati di addestramento e dall'applicazione a problemi che funzionano bene per gli algoritmi di classificazione scelti. Se non sono disponibili dati di addestramento sufficienti o se uno specifico algoritmo di classificazione non dispone degli strumenti giusti per interpretare correttamente i dati, il modello addestrato potrebbe non imparare mai a fare buone previsioni. Questo fenomeno è noto come “underfitting”. Esistono molte tecniche disponibili per cercare di mitigare l’underfitting e applicarle correttamente non è sempre facile.
Preelaborazione dei dati di addestramento
Molti sistemi di classificazione hanno requisiti relativamente rigidi per la struttura e la formattazione dei dati. Le loro prestazioni sono spesso strettamente correlate al modo in cui i dati sono stati elaborati prima che vengano esposti o addestrati su di essi. Di conseguenza, i sistemi di classificazione possono essere rigidi e inflessibili, avendo confini rigidi attorno ai problemi e ai contesti di dati a cui sono più adatti.