Visualizzazione post con etichetta reinforcment learning. Mostra tutti i post
Visualizzazione post con etichetta reinforcment learning. Mostra tutti i post

sabato 14 agosto 2021

Il Machine learning per navigare nel mare burrascoso dei dati

 

Fin dalla nascita siamo inondati dai dati. I sensori del nostro corpo - occhi, orecchie, naso, lingua e nervi - sono continuamente assaliti da dati che il nostro cervello traduce in immagini, suoni, odori, sapori e consistenza. Usando il linguaggio, siamo poi in grado di condividere queste esperienze con gli altri.

Dall'avvento del linguaggio scritto, gli uomini hanno registrato le loro osservazioni. I cacciatori primitivi monitoravano il movimento delle mandrie, i primi astronomi registravano l'allineamento di pianeti e stelle e le città registravano pagamenti fiscali, nascite e morti. Oggi, tale osservazioni, e molte altre, sono sempre più automatizzate e registrate sistematicamente in database in continua crescita.

L'invenzione dei sensori elettronici ha inoltre contribuito a un'esplosione del volume e della ricchezza dei dati registrati. Sensori specializzati vedono, sentono, odorano e gustano. Questi sensori elaborano i dati in modo molto diverso da come farebbe un essere umano. A differenza dell'attenzione limitata e soggettiva di un essere umano, un sensore elettronico non si prende mai una pausa e non lascia mai che il suo giudizio distorca la sua percezione.

Sebbene i sensori non siano influenzati dalla soggettività, essi non riportano necessariamente una rappresentazione unica e definitiva della realtà. Alcuni hanno un errore di misurazione intrinseco, a causa di limitazioni hardware. Altri sono limitati dalla loro portata. Una fotografia in bianco e nero fornisce una rappresentazione diversa del soggetto rispetto a uno scatto a colori. Allo stesso modo, un microscopio fornisce una rappresentazione della realtà molto diversa rispetto a un telescopio.

Nei database grazie ai sensori, vengono registrati molti aspetti della nostra vita. Governi, aziende e individui registrano e riportano informazioni di tutti i tipi. I sensori meteorologici per esempio registrano i dati di temperatura e pressione, le telecamere di sorveglianza osservano i marciapiedi e le gallerie della metropolitana; vengono monitorati tutti i tipi di comportamenti elettronici: transazioni, comunicazioni, amicizie e molti altri.

Questo tempesta di dati ha portato alcuni ad affermare che siamo entrati nell’era dei Big Data, ma questo potrebbe essere un termine improprio. Gli esseri umani sono sempre stati circondati da grandi quantità di dati. Ciò che rende unica l'era attuale è che disponiamo di enormi quantità di dati registrati, molti dei quali sono accessibili direttamente dai computer. Set di dati sempre più grandi e più interessanti sono accessibili con una semplice ricerca web.

Il campo di studio interessato allo sviluppo di algoritmi informatici per trasformare i dati in azioni intelligenti è noto come machine learning. Questo campo ha avuto origine in un ambiente in cui i dati disponibili, i metodi statistici e la potenza di calcolo si sono evoluti rapidamente e simultaneamente.





 La crescita dei dati ha richiesto una potenza di calcolo aggiuntiva, che a sua volta ha stimolato lo sviluppo di metodi statistici per analizzare set di dati di grandi dimensioni. Ciò ha consentito la raccolta di dati ancora più abbondanti e interessanti. Una tecnica strettamente correlata all'apprendimento automatico, il data mining, si occupa invece della generazione di nuove informazioni da grandi database. Il data mining prevede uno scavo sistematico delle pepite di “intelligenza utilizzabili” nelle miniere dei dati disponibili. Sebbene vi sia un certo disaccordo su quanto l'apprendimento automatico e il data mining si sovrappongano, un potenziale punto di distinzione è che l'apprendimento automatico si concentra sull'insegnamento ai computer su come utilizzare i dati per prevedere cosa succedera’ in futuro, mentre il data mining si concentra sull'insegnamento ai computer su come utilizzare i dati per capire cosa e’ successo nel passato.

Praticamente tutto il data mining implica l'uso del machine learning, ma non tutto il machine learning coinvolge il data mining. Per esempio e’ possibile applicare l'apprendimento automatico ai dati sul traffico automobilistico per individuare grazie ai modelli di data mining i pattern interessanti relativi ai tassi di incidenti; d'altra parte, se il computer sta imparando a guidare l'auto da solo, si tratta di un puro apprendimento automatico senza data mining.

La maggior parte delle persone ha sentito parlare del computer Deep Blu che gioca a scacchi, il primo a vincere una partita contro un campione del mondo, o di Watson, il computer che ha sconfitto due avversari umani nel programma televisivo Jeopardy. Sulla base di questi straordinari risultati, alcuni hanno ipotizzato che l'intelligenza artificiale sostituirà gli esseri umani in molte occupazioni di tecnologia dell'informazione, proprio come le macchine hanno sostituito gli umani nei campi e i robot hanno sostituito gli umani sulla catena di montaggio.

La verità è che anche quando le macchine raggiungono traguardi così impressionanti, sono ancora relativamente limitate nella loro capacità di comprendere a fondo un problema. Sono pura potenza intellettuale ma senza direzione. Un computer può essere più capace di un essere umano a trovare schemi in grandi database, ma ha comunque bisogno di un essere umano per motivare l'analisi e trasformare il risultato in un'azione significativa.

Le macchine non sono brave a fare domande, e non sanno quali domande porre. Sono molto più brave a rispondere, a condizione che la domanda sia formulata in un modo che esse possono comprendere. Gli attuali algoritmi di machine learning collaborano con le persone in modo simile ai segugi che aiutano i loro padroni; l'olfatto del cane può essere di gran lunga più sviluppato di quello del suo padrone, ma senza essere diretto con attenzione, il cane può finire a rincorrersi la coda.

L'apprendimento automatico ha più successo quando aumenta, anziché sostituisce, la conoscenza specializzata di un esperto in materia. Lavora con medici in prima linea nella lotta per sradicare il cancro, assiste ingegneri e programmatori per creare case e automobili più intelligenti e aiuta gli scienziati sociali a costruire la conoscenza di come funzionano le società. A tal fine, è impiegato in innumerevoli aziende, laboratori scientifici, ospedali e organizzazioni governative. Qualsiasi organizzazione che genera o aggrega dati probabilmente utilizza almeno un algoritmo di apprendimento automatico per dare un senso alla grande mole di dati.

Sebbene sia impossibile elencare tutti i casi d'uso dell'apprendimento automatico, un sondaggio sulle recenti storie di successo include diverse applicazioni importanti:

Identificazione di messaggi spam nella posta elettronica Segmentazione del comportamento dei clienti per pubblicità mirata

Previsioni del tempo meteorologico e dei cambiamenti climatici a lungo termine

 Riduzione delle transazioni fraudolente con carta di credito

 Stime attuariali dei danni finanziari di tempeste e calamità naturali

 Previsione dei risultati delle elezioni popolare

Sviluppo di algoritmi per droni a pilotaggio automatico e auto a guida autonoma

 Proiezione delle aree in cui l'attività criminale è più probabile

 Scoperta di sequenze genetiche legate a malattie

Indipendentemente dal contesto, il processo di apprendimento automatico è lo stesso. Un algoritmo infatti prende i dati e identifica i modelli che costituiscono la base per ulteriori azioni.

Sebbene l'apprendimento automatico sia ampiamente utilizzato e abbia un enorme potenziale, è importante comprenderne i limiti. L'apprendimento automatico, in questo momento, non è in alcun modo un sostituto del cervello umano. Ha pochissima flessibilità a fare estrapolazioni al di fuori dei rigidi parametri che ha appreso e non conosce il buon senso. Con questo in mente, si dovrebbe essere estremamente attenti a riconoscere esattamente ciò che l'algoritmo ha appreso prima di lasciarlo libero nel mondo reale.

Senza una vita di esperienze passate su cui basarsi, i computer sono anche limitati nella loro capacità di fare semplici inferenze di buon senso sui passaggi logici successivi.

Molti hanno familiarità con le carenze della capacità dell'apprendimento automatico di comprendere o tradurre una lingua o di riconoscere  parole e scrittura a mano. Forse il primo esempio di questo tipo di fallimento è in un episodio del 1994 della serie televisiva, I Simpsons, che mostrava una parodia del tablet Apple Newton.

La capacità delle macchine di comprendere il linguaggio è migliorata abbastanza dal 1994, tanto che Google, Apple e Microsoft sono tutte abbastanza sicure da offrire servizi virtuali gestiti tramite riconoscimento vocale. Tuttavia, anche questi servizi fanno regolarmente fatica a rispondere a domande relativamente semplici. Inoltre, i servizi di traduzione online a volte interpretano erroneamente frasi che un bambino potrebbe facilmente capire. La funzione di scrittura predittiva su molti dispositivi ha anche portato a una serie di divertenti siti di errore di correzione automatica che illustrano la capacità del computer di comprendere il linguaggio di base ma di fraintendere completamente il contesto.

Una definizione formale di apprendimento automatico proposta dallo scienziato informatico Tom M. Mitchell afferma che una macchina impara ogni volta che è in grado di utilizzare la sua esperienza per migliorare le sue prestazioni future su esperienze simili. Sebbene questa definizione sia intuitiva, ignora completamente il processo di come esattamente l'esperienza può essere tradotta in azioni future e, naturalmente, l'apprendimento è sempre più facile a dirsi che a farsi!

Contrariamente ai cervelli umani naturalmente in grado di apprendere fin dalla nascita, le condizioni necessarie affinché i computer apprendano devono essere rese esplicite. Per questo motivo, sebbene non sia strettamente necessario comprendere le basi teoriche dell'apprendimento, questa base aiuta a comprendere, distinguere e implementare algoritmi di apprendimento automatico. Indipendentemente dal fatto che lo studente sia un essere umano o una macchina, il processo di apprendimento di base è simile. Esso può essere suddiviso in quattro componenti correlate.

La memorizzazione dei dati utilizza l'osservazione, la memoria e il richiamo per fornire una base fattuale per ulteriori ragionamenti.

 L'astrazione implica la traduzione dei dati memorizzati in rappresentazioni e concetti più ampi.

    La generalizzazione utilizza dati astratti per creare conoscenze e inferenze che guidano l'azione in nuovi contesti.

    La valutazione fornisce un meccanismo di feedback per misurare l'utilità della conoscenza acquisita e informare potenziali miglioramenti.

La figura seguente illustra le quattro fasi alla base del processo di apprendimento:

 


 

Tenere presente che, il processo di apprendimento e’ stato concettualizzato in quattro componenti distinte, solo per uno scopo illustrativo. In realtà, l'intero processo di apprendimento è indissolubilmente inter-correlato. Negli esseri umani, il processo avviene inconsciamente. Ricordiamo, deduciamo, induciamo e intuiamo con i confini dell'occhio della nostra mente, e poiché questo processo è nascosto, eventuali differenze da persona a persona sono attribuite a una vaga nozione di soggettività. Al contrario, con i computer questi processi sono espliciti e poiché l'intero processo è trasparente, le conoscenze apprese possono essere esaminate, trasferite e utilizzate per azioni future.  Tutto l'apprendimento ovviamente deve iniziare con i dati. Sia gli esseri umani che i computer utilizzano l'archiviazione dei dati come base per ragionamenti più avanzati. In un essere umano, questo è costituito da un cervello che utilizza segnali elettrochimici in una rete di cellule biologiche per memorizzare ed elaborare le osservazioni per il richiamo futuro a breve e lungo termine. I computer hanno capacità simili di richiamo a breve e lungo termine utilizzando l’unità di disco rigido, la memoria flash e la memoria ad accesso casuale (RAM) in combinazione con un'unità di elaborazione centrale (CPU).

Può sembrare ovvio, ma la capacità di archiviare e recuperare i dati da sola non è sufficiente per l'apprendimento. Senza un livello di comprensione superiore, la conoscenza è limitata esclusivamente al richiamo, intendendo esclusivamente ciò che si vede prima e nient'altro. I dati dopo tutto sono solo una successione di uno e zero su un disco. Sono ricordi immagazzinati senza un significato più ampio. Per comprendere meglio le sfumature di questa idea, può essere utile pensare all'ultima volta che abbiamo studiato per una prova difficile, magari per un esame finale universitario o la discussione della Tesi. Nel caso in cui sia stata utilizzata quella che si chiama una memoria eidetica (fotografica) si potrebbe rimanere delusi nell'apprendere che è improbabile che il richiamo perfetto sia di grande aiuto. Anche se si potesse memorizzare perfettamente tutto il materiale, l’apprendimento meccanico non sarebbe di alcuna utilità, a meno che non si conoscano in anticipo le domande e le risposte esatte.  Altrimenti, si rimarebbe  bloccati nel tentativo di memorizzare le risposte a ogni domanda che si potrebbe plausibilmente fare. Ovviamente, questa è una strategia insostenibile.

Un approccio migliore invece è quello di trascorrere il tempo in modo selettivo, memorizzando un piccolo insieme di idee rappresentative mentre si sviluppano strategie su come le idee si relazionano e su come utilizzare le informazioni memorizzate. In questo modo, le idee di grandi dimensioni possono essere comprese senza bisogno di memorizzarle a memoria.

Questo lavoro di assegnazione di un significato ai dati memorizzati si verifica durante il cosiddetto processo di astrazione, in cui i dati grezzi assumono un significato più astratto. Questo tipo di connessione, tra un oggetto e la sua rappresentazione, è semplificato dal famoso dipinto di René Magritte, The Treachery of Images:

 



 Il dipinto raffigura una pipa con la dicitura “Ceci n'est pas une pipe” (questa non è una pipa). Il punto che Magritte ha cercato di illustrare è che la rappresentazione di una pipa non è veramente una pipa. Tuttavia, nonostante il fatto che la pipa non sia reale, chiunque veda il dipinto lo riconosce facilmente come una pipa. Ciò suggerisce che la mente dell'osservatore è in grado di collegare l'immagine di una pipa all'idea di una pipa, al ricordo di una pipa fisica che potrebbe essere tenuta in mano. Connessioni astratte come queste sono la base della rappresentazione della conoscenza, la formazione di strutture logiche che aiutano a trasformare le informazioni sensoriali grezze in una visione significativa. Durante il processo di rappresentazione della conoscenza di una macchina, il computer riassume i dati memorizzati utilizzando un modello, una descrizione esplicita dei modelli all'interno dei dati. Proprio come la pipa di Magritte, il modello assume una vita al di là dei dati. Rappresenta un'idea più grande della somma delle sue parti. Esistono molti tipi diversi di modelli.

Equazioni matematiche

 Diagrammi relazionali come alberi e grafici

 Regole logiche if/else

 Raggruppamenti di dati noti come clusters

La scelta del modello in genere non è lasciata alla macchina. E’ l'attività di apprendimento dei dati a disposizione, invece che aiuta nella selezione del modello.

Il processo di adattamento di un modello a un set di dati è noto come addestramento (training). Quando il modello è stato addestrato, i dati vengono trasformati in una forma astratta che riassume le informazioni originali.

La rappresentazione assume una vita al di là dei dati.

 



La maggior parte dei modelli sviluppati non portano a grandi scoperte scientifiche. Alcuni di essi comunque portano alla scoperta di relazioni mai viste prima tra i dati. Un modello addestrato su dati genomici potrebbe trovare diversi geni che, se combinati, potrebbero essere responsabili dell'insorgenza del diabete; le banche potrebbero scoprire un tipo di transazione apparentemente innocuo che appare sistematicamente prima di un'attività fraudolenta; gli psicologi potrebbero identificare una combinazione di caratteristiche della personalità che indicano un nuovo disturbo. Questi modelli sottostanti ai dati sono stati sempre li, e’ solo un modo di presentare le informazioni in un formato diverso, viene concettualizzato in una nuova idea.

Il processo di apprendimento non è completo finché lo studente/computer non è in grado di utilizzare la sua conoscenza astratta per azioni future. Tuttavia, tra gli innumerevoli modelli sottostanti che potrebbero essere identificati durante il processo di astrazione e la miriade di modi per costruire questi modelli, alcuni saranno più utili di altri. A meno che il processo di astrazione non sia limitato, lo studente/computer non sarà in grado di procedere. Sarebbe bloccato dove è iniziato, con un ampio pool di informazioni, ma nessuna intuizione utilizzabile.

Il termine generalizzazione descrive il processo di trasformazione della conoscenza astratta in una forma che può essere utilizzata per azioni future, su compiti simili, ma non identici, a quelli visti prima. La generalizzazione è un processo difficile da descrivere. Tradizionalmente, è stato immaginato come una ricerca attraverso l'intero insieme di modelli (cioè teorie o inferenze) che potrebbero essere astratte durante l'allenamento. In altre parole, se puoi immaginare un ipotetico set contenente ogni possibile teoria che potrebbe essere stabilita dai dati, la generalizzazione implica la riduzione di questo insieme ad un numero gestibile di scoperte.

Nella generalizzazione, lo studente/computer ha il compito di limitare i modelli che scopre solo a quelli che saranno più rilevanti per i suoi compiti futuri. In generale, non è possibile ridurre il numero di modelli esaminandoli uno ad uno e classificandoli in base all'utilità futura. Invece, gli algoritmi di apprendimento automatico utilizzano generalmente scorciatoie che riducono velocemente lo spazio di ricerca. A tal fine, l'algoritmo utilizza le cosiddette euristiche, cioe’ le ipotesi plausibili con cui trovare le inferenze più utili. L'euristica viene abitualmente utilizzata dagli esseri umani per generalizzare rapidamente l'esperienza a nuovi scenari. L'incredibile capacità umana di prendere decisioni rapide spesso non si basa sulla logica del computer, ma piuttosto su euristiche guidate dalle emozioni. A volte, questo può portare a conclusioni illogiche. Ad esempio, più persone esprimono paura dei viaggi aerei rispetto ai viaggi in automobile, nonostante le automobili siano statisticamente più pericolose. Ciò può essere spiegato dalla disponibilità euristica, che è la tendenza delle persone a stimare la probabilità di un evento in base alla facilità con cui i suoi esempi possono essere richiamati. Gli incidenti che coinvolgono i viaggi aerei sono molto pubblicizzati. Trattandosi di eventi traumatici, è probabile che vengano ricordati molto facilmente, mentre gli incidenti automobilistici meritano a malapena una menzione sul giornale.

La follia delle euristiche applicate in modo errato non è limitata agli esseri umani. Anche le euristiche impiegate dagli algoritmi di apprendimento automatico a volte portano a conclusioni errate. Si dice che l'algoritmo abbia un pregiudizio se le conclusioni sono sistematicamente errate o sbagliate in modo prevedibile.

Ad esempio, supponiamo che un algoritmo di apprendimento automatico abbia imparato a identificare i volti trovando due cerchi scuri che rappresentano gli occhi, posizionati sopra una linea retta che indica una bocca. L'algoritmo potrebbe quindi avere problemi, o essere prevenuto, con volti che non sono conformi al suo modello. I volti con gli occhiali, girati ad angolo, che guardano di lato o con varie tonalità della pelle potrebbero non essere rilevati dall'algoritmo. Allo stesso modo, potrebbe essere prevenuto verso volti con determinate tonalità della pelle, viso forme o altre caratteristiche che non sono conformi alla sua comprensione del mondo.


Nell'uso moderno, la parola bias ha assunto connotazioni piuttosto negative. Varie forme di mass media affermano spesso di essere liberi da pregiudizi e affermano di riferire i fatti in modo obiettivo, non contaminato dalle emozioni. Tuttavia, supponiamo per un momento la possibilità che un piccolo pregiudizio possa essere utile. Senza un po' di arbitrarietà, potrebbe essere difficile decidere tra diverse scelte concorrenti, ognuna con punti di forza e di debolezza distinti? In effetti, alcuni studi recenti nel campo della psicologia hanno suggerito che le persone nate con danni a parti del cervello responsabili delle emozioni sono inefficaci nel processo decisionale e potrebbero passare ore a discutere di decisioni semplici come il colore della camicia da indossare o dove pranzare. Paradossalmente, il pregiudizio è ciò che ci rende ciechi ad alcune informazioni e ci consente anche di utilizzare altre informazioni per l'azione. È il modo in cui gli algoritmi di apprendimento automatico scelgono tra gli innumerevoli modi per comprendere un insieme di dati.

Il bias è un male necessario associato ai processi di astrazione e generalizzazione inerenti a qualsiasi compito di apprendimento. Per guidare l'azione di fronte a possibilità illimitate, ogni studente/computer deve essere prevenuto in un modo particolare. Di conseguenza, ogni studente ha i suoi punti deboli e non esiste un unico algoritmo di apprendimento per dominarli tutti. Pertanto, il passaggio finale nel processo di generalizzazione è valutare o misurare il successo dello studente/computer nonostante i suoi pregiudizi e utilizzare queste informazioni per fornire informazione aggiuntiva, se necessario.

In genere, la valutazione avviene dopo che un modello è stato addestrato su un set di dati di training iniziale. Quindi, il modello viene valutato su un nuovo set di dati di test per giudicare quanto bene la sua caratterizzazione dei dati di addestramento si generalizza a dati nuovi e mai visti prima. Vale la pena notare che è estremamente raro che un modello generalizzi perfettamente a ogni caso imprevisto. In alcune parti, i modelli non riescono a generalizzare perfettamente a causa del problema del rumore, un termine che descrive variazioni inspiegabili o inspiegabili nei dati. I dati rumorosi sono causati da eventi apparentemente casuali, come:

Errore di misurazione dovuto a sensori imprecisi che a volte aggiungono o sottraggono un po' dalle letture

Problemi con soggetti umani, come i rispondenti al sondaggio che riportano risposte casuali alle domande del sondaggio, al fine di terminare più rapidamente

Problemi di qualità dei dati, inclusi valori mancanti, nulli, troncati, codificati in modo errato o danneggiati

Fenomeni così complessi o così poco compresi da influire sui dati in modi che sembrano non sistematici

Cercare di modellare il rumore è alla base di un problema chiamato overfitting. Poiché la maggior parte dei dati rumorosi è inspiegabile per definizione, il tentativo di spiegare il rumore porterà a conclusioni errate che non si generalizzano bene a nuovi casi. Gli sforzi per spiegare il rumore si tradurranno anche in modelli più complessi che mancheranno il vero modello che lo studente/computer cerca di identificare. Un modello che sembra funzionare bene durante l'addestramento, ma scarsamente durante la valutazione, si dice che sia troppo adattato al set di dati di addestramento, in quanto non generalizza bene al set di dati di test.



Le soluzioni al problema dell'overfitting sono specifiche per particolari approcci di machine learning. Per ora, il punto importante è essere consapevoli del problema. La capacità dei modelli di gestire dati rumorosi è un'importante fonte di distinzione tra di loro.

Finora, ci siamo concentrati su come funziona l'apprendimento automatico in teoria. Per applicare il processo di apprendimento alle attività del mondo reale, in genere si utilizza un processo in cinque fasi. Indipendentemente dall'attività in corso, qualsiasi algoritmo di apprendimento automatico può essere distribuito seguendo questi passaggi:

Raccolta dei dati: la fase di raccolta dei dati implica la raccolta del materiale di apprendimento che un algoritmo utilizzerà per generare conoscenza utilizzabile. Nella maggior parte dei casi, i dati dovranno essere combinati in un'unica fonte come un file di testo, un foglio di calcolo o un database.

Esplorazione e preparazione dei dati: la qualità di qualsiasi progetto di machine learning si basa in gran parte sulla qualità dei suoi dati di input. Pertanto, è importante saperne di più sui dati e sulle loro sfumature durante una pratica chiamata esplorazione dei dati. È necessario un lavoro aggiuntivo per preparare i dati per il processo di apprendimento. Ciò comporta la correzione o la pulizia dei cosiddetti dati "disordinati", l'eliminazione dei dati non necessari e la ricodifica dei dati per conformarli agli input previsti dallo studente.

Formazione del modello: nel momento in cui i dati sono stati preparati per l'analisi, è probabile che tu abbia un'idea di ciò che sei in grado di apprendere dai dati. Il compito specifico di apprendimento automatico scelto informerà la selezione di un algoritmo appropriato e l'algoritmo rappresenterà i dati sotto forma di un modello.  Valutazione del modello: poiché ogni modello di apprendimento automatico risulta in una soluzione parziale al problema di apprendimento, è importante valutare quanto bene l'algoritmo apprende dalla sua esperienza. A seconda del tipo di modello utilizzato, potrebbe essere possibile valutare l'accuratezza del modello utilizzando un set di dati di test oppure potrebbe essere necessario sviluppare misure di prestazioni specifiche per l'applicazione prevista.

Miglioramento del modello: se sono necessarie prestazioni migliori, diventa necessario utilizzare strategie più avanzate per aumentare le prestazioni del modello. A volte, potrebbe essere necessario passare a un tipo di modello completamente diverso. Potrebbe essere necessario integrare i dati con dati aggiuntivi o eseguire lavori preparatori aggiuntivi come nella fase due di questo processo.

Dopo aver completato questi passaggi, se il modello sembra funzionare bene, può essere distribuito per l'attività prevista. A seconda dei casi, si potrebbe utilizzare il modello per fornire dati sulle previsioni (possibilmente in tempo reale), per proiezioni di dati finanziari, per generare informazioni utili per il marketing o la ricerca o per automatizzare attività come la consegna della posta o l'aereo in volo . I successi e gli insuccessi del modello distribuito potrebbero persino fornire dati aggiuntivi per formare lo studente di prossima generazione.

La pratica dell'apprendimento automatico implica l'abbinamento delle caratteristiche dei dati di input ai pregiudizi degli approcci disponibili. Pertanto, prima di applicare l'apprendimento automatico ai problemi del mondo reale, è importante comprendere la terminologia che distingue tra i set di dati di input.

La frase unità di osservazione viene utilizzata per descrivere l'entità più piccola con proprietà misurate di interesse per uno studio. Comunemente, l'unità di osservazione è sotto forma di persone, oggetti o cose, transazioni, punti temporali, regioni geografiche o misurazioni. A volte, le unità di osservazione sono combinate per formare unità come anni-persona, che denotano casi in cui la stessa persona viene monitorata per più anni; ogni anno-persona comprende i dati di una persona per un anno. I set di dati che memorizzano le unità di osservazione e le loro proprietà possono essere immaginati come raccolte di dati costituite da:

Esempi: istanze dell'unità di osservazione per cui sono state registrate le proprietà

Caratteristiche: proprietà registrate o attributi di esempi che possono essere utili per l'apprendimento

È più facile comprendere le caratteristiche e gli esempi attraverso casi del mondo reale. Per costruire un algoritmo di apprendimento per identificare la posta indesiderata, l'unità di osservazione potrebbe essere i messaggi di posta elettronica, gli esempi sarebbero messaggi specifici e le caratteristiche potrebbero consistere nelle parole utilizzate nei messaggi. Per un algoritmo di rilevamento del cancro, l'unità di osservazione potrebbe essere i pazienti, gli esempi potrebbero includere un campione casuale di pazienti affetti da cancro e le caratteristiche potrebbero essere i marcatori genomici delle cellule biopsiate nonché le caratteristiche del paziente come peso, altezza o pressione sanguigna.

Sebbene gli esempi e le funzionalità non debbano essere raccolti in una forma specifica, sono comunemente raccolti in formato matrice, il che significa che ogni esempio ha esattamente le stesse caratteristiche.

Il seguente foglio di calcolo mostra un set di dati in formato matrice. Nei dati a matrice, ogni riga del foglio di calcolo è un esempio e ogni colonna è una caratteristica. Qui, le righe indicano esempi di automobili, mentre le colonne registrano varie caratteristiche di ciascuna automobile, come il prezzo, chilometraggio, colore e tipo di trasmissione. I dati in formato matrice sono di gran lunga la forma più comune utilizzata nell'apprendimento automatico. Tuttavia, ci sono anche altre forme che vengono utilizzate occasionalmente in casi speciali.


 

Le funzionalità sono disponibili anche in varie forme. Se una caratteristica rappresenta una variabile misurata, non sorprende che venga chiamata numerica. In alternativa, se un elemento è un attributo costituito da un insieme di categorie, l'elemento è chiamato categorico o nominale. Un caso speciale di variabili categoriche è chiamato ordinale, che designa una variabile nominale con categorie che rientrano in un elenco ordinato. Alcuni esempi di variabili ordinali includono taglie di abbigliamento come piccola, media e grande; o una misurazione della soddisfazione del cliente su una scala da "per niente felice" a "molto felice". È importante considerare ciò che rappresentano le funzionalità, come il tipo e il numero nel set di dati che aiuterà a determinare un algoritmo di apprendimento automatico appropriato.

Gli algoritmi di apprendimento automatico sono suddivisi in categorie in base al loro scopo. Comprendere le categorie di algoritmi di apprendimento è un primo passo essenziale verso l'utilizzo dei dati per guidare l'azione desiderata.

Un modello predittivo viene utilizzato per attività che implicano, come suggerisce il nome, la previsione di un valore utilizzando altri valori nel set di dati. L'algoritmo di apprendimento tenta di scoprire e modellare la relazione tra la caratteristica di destinazione (la caratteristica da prevedere) e le altre caratteristiche. Nonostante l'uso comune della parola "previsione", i modelli predittivi non devono necessariamente prevedere eventi futuri. Ad esempio, un modello predittivo potrebbe essere utilizzato per prevedere eventi passati, come la data del concepimento di un bambino utilizzando i livelli ormonali attuali della madre. I modelli predittivi possono anche essere utilizzati in tempo reale per controllare i semafori nelle ore di punta.

Poiché ai modelli predittivi vengono fornite istruzioni chiare su ciò che devono apprendere e su come intendono apprenderlo, il processo di formazione di un modello predittivo è noto come apprendimento supervisionato. La supervisione non si riferisce al coinvolgimento umano, ma piuttosto al fatto che i valori target forniscono allo studente un modo per conoscere quanto bene ha imparato il compito desiderato. Detto in modo più formale, dato un insieme di dati, un algoritmo di apprendimento supervisionato tenta di ottimizzare una funzione (il modello) per trovare la combinazione dei valori delle caratteristiche (predictors) che risultano nell'output di destinazione (response).

L'attività di apprendimento automatico supervisionato spesso utilizzata per prevedere a quale categoria appartiene un esempio è nota come classificazione. È facile pensare ai potenziali usi di un classificatore.

Stabilire se un messaggio di posta elettronica è spam

Stabilire se una persona e’ ammalata di cancro

Stabilire se una squadra di calcio vincerà o perderà una partita

Stabilire se un richiedente andrà in negativo su un prestito

Nella classificazione, l'elemento target da prevedere è un elemento categorico noto come classe ed è suddiviso in categorie chiamate livelli. Una classe può avere due o più livelli e i livelli possono o non possono essere ordinali. Poiché la classificazione è così ampiamente utilizzata nell'apprendimento automatico, esistono molti tipi di algoritmi di classificazione, con punti di forza e di debolezza adatti a diversi tipi di dati di input.

Gli algoritmi supervisionati possono essere utilizzati anche per prevedere dati numerici come reddito, valori di laboratorio, punteggi di test o conteggi di elementi. Per prevedere tali valori numerici, una forma comune di previsione numerica adatta modelli di regressione lineare  ai dati di input. Sebbene i modelli di regressione non siano l'unico tipo di modello numerico, sono di gran lunga i più utilizzati. I metodi di regressione sono ampiamente utilizzati per la previsione, poiché quantificano in termini esatti l'associazione tra input e target, inclusi entrambi, l'entità e l'incertezza della relazione.

Un modello descrittivo invece viene utilizzato per attività che devono trarre vantaggio dal mettere insieme tutte le informazioni acquisite e analizzate in modo nuovo e interessante. A differenza dei modelli predittivi che prevedono un obiettivo di interesse, in un modello descrittivo nessuna singola caratteristica è più importante di qualsiasi altra. Poiché non vi è alcun obiettivo da apprendere, il processo di formazione di un modello descrittivo è chiamato apprendimento senza supervisione (unsupervised). Sebbene possa essere più difficile pensare ad applicazioni per modelli descrittivi - dopotutto a cosa serve uno studente che non sta imparando nulla in particolare - vengono utilizzati abbastanza regolarmente per attivita’ di data mining. Ad esempio, l'attività di modellizzazione descrittiva chiamata pattern discovery utilizzata per identificare associazioni utili all'interno dei dati. Per esempio nel caso di un Supermercato, l'obiettivo è quello di identificare quegli articoli che vengono acquistati insieme di frequente, in modo che le informazioni apprese possano essere utilizzate per perfezionare le tattiche di marketing.  Ad esempio, se un rivenditore viene a sapere che i costumi da bagno vengono comunemente acquistati contemporaneamente agli occhiali da sole, potrebbe posizionare gli articoli vicino nel negozio o eseguire una promozione per "vendere" ai clienti gli articoli associati. Il compito di modellizzazione descrittiva di dividere un set di dati in gruppi omogenei è chiamato clustering. A volte viene utilizzato per l'analisi della segmentazione che identifica gruppi di individui con comportamenti o informazioni demografiche simili, in modo che le campagne pubblicitarie possano essere adattate a un pubblico particolare. Sebbene la macchina sia in grado di identificare i cluster, è necessario l'intervento umano per interpretarli. Ad esempio, dato cinque diversi gruppi di acquirenti in un negozio di alimentari il team di marketing dovrà comprendere le differenze tra i gruppi al fine di creare una promozione che meglio si adatti a ciascun gruppo.

Infine, c’e’ un’altra classe di algoritmi che vanno sotto il nome di algoritmi di re-inforcement.  L'apprendimento per rinforzo è un metodo di apprendimento automatico basato sulla ricompensa dei comportamenti desiderati e/o sulla punizione di quelli indesiderati. In generale, un agente di apprendimento per rinforzo è in grado di percepire e interpretare il suo ambiente, intraprendere azioni e apprendere attraverso tentativi ed errori.  Nell'apprendimento per rinforzo, gli sviluppatori escogitano un metodo per premiare i comportamenti desiderati e punire i comportamenti indesiderati. Questo metodo assegna valori positivi alle azioni desiderate per incoraggiare l'agente e valori negativi a comportamenti indesiderati. Questo fa si che l'agente cerca continuamente di ottenere la massima ricompensa possibile per ottenere alla fine una soluzione ottimale. Questi obiettivi a lungo termine aiutano a prevenire che l'agente si blocchi su obiettivi minori. Con il tempo, l'agente impara a evitare il negativo e a cercare il positivo. Questo metodo di apprendimento è stato adottato nell'intelligenza artificiale (AI) come un modo per dirigere l'apprendimento automatico senza supervisione attraverso ricompense e penalità.

I videogiochi sono probabilmente il campo di utilizzo più comune per l'apprendimento per rinforzo. Esso e’ in grado di raggiungere prestazioni sovrumane in numerosi giochi. Un esempio comune riguarda il gioco del Pac-Man. Un algoritmo di apprendimento che gioca a Pac-Man deve avere la capacità di muoversi in una delle quattro possibili direzioni, escludendo l'ostruzione. Dai dati dei pixel, un agente puo’ ricevere una ricompensa numerica per il risultato di un'unità di viaggio: 0 per lo spazio vuoto, 1 per i pellet, 2 per la frutta, 3 per i power pellet, 4 per i fantasmi dopo i power pellets, 5 per la raccolta di tutte le pallottole e il completamento di un livello e una detrazione di 5 punti per la collisione con un fantasma. L'agente inizia dal gioco casuale e passa a un gioco più sofisticato, imparando l'obiettivo per ottenere tutte le palline per completare il livello. Con il tempo, un agente potrebbe persino imparare tattiche come conservare i proiettili energetici fino a quando non saranno necessari per l'autodifesa. Nella robotica, l'apprendimento per rinforzo ha trovato la sua applicazione in test limitati. Questo tipo di apprendimento automatico può fornire ai robot la capacità di apprendere compiti che un insegnante umano non può dimostrare, di adattare un'abilità appresa a un nuovo compito o di ottenere l'ottimizzazione nonostante la mancanza di una formulazione analitica disponibile. L'apprendimento per rinforzo viene utilizzato anche nella ricerca operativa, nella teoria dell'informazione, nella teoria dei giochi, nella teoria del controllo, nell'ottimizzazione basata sulla simulazione, nei sistemi multiagente, nell'intelligenza degli sciami, nelle statistiche e negli algoritmi genetici.

http://www.wikio.it