Apprendimento non supervisionato: come le macchine apprendono da sole

Pubblicato: 2021-03-19

L'apprendimento non supervisionato consente alle macchine di apprendere da sole.

Questo tipo di machine learning (ML) garantisce alle applicazioni di intelligenza artificiale la capacità di apprendere e trovare modelli nascosti in grandi set di dati senza la supervisione umana. Anche l'apprendimento senza supervisione è fondamentale per il raggiungimento degli obiettivi   intelligenza artificiale generale.

L'etichettatura dei dati è laboriosa, dispendiosa in termini di tempo e, in molti casi, poco pratica. È qui che l'apprendimento non supervisionato apporta una grande differenza, garantendo alle applicazioni di intelligenza artificiale la capacità di apprendere senza etichette e supervisione.

Che cos'è l'apprendimento non supervisionato?

L'apprendimento non supervisionato (UL) è una tecnica di apprendimento automatico utilizzata per identificare modelli in set di dati contenenti punti dati non classificati e senza etichetta. In questo metodo di apprendimento, a un sistema di intelligenza artificiale vengono forniti solo i dati di input e nessun dato di output corrispondente.

A differenza dell'apprendimento supervisionato , l'apprendimento automatico non supervisionato non richiede un essere umano per supervisionare il modello. Il data scientist consente alla macchina di apprendere osservando i dati e trovando modelli da sola. In altre parole, questa sottocategoria dell'apprendimento automatico consente a un sistema di agire sulle informazioni fornite senza alcuna guida esterna.

Le tecniche di apprendimento senza supervisione sono fondamentali per creare sistemi di intelligenza artificiale con l'intelligenza umana. Questo perché le macchine intelligenti devono essere in grado di prendere decisioni (indipendenti) analizzando grandi volumi di dati senza tag.

Rispetto agli algoritmi di apprendimento supervisionato, gli algoritmi UL sono più abili nell'esecuzione di compiti complessi. Tuttavia, i modelli di apprendimento supervisionato producono risultati più accurati poiché un tutor dice esplicitamente al sistema cosa cercare nei dati forniti. Ma nel caso dell'apprendimento non supervisionato, le cose possono essere piuttosto imprevedibili.

Reti neurali artificiali, che fanno   apprendimento approfondito   una realtà, potrebbe sembrare che sia supportata da un apprendimento non supervisionato. Sebbene sia vero, gli algoritmi di apprendimento delle reti neurali possono anche essere supervisionati se l'output desiderato è già noto.

L'apprendimento senza supervisione può essere un obiettivo in sé. Ad esempio, i modelli UL possono essere utilizzati per trovare modelli nascosti in enormi volumi di dati e persino per classificare ed etichettare punti dati. Il raggruppamento di punti dati non ordinati viene eseguito identificando le loro somiglianze e differenze.

Alcuni motivi per cui l'apprendimento non supervisionato è essenziale.

  • I dati senza etichetta sono in abbondanza.
  • L'etichettatura dei dati è un compito noioso che richiede il lavoro umano. Tuttavia, lo stesso processo può essere alimentato da ML, rendendo l'etichettatura più facile per gli esseri umani coinvolti.
  • È utile per esplorare dati sconosciuti e grezzi.
  • È utile per eseguire il riconoscimento del modello in grandi set di dati.
L'apprendimento non supervisionato può essere ulteriormente suddiviso in due categorie: apprendimento non supervisionato parametrico e apprendimento non supervisionato non parametrico .

Come funziona l'apprendimento senza supervisione

In poche parole, l'apprendimento non supervisionato funziona analizzando dati non classificati e senza etichetta e trovando strutture nascoste al loro interno.

Nell'apprendimento supervisionato, uno scienziato dei dati alimenta il sistema con dati etichettati, ad esempio le immagini di gatti etichettati come gatti, consentendogli di apprendere con l'esempio. Nell'apprendimento non supervisionato, uno scienziato dei dati fornisce solo le foto ed è responsabilità del sistema analizzare i dati e concludere se si tratta di immagini di gatti.

L'apprendimento automatico non supervisionato richiede enormi volumi di dati. Nella maggior parte dei casi, lo stesso vale per l'apprendimento supervisionato poiché il modello diventa più accurato con più esempi.

Il processo di apprendimento non supervisionato inizia con i data scientist che addestrano gli algoritmi utilizzando i set di dati di addestramento. I punti dati in questi set di dati non sono etichettati e non sono classificati.

L'obiettivo di apprendimento dell'algoritmo è identificare i modelli all'interno del set di dati e classificare i punti dati in base agli stessi modelli identificati. Nell'esempio delle immagini dei gatti, l'algoritmo di apprendimento senza supervisione può imparare a identificare le caratteristiche distintive dei gatti, come i baffi, la coda lunga e gli artigli retrattili.

Se ci pensi, l'apprendimento non supervisionato è il modo in cui impariamo a identificare e classificare le cose. Supponiamo che tu non abbia mai assaggiato il ketchup o la salsa al peperoncino. Se ti vengono date due bottiglie "senza etichetta" di ketchup e salsa di peperoncino ciascuna e ti viene chiesto di assaggiarle, sarai in grado di differenziare i loro sapori.

Sarai anche in grado di identificare le particolarità di entrambe le salse (una acida e l'altra piccante) anche se non conosci i nomi di nessuna delle due. Assaggiarli un paio di volte ti renderà più familiare con il sapore. Presto potrai raggruppare i piatti in base alla salsa aggiunta solo assaggiandoli.

Analizzando il gusto si possono trovare le specificità che differenziano le due salse e le pietanze di gruppo. Non è necessario conoscere i nomi delle salse o quello dei piatti per classificarle. Potresti anche finire per chiamare uno la salsa dolce e l'altro salsa piccante .

Questo è simile al modo in cui le macchine identificano i modelli e classificano i punti dati con l'aiuto dell'apprendimento non supervisionato. Nello stesso esempio, l'apprendimento supervisionato sarebbe qualcuno che ti dice in anticipo i nomi di entrambe le salse e il loro sapore.

Tipi di apprendimento non supervisionato

I problemi di apprendimento senza supervisione possono essere classificati in problemi di raggruppamento e di associazione .

Raggruppamento

Il clustering o l'analisi dei cluster è il processo di raggruppamento di oggetti in cluster. Gli elementi con più somiglianze sono raggruppati, mentre il resto rientra in altri gruppi. Un esempio di raggruppamento potrebbe essere il raggruppamento degli utenti di YouTube in base alla loro cronologia di visualizzazione.

A seconda di come funzionano, il clustering può essere classificato in quattro gruppi come segue:

  • Clustering esclusivo: come suggerisce il nome, il clustering esclusivo specifica che un punto dati o un oggetto può esistere solo in un cluster.
  • Clustering gerarchico: Hierarchical tenta di creare una gerarchia di cluster. Esistono due tipi di raggruppamento gerarchico: agglomerato e divisivo . Agglomerative segue l'approccio dal basso verso l'alto, inizialmente tratta ogni punto dati come un singolo cluster e le coppie di cluster vengono unite man mano che salgono nella gerarchia. Divisivo è l'esatto opposto di agglomerato. Ogni punto dati inizia in un singolo cluster e viene suddiviso man mano che si spostano verso il basso nella gerarchia.
  • Clustering sovrapposto: la sovrapposizione consente di raggruppare un punto dati in due o più cluster.
  • Clustering probabilistico: il probabilistico utilizza le distribuzioni di probabilità per creare cluster. Ad esempio, "calzini verdi", "calzini blu", "t-shirt verde" e "t-shirt blu" possono essere raggruppati in due categorie "verde" e "blu" o "calzini" e "t-shirt ".

Associazione

L'apprendimento delle regole di associazione (ARL) è un metodo di apprendimento non supervisionato utilizzato per trovare relazioni tra variabili in database di grandi dimensioni. A differenza di alcuni algoritmi di apprendimento automatico, ARL è in grado di gestire punti dati non numerici.

In un senso più semplice, ARL riguarda il modo in cui determinate variabili sono associate tra loro. Ad esempio, le persone che acquistano una moto hanno maggiori probabilità di acquistare un casco.

Trovare tali relazioni può essere redditizio. Ad esempio, se i clienti che acquistano il Prodotto X tendono ad acquistare il Prodotto Y, un rivenditore online può consigliare il Prodotto Y a chiunque acquisti il ​​Prodotto X.

L'apprendimento delle regole di associazione utilizza le istruzioni if/then nel suo nucleo. Queste affermazioni possono rivelare associazioni tra dati indipendenti. Inoltre, i modelli o le relazioni if/then vengono osservati utilizzando il supporto e la fiducia .

Il supporto specifica la frequenza con cui la relazione if/then appare nel database. Confidence definisce il numero di volte in cui la relazione if/then è risultata valida.

Analisi del paniere di mercato   e   mining di utilizzo del web   sono possibili con il regolamento di associazione.

Algoritmi di apprendimento senza supervisione

Sia il clustering che l'apprendimento delle regole di associazione vengono implementati con l'aiuto di algoritmi.

L'algoritmo Apriori, l'algoritmo ECLAT e l'algoritmo di crescita del modello frequente (FP) sono alcuni degli algoritmi più importanti utilizzati per implementare la regola di associazione. Il clustering è reso possibile da algoritmi come il clustering k-mean e l'analisi dei componenti principali (PCA).

Algoritmo Apriori

L'algoritmo Apriori è costruito per il data mining. È utile per l'estrazione di database contenenti un gran numero di transazioni, ad esempio un database contenente l'elenco degli articoli acquistati dagli acquirenti in un supermercato. Viene utilizzato per identificare gli effetti dannosi dei farmaci e nell'analisi del paniere di mercato per trovare l'insieme di articoli che è più probabile che i clienti acquistino insieme.

Algoritmo ECLAT

Il clustering della classe di equivalenza e il Lattice Traversal bottom-up , o ECLAT in breve, è un algoritmo di data mining utilizzato per ottenere il mining di set di elementi e trovare elementi frequenti.

L'algoritmo Apriori utilizza il formato dati orizzontale e quindi deve scansionare il database più volte per identificare gli elementi frequenti. D'altra parte, ECLAT segue un approccio verticale ed è generalmente più veloce in quanto deve scansionare il database una sola volta.

Algoritmo di crescita del modello frequente (FP).

L' algoritmo di crescita del modello frequente (FP) è una versione migliorata dell'algoritmo Apriori. Questo algoritmo rappresenta il database sotto forma di una struttura ad albero nota come albero frequente o modello .

Un albero così frequente viene utilizzato per estrarre i modelli più frequenti. Mentre l'algoritmo Apriori deve scansionare il database n+1 volte (dove n è la lunghezza del modello più lungo), l'algoritmo di crescita FP richiede solo due scansioni.

K-mezzi di raggruppamento

Molte iterazioni dell'algoritmo k-mean sono ampiamente utilizzate nel campo della scienza dei dati. In poche parole, l'algoritmo di clustering k-means raggruppa elementi simili in cluster. Il numero di cluster è rappresentato da k . Quindi se il valore di k è 3, ci saranno tre cluster in totale.

Questo metodo di raggruppamento divide il set di dati senza etichetta in modo che ogni punto dati appartenga a un solo gruppo con proprietà simili. La chiave è trovare centri K chiamati centroidi del cluster .

Ogni cluster avrà un centroide del cluster e, vedendo un nuovo punto dati, l'algoritmo determinerà il cluster più vicino a cui appartiene il punto dati in base a metriche come la distanza euclidea.

Analisi delle componenti principali (PCA)

L' analisi dei componenti principali (PCA) è un metodo di riduzione della dimensionalità generalmente utilizzato per ridurre la dimensionalità di grandi set di dati. Lo fa convertendo un gran numero di variabili in una più piccola che contiene quasi tutte le informazioni nel grande set di dati.

La riduzione del numero di variabili potrebbe influire leggermente sull'accuratezza, ma potrebbe essere un compromesso accettabile per semplicità. Questo perché i set di dati più piccoli sono più facili da analizzare e gli algoritmi di apprendimento automatico non devono faticare molto per ricavare informazioni preziose.

Apprendimento supervisionato e non supervisionato

L'apprendimento supervisionato è simile al fatto che un insegnante supervisioni l'intero processo di apprendimento. C'è anche un set di dati di addestramento etichettato simile all'avere le risposte corrette a ogni problema che stai cercando di risolvere.

È più facile capire se la tua risposta è corretta o meno e l'insegnante ti correggerà anche quando commetti un errore. Nel caso dell'apprendimento non supervisionato, non ci sono insegnanti o risposte giuste.

Dal punto di vista computazionale, l'apprendimento non supervisionato è più complicato e richiede tempo rispetto all'apprendimento supervisionato. Tuttavia, è utile per il data mining e per ottenere informazioni dettagliate sulla struttura dei dati prima di assegnare qualsiasi classificatore (un algoritmo di apprendimento automatico che classifica automaticamente i dati).

Nonostante sia utile quando i dati senza etichetta sono enormi, l'apprendimento non supervisionato potrebbe causare piccoli inconvenienti ai data scientist. Poiché anche il set di dati di convalida utilizzato nell'apprendimento supervisionato è etichettato, è più facile per i data scientist misurare l'accuratezza dei modelli. Ma lo stesso non vale per i modelli di apprendimento senza supervisione.

In molti casi, l'apprendimento non supervisionato viene applicato prima dell'apprendimento supervisionato. Questo aiuta a identificare le caratteristiche e creare classi.

Il processo di apprendimento non supervisionato avviene online, mentre l'apprendimento supervisionato avviene offline. Ciò consente agli algoritmi UL di elaborare i dati in tempo reale.

Mentre i problemi di apprendimento non supervisionato sono divisi in problemi di associazione e raggruppamento, l'apprendimento supervisionato può essere ulteriormente classificato in regressione e classificazione.

Oltre all'apprendimento supervisionato e non supervisionato, c'è l'apprendimento semi-supervisionato e l'apprendimento per rinforzo .

L'apprendimento semi-supervisionato è una miscela di apprendimento supervisionato e non supervisionato. In questa tecnica di apprendimento automatico, il sistema viene addestrato solo un po' in modo da ottenere una panoramica di alto livello. Una frazione dei dati di addestramento verrà etichettata e i restanti saranno privi di etichetta.

Nell'apprendimento per rinforzo (RL) , il sistema di intelligenza artificiale incontrerà un ambiente simile a un gioco in cui deve massimizzare la ricompensa. Il sistema deve imparare seguendo il metodo per tentativi ed errori e aumentare le sue possibilità di ottenere la ricompensa ad ogni passaggio.

Ecco una rapida occhiata alle differenze chiave tra apprendimento supervisionato e non supervisionato.

Apprendimento senza supervisione Apprendimento supervisionato
È un processo complesso, richiede più risorse di calcolo e richiede tempo. È relativamente semplice e richiede meno risorse di calcolo.
Il set di dati di addestramento non è etichettato. Il set di dati di addestramento è etichettato.
Meno preciso, ma non necessariamente Altamente preciso
Diviso in associazione e raggruppamento Diviso in regressione e classificazione
È complicato misurare l'accuratezza del modello insieme all'incertezza. È più facile misurare la precisione del modello.
Il numero di classi è sconosciuto. Il numero di classi è noto.
L'apprendimento avviene in tempo reale. L'apprendimento avviene offline.
Apriori, ECLAT, k-means clustering e algoritmo di crescita del modello frequente (FP) sono alcuni degli algoritmi utilizzati. Regressione lineare, regressione logistica, Naive Bayes e Support Vector Machine (SVM) sono alcuni degli algoritmi utilizzati.

Esempi di apprendimento automatico non supervisionato

Come accennato in precedenza, l'apprendimento non supervisionato può essere un obiettivo in sé e può essere utilizzato per trovare schemi nascosti in vasti volumi di dati, un compito irrealistico per gli esseri umani.

Alcune applicazioni del mondo reale dell'apprendimento automatico non supervisionato.

  • Rilevamento delle anomalie: è un processo di ricerca di punti dati atipici nei set di dati e, quindi, utile per rilevare attività fraudolente.
  • Visione artificiale: noto anche come   riconoscimento delle immagini, questa impresa di identificare oggetti nelle immagini è essenziale per le auto a guida autonoma e persino preziosa per il settore sanitario per la segmentazione delle immagini.
  • Sistemi di raccomandazione: analizzando i dati storici, gli algoritmi di apprendimento senza supervisione consigliano i prodotti che è più probabile che un cliente acquisterà.
  • Customer persona: l'apprendimento non supervisionato può aiutare le aziende a creare customer personas accurati analizzando i dati sulle abitudini di acquisto.

Lasciando gli algoritmi ai propri dispositivi

La capacità di apprendere da solo rende l'apprendimento non supervisionato il modo più veloce per analizzare enormi volumi di dati. Naturalmente, la scelta tra l'apprendimento supervisionato o non supervisionato (o anche semi-supervisionato) dipende dal problema che stai cercando di risolvere e dal tempo e dalla vastità dei dati disponibili. Tuttavia, l'apprendimento non supervisionato può rendere l'intero sforzo più scalabile.

L'IA che abbiamo oggi non è in grado di dominare il mondo, per non parlare di disobbedire agli ordini dei suoi creatori. Ma rende possibili imprese incredibili come auto a guida autonoma e chatbot. Si chiama IA stretta ma non è così debole come sembra.