Capitolo 2 : Apprendimento automatico
L'apprendimento automatico (ML) è un sottocampo dell'informatica che si concentra sullo studio e lo sviluppo di tecniche che consentono ai computer di "apprendere" o, più specificamente, tecniche che utilizzano i dati per migliorare le prestazioni di un computer su un determinato insieme di attività.
L'apprendimento automatico, se utilizzato per risolvere le sfide aziendali, è noto anche come analisi predittiva.
Gli algoritmi di apprendimento si basano sull'ipotesi che i metodi, gli algoritmi e i giudizi che hanno avuto successo in passato probabilmente continueranno ad avere successo anche in futuro. Queste deduzioni potrebbero a volte essere evidenti, come quando si dice che "poiché il sole è sorto ogni mattina negli ultimi 10.000 giorni, c'è una buona probabilità che sorga di nuovo domani mattina". In altre occasioni, queste spiegazioni possono essere più sottili, come "l'X per cento delle famiglie ha specie geograficamente diverse con variazioni di colore, il che significa che c'è una probabilità dell'Y per cento che esistano cigni neri sconosciuti".
Arthur Samuel, un lavoratore dell'IBM e un pioniere nel campo dei giochi per computer e dell'intelligenza artificiale, è accreditato come colui che per primo ha usato il termine "apprendimento automatico" nel 1959.
La ricerca dell'intelligenza artificiale ha portato allo sviluppo del campo dell'apprendimento automatico come campo di ricerca (AI). Durante le prime fasi dello sviluppo dell'IA come campo accademico, un certo numero di accademici ha espresso interesse nell'insegnare ai computer ad apprendere dai dati. Hanno tentato di risolvere il problema utilizzando una varietà di metodi simbolici, oltre a quelle che allora erano conosciute come "reti neurali". Queste "reti neurali" consistevano principalmente di percettroni e vari altri modelli che in seguito si sono rivelati essere reinvenzioni dei modelli lineari generalizzati della statistica.
Sebbene l'apprendimento automatico e il data mining utilizzino spesso gli stessi metodi e abbiano una quantità significativa di sovrapposizioni, l'obiettivo principale dell'apprendimento automatico è la previsione, basata sulle proprietà note apprese dai dati di addestramento, mentre l'obiettivo principale del data mining è la scoperta di proprietà (precedentemente sconosciute) nei dati (questa è la fase di analisi della scoperta della conoscenza nei database). Il data mining si avvale di numerose tecniche di machine learning, ma i suoi obiettivi sono distinti da quelli del machine learning. D'altra parte, l'apprendimento automatico utilizza metodi di data mining sotto forma di "apprendimento non supervisionato" o come fase di pre-elaborazione al fine di aumentare la precisione dell'apprendista. Questi due gruppi di ricerca (che spesso tengono conferenze diverse e pubblicazioni separate, con ECML PKDD che ne è un esempio significativo) sono spesso confusi l'uno con l'altro a causa dei presupposti fondamentali in base ai quali entrambi operano, che sono i seguenti: Nel campo dell'apprendimento automatico, le prestazioni sono spesso misurate in termini di capacità di un individuo di ripetere il materiale appreso in precedenza, ma nel campo della scoperta della conoscenza e del data mining (KDD), l'obiettivo principale è quello di portare alla luce informazioni che non erano note in precedenza. Una tecnica non informata (non supervisionata) sarà facilmente superata da altri metodi supervisionati se valutata in relazione alle informazioni esistenti; tuttavia, i metodi supervisionati non possono essere impiegati in un tipico lavoro KDD poiché non ci sono abbastanza dati di addestramento.
Molti problemi di apprendimento sono inquadrati come la minimizzazione di alcune funzioni di perdita su un set di esempi di addestramento, che è un esempio di uno degli stretti collegamenti esistenti tra l'apprendimento automatico e l'ottimizzazione. La varianza che esiste tra le stime del modello di cui si sta eseguendo il training e le occorrenze effettive del problema è rappresentata dalla funzione di perdita (ad esempio, nella classificazione, si desidera assegnare un'etichetta alle istanze e i modelli vengono addestrati per prevedere correttamente le etichette preassegnate di un set di esempi).
L'obiettivo della generalizzazione è ciò che differenzia l'ottimizzazione dall'apprendimento automatico; Mentre le tecniche di ottimizzazione possono ridurre la perdita su un set di addestramento, l'apprendimento automatico si occupa di ridurre la perdita su campioni che non sono stati visti prima. Al momento è in corso una ricerca su una serie di argomenti caldi, uno dei quali sta caratterizzando la generalizzazione di diversi algoritmi di apprendimento, in particolare gli algoritmi di deep learning.
L'obiettivo principale della statistica è trarre conclusioni su una popolazione sulla base delle informazioni raccolte da un campione, mentre l'obiettivo dell'apprendimento automatico è identificare modelli predittivi generalizzabili. Sebbene i due campi condividano una stretta relazione in termini di metodi utilizzati, sono fondamentalmente diversi. dove "modello algoritmico" si riferisce, più o meno, agli algoritmi di apprendimento automatico come la Random Forest.
Alcuni statistici hanno abbracciato le tecniche del tema dell'apprendimento automatico, il che ha portato alla creazione di una disciplina ibrida che questi statistici chiamano apprendimento statistico.
Le tecniche analitiche e computazionali che derivano dalla fisica profondamente radicata dei sistemi disordinati possono essere estese a problemi su larga scala, come quelli che coinvolgono l'apprendimento automatico. Ad esempio, queste tecniche possono essere utilizzate per analizzare lo spazio di peso delle reti neurali profonde. Inoltre, queste tecniche possono essere applicate a problemi su larga scala.
Essere in grado di trarre conclusioni generali da esempi specifici è uno degli obiettivi primari di uno studente. La generalizzazione è la capacità di una macchina che apprende di eseguire correttamente nuove istanze o compiti dopo aver incontrato un set di dati di apprendimento. In questo contesto, la generalizzazione si riferisce alla capacità di una macchina che apprende di funzionare in modo accurato. Gli esempi di addestramento sono presi da una distribuzione di probabilità generalmente sconosciuta, che si ritiene sia rappresentativa dello spazio degli eventi. Lo studente ha il compito di sviluppare un modello generale su questo spazio, che gli consentirà di fare previsioni in nuovi casi sufficientemente accurate.
La teoria dell'apprendimento computazionale è un campo dell'informatica teorica che analizza le prestazioni degli algoritmi di apprendimento automatico attraverso la lente del modello Probably Approximately Correct Learning (PAC). Questo tipo di studio è noto come analisi computazionale degli algoritmi di apprendimento automatico. Nella maggior parte dei casi, la teoria dell'apprendimento non fornisce garanzie sulle prestazioni degli algoritmi. Ciò è dovuto al fatto che i set di allenamento sono limitati e il futuro è inconoscibile. Al suo posto, vengono spesso utilizzati limiti probabilistici sulle prestazioni. Una tecnica per misurare l'errore di generalizzazione è l'uso della decomposizione bis-varianza.
È importante che la complessità dell'ipotesi sia paragonabile alla complessità della funzione che sta alla base dei dati al fine di ottenere le massime prestazioni possibili nel contesto della generalizzazione. Nel caso in cui l'ipotesi sia più semplice della funzione, indica che il modello non ha abbinato adeguatamente i dati. Quando la complessità del modello viene aumentata in risposta, si verifica una corrispondente riduzione della quantità di errore di training. Tuttavia, se l'ipotesi è molto complicata, il modello può essere incline all'overfitting e i risultati della generalizzazione saranno meno accurati.
I teorici dell'apprendimento indagano una varietà di argomenti, tra cui i vincoli di prestazione, la complessità temporale dell'apprendimento e la fattibilità dell'apprendimento. Nel campo della teoria dell'apprendimento computazionale, la fattibilità di un calcolo è determinata dal fatto che possa essere completato o meno in tempo polinomiale. Ci sono due tipi distinti di risultati in termini di complessità temporale: il completamento con successo dell'esperimento dimostra che una certa classe di funzioni può essere appresa in un periodo di tempo polinomiale. Secondo i risultati negativi, alcune lezioni non possono essere apprese in un periodo di tempo polinomiale.
I metodi tradizionali per l'apprendimento automatico possono essere ampiamente classificati in uno dei tre gruppi, che corrispondono a diversi paradigmi di apprendimento. Queste categorie sono determinate dal tipo di "segnale" o "feedback" che viene reso accessibile al sistema di apprendimento:
Lo scopo dell'apprendimento supervisionato è che il computer impari una regola generale che mappa gli input con gli output mostrando esempi di input e gli output previsti per tali input. Questi esempi vengono consegnati al computer da un "insegnante".
L'apprendimento non supervisionato è un tipo di apprendimento automatico in cui l'algoritmo di apprendimento non è dotato di alcuna etichetta ed è invece lasciato a scoprire la struttura da solo all'interno dei dati che gli vengono forniti. La scoperta di modelli precedentemente nascosti nei dati può essere uno scopo dell'apprendimento non supervisionato in sé e per sé, oppure potrebbe essere un mezzo per raggiungere un fine (feature learning).
L'apprendimento per rinforzo si verifica quando un programma per computer interagisce con un ambiente dinamico in cui è necessario...