Machine learning concetti di base

30
Machine Learning: concetti di base

Transcript of Machine learning concetti di base

Page 1: Machine learning   concetti di base

Machine Learning: concetti di base

Page 2: Machine learning   concetti di base

Cos’è il Machine Learning?

[email protected] 2

Machine Learning – ML = apprendimento automatico delle macchine

Apprendimento = processo attraverso cui si diventa più abili, precisi e veloci a compiere un certo compito, in modo tale che chi ha appreso a fare qualcosa, successivamente la fa meglio e più velocemente di prima.

Macchine = computer, che elaborano algoritmi che rappresentano dei modelli matematici.

Esigenza: analizzare grandissime quantità di dati (Big Data), rintracciando al loro interno dei pattern o dei comportamenti ricorrenti in modo da estrarre automaticamente caratteristiche e previsioni.

Page 3: Machine learning   concetti di base

Definizione di Machine Learning?

[email protected] 3

Nel 1950 Arthur Samuel, uno dei pioniere dell’Intelligenza Artificiale e della programmazione di software capaci di giocare a scacchi, diede una definizione informale di machine learning, dicendo che:machine learning è il campo di studio che dà ai computer l’abilità di apprendere (a realizzare un compito) senza essere esplicitamente programmati a farlo.

Più di recente è stato Tom Mitchell, professore dell’Università di Carnegie Mellon, a dare una definizione formale di machine learning, dicendo che:Si dice che un programma impara da una certa esperienza E rispetto a una classe di compiti T ottenendo una performance P, se la sua performance P nel realizzate i compiti T, migliora con l’esperienza E.

Più semplicemente: un programma apprende dall’esperienza a realizzare un compito se le sue prestazioni migliorano con il tempo in cui ripete quel compito.

Una ML implementa un modello matematico, realizzato attraverso del software, per simulare una rete di neuroni biologici (equivalente ad un’area del nostro cervello).

Page 4: Machine learning   concetti di base

Luoghi comuni vs realtà

[email protected] 4

L’utilizzo delle ML è ormai pervasivo: dalla promessa delle auto senza guidatore, alle nuove tecniche della medicina e dell’industria, alla gestione del territorio, all’Internet of things, ai nuovi modi di lavoro e alle nuove professionalità. Rappresentano quindi un’opportunità unica di crescita individuale, sociale e industriale.

I robot stanno arrivando, e prenderanno il nostro lavoro! Falso: le ML possono fare il nostro lavoro più

velocemente e con più precisione di quanto noi possiamo fare!

Le ML non sono e non saranno motivo di perdita di lavoro, ma il lavoro cambierà. I ruoli saranno più

creativi e specializzati. Migliorare le informazioni significa avere una modellistica della realtà migliore e

avere modelli più reali significa ottenere migliori interpretazioni della realtà e migliori previsioni. In

questo modo, le persone che utilizzano le ML potranno automatizzare il lavoro noioso e concentrarsi su

quello creativo per migliorare le proprie condizioni di vita e quelle del suo ecosistema.

Page 5: Machine learning   concetti di base

Aspetti sociali delle ML

[email protected] 5

Affermazione delle Human Enhancement Technologies (HET) in grado di agire in ogni campo di applicazione: da quello medico a quello farmacologico a quello del tempo libero e dello sport. Ma anche quello della realtà virtuale e di quella aumentata che hanno nelle ML il loro propulsore.

Luogo virtuale = NON è una finzione, ma una visione diversa della realtà

Visione complessa e frattale di tutti i differenti aspetti culturali, politico-sociali, economici, che si integrano in strategie, interventi, fatti, ruoli, competenze in grado di contribuire allo sviluppo comunitario e paritario degli individui.

Page 6: Machine learning   concetti di base

Aspetti sociali delle ML

[email protected] 6

Le ML, attraverso il computer si possono considerare come una psico-tecnologia, che estende la mente così come altre tecnologie “fisiche”, come la macchina o la bicicletta, estendono il corpo… attraverso il computer possiamo penetrare nello schermo e accedere ad un mondo che è come un immaginario oggettivo.

La Rete si può considerare come una psico-tecnologia che estende l’individuo a favore dell’Intelligenza Collettiva.

Nella Rete si definisce l’ambiente cognitivo, l’augmented mind, fatto da elementi individuali che confluiscono continuamente in ambienti collettivi.

Tesi sostenuta in un’intervista del 1998 da Derrick De Kerckhove, filosofo, sociologo e futurologo, e allievo di Marshall McLuhan.

fu rilasciata a Bologna per RAI-MediaMente.

Page 7: Machine learning   concetti di base

Aspetti sociali delle ML

[email protected] 7

Transumanesimo, movimento culturale che sostiene l’uso delle scoperte scientifiche e tecnologiche per aumentare le capacità fisiche e cognitive e migliorare quegli aspetti della condizione umana che sono considerati indesiderabili, come la malattia e l’invecchiamento, in vista anche di una possibile trasformazione meta-umana.

Page 8: Machine learning   concetti di base

Dalla rete neurale biologica alla rete artificiale

[email protected] 8

Le ML simulano i diversi aspetti legati al comportamento e alle capacità del cervello umano:

• elaborazione “intelligente” delle informazioni,

• elaborazione distribuita e condivisa,

• elevato livello di parallelismo (il cervello è capace da 4 a 7 attività in parallelo),

• facoltà di apprendimento, di generalizzazione e di adattamento,

• alta tolleranza ad informazioni poco precise (o assenti e/o sbagliate).

Page 9: Machine learning   concetti di base

La rete neurale biologica

[email protected] 9

• Soma: nucleo della cellula (patrimonio genetico + funzioni

cellulari)

• Dendriti: ricevono le informazioni dagli altri neuroni e le

trasferiscono al nucleo della cellula (input)

• Assone: riceve le informazioni dal nucleo cellulare e le

trasferisce verso gli altri neuroni (output)

• Bottone sinaptico o Sinapsi: punto di contatto tra l’assone di

un neurone (neurone presinaptico) e il ramo dendritico di un

altro neurone (neurone post-sinaptico). È il punto in cui avviene

il passaggio del segnale con un processo elettrochimico.

Page 10: Machine learning   concetti di base

Dalla rete neurale biologica alla rete artificiale

[email protected] 10

La trasmissione delle informazioni fra i neuroni è

paragonabile alla trasmissione di un segnale elettrico

detto potenziale d’azione che può essere

eccitatorio o inibitorio. L’assone conduce il potenziale

d’azione in direzione centrifuga verso altri neuroni.

L’assone ha un diametro uniforme ed è un ottimo

conduttore grazie agli strati di mielina. La parte

terminale dell’assone è rappresentata dai bottoni

sinaptici. Attraverso questi bottoni un assone può

prendere contatto con i dendriti o il corpo cellulare di

altri neuroni affinché il potenziale d’azione si

propaghi, con una reazione a catena, lungo un

circuito neuronale.

Page 11: Machine learning   concetti di base

Dalla rete neurale biologica alla rete artificiale

[email protected] 11

La quantità di segnale (informazione) trasmessa dal neurone presinaptico verso il neurone

postsinaptico dipende da diversi fattori:

• Intensità del segnale in entrata (anche ricezione di più segnali da neuroni diversi),

• Forza delle sinapsi dei neuroni in entrata (rilascio dei neurotrasmettitori),

• Soglia di attivazione del neurone ricevente (superata una certa soglia di potenziale elettrico, il

neurone postsinaptico si attiva e genera a sua volta un segnale che può essere propagato verso

gli altri neuroni).

Il neurone postsinaptico, può avere due comportamenti:

Passivo quando i segnali ricevuti sono di piccola intensità

(variazione di potenziale di pochi mV) e quindi l’impulso non

viene generato

Attivo, quando i segnali ricevuti sono di elevata intensità

(variazione di potenziale >= soglia) e quindi vi è la generazione

di un impulso elettrico (spike o sparo).

Page 12: Machine learning   concetti di base

Dalla rete neurale biologica alla rete artificiale

[email protected] 12

Alcuni dati numerici:

• il cervello umano ha oltre 1.000 miliardi (1012) di neuroni,

• numero di connessioni (sinapsi) per neurone: da circa 10.000 a 100.000,

• intensità del potenziale d’azione da -30 a + 30 mV,

• velocità di trasmissione del potenziale d’azione lungo l’assone: 120 m/s (432km/h),

• il tempo di attivazione di un neurone è ˜ .001 secondi,

• calcoli paralleli da 4 a 7 simultaneamente,

• tempo di riconoscimento di una scena è ˜ .1 secondi.

Page 13: Machine learning   concetti di base

Le reti artificiali

[email protected] 13

Hanno origine nel 1949 con McCulloch & Pitts che propongono il loro neurone artificiale che

schematicamente, riproduce il neurone biologico

Page 14: Machine learning   concetti di base

Le reti artificiali

[email protected] 14

Page 15: Machine learning   concetti di base

Le reti artificiali

[email protected] 15

In questo caso si ha una funzione di attivazione “a gradino”, cioè una funzione

discreta e discontinua, detta anche treshold. Questa funzione permette la

separazione lineare dei dati d’ingresso in due classi: quelle rappresentati dalla

funzione di attivazione = 1 e quelle rappresentate dalla funzione di attivazione = 0.

Questa sola funzionalità del neurone artificiale rappresenta un forte limite e non

permette di risolvere problemi più complessi. In ogni caso, il possiamo utilizzare il

neurone artificiale per realizzare le tre funzioni logiche di AND, OR e NOT.

Page 16: Machine learning   concetti di base

Esempio implementazione funzione AND

[email protected] 16

Page 17: Machine learning   concetti di base

Esempio implementazione funzione OR

[email protected] 17

Page 18: Machine learning   concetti di base

Esempio implementazione funzione NOT

[email protected] 18

Page 19: Machine learning   concetti di base

Il percettrone

[email protected] 19

Nel 1958, J. Von Neumann nella sua opera "The computer and the brain" esamina le soluzioni proposte dai precedenti autori sottolineando la scarsa precisione che queste strutture possedevano per potere svolgere operazioni complesse. Nello stesso anno, F. Rosenblatt nel libro "Psychological review" introduce il primo schema di rete neurale, detto Perceptron (percettrone), per il riconoscimento e la classificazione di forme, allo scopo di fornire un’interpretazione dell’organizzazione generale dei sistemi biologici.

Costituisce un progresso decisivo rispetto al modello binario di McCulloch e Pitts, perché i suoi pesi sinaptici sono variabili, così come anche il valore soglia, anziché = +1 e -1, e quindi il percettrone è in grado di apprendere non in maniera discreta e lineare, ma in maniera progressiva e continua (comportamento tipico della logica fuzzy). In questo caso la funzione di attivazione non è più a gradino, ma è rappresentabile tramite una sigmoide:

Page 20: Machine learning   concetti di base

Il percettrone

[email protected] 20

Il Perceptron, che rappresenta la forma più semplice di rete artificiale, non è altro che una collezione di neuroni McCulloch e Pitts con un insieme di ingressi e relativi pesi per stabilire il valore dell’output finale:

In un Perceptron gli ingressi sono, per convenzione, quasi sempre disegnati come cerchi, proprio come i neuroni, il che genera un po’ di confusione, quindi si evidenziano gli input in un colore più chiaro. I neuroni, che rappresentano la parte computazionale, sono indicati con un cerchio nero. I neuroni comprendono anche la soglia che, in genere non si rappresenta graficamente (come invece riportato in figura, solo per motivi di chiarezza). È da notare che i neuroni del Perceptron sono completamente indipendenti l’uno dall’altro. Ogni neurone concorre all’output solo se riesce a sparare; ovvero se moltiplicando i propri input per i relativi pesi, sommandoli tutti insieme, e confrontando il risultato con la propria soglia, l’output ottenuto riesce a superarla.

Page 21: Machine learning   concetti di base

Il percettrone

[email protected] 21

Anche i pesi che vanno in ogni neurone sono separati tra loro, quindi l’unica cosa che i neuroni condividono sono gli input, poiché ogni neurone vede tutti gli ingressi della rete. Gli input non possono cambiare, perché sono esterni, quindi, durante il calcolo, si possono modificare solo i pesi e la soglia. Questo ci permette di asserire che la maggior parte della componente computazionale della rete (per esempio, durante l’apprendimento) è proprio nella modifica del valore dei pesi, che non appartengono al neurone: questo è proprio il modello della sinapsi! Quindi, per permettere a un neurone di lavorare, la domanda che dobbiamo porci è: come cambiare i pesi e le soglie dei neuroni in modo che la rete ottenga la risposta giusta più spesso?

Analogamente al neurone McCulloch e Pitts, dove i pesi erano etichettati come wi, con l’indice i che poteva assumere i valori da 1 a n, con n = numero di input, anche nel caso del percettore esiste una simbologia analoga per indicare i pesi che entrano nei neuroni. In questo caso, il peso si indica con wij, dove:

• i= valore del nodo di input,• j = valore del neurone su cui insiste il peso.

Così, ad esempio, w32 è il peso che collega il nodo di input 3 al neurone 2.

Page 22: Machine learning   concetti di base

Il concetto di apprendimento nelle reti artificiali

[email protected] 22

Le RETI NEURALI non sono programmate da un esperto umano ma si autodefiniscono mediante apprendimento automatico. L’ apprendimento in una RN consiste nella modifica delle connessioni effettuata mediante una regola di apprendimento. Meglio: per apprendimento si intende il processo di aggiornamento della struttura interna di un sistema in risposta a stimoli esterni, al fine di eseguire una specifica attività.

APPRENDERE significa:

• aggiustare i pesi delle sinapsi al fine di ridurre l’errore fra il valore di output generato dalla rete neurale e l’output corretto,

• stabilire un processo iterativo: analogamente all’apprendimento per esperienza, che permette di ottenere un output sempre più significativo (preciso ed accurato).

Page 23: Machine learning   concetti di base

Perché è necessario l’apprendimento

[email protected] 23

È necessario l’apprendimento per permettere ad una rete neurale di:

• memorizzare informazioni imprecise o che contengono rumore, senza che venga alterata la qualità della risposta della rete neurale,

• generalizzare da concetti appresi a concetti sconosciuti (previsione),

• elaborare molto più velocemente rispetto al cervello umano.

Page 24: Machine learning   concetti di base

La matrice di confusione

[email protected] 24

Misura una serie di indici che permettono di definire l’affidabilità di una rete neurale di tipo «classificatore»:

Page 25: Machine learning   concetti di base

La matrice di confusione

[email protected] 25

Nel caso di problema a due classi la matrice di confusioneassume una forma particolare (2 classi, positivi vs negativi)

ESEMPIO: classificazione tra malati (positivi) e sani (negativi)• CLASSIFICAZIONE CORRETTA:

• Veri positivi: pazienti malati classificati come malati• Veri negativi: pazienti sani classificati come sani

• CLASSIFICAZIONE ERRATA:• Falsi positivi: pazienti sani classificati come malati• Falsi negativi: pazienti malati classificati come sani

Page 26: Machine learning   concetti di base

Tipologie di apprendimento

[email protected] 26

Il criterio più comune è la distinzione degli algoritmi tra supervisionati e non supervisionati.

Un altro criterio interessante è il tipo di apprendimento, che può essere passivo, dove l’apprendista apprende solo da esempi del training set, oppure attivo, o adattivo, in quanto l’apprendista apprende anche durante il funzionamento.

I tipi di apprendimento più utilizzati sono:

• Supervisionati,• Non supervisionati,• Semi-supervisionati,• Apprendimento per rinforzo.

È importante evidenziare che i modelli di previsione sono sempre modelli interpretativi di eventi passati, quindi basandoci su dataset già esistenti, possiamo predire, sebbene sottoposti a vincoli e condizioni, la probabilità che un evento possa accadere o la vicinanza ai vecchi casi.

Page 27: Machine learning   concetti di base

Apprendimento supervisionato

[email protected] 27

Si può parlare di metodo supervisionato se si utilizza un dataset che contiene delle variabili, una delle quali è un’etichetta riferimento (o gold standard).

gold standard = obiettivo finale della classificazione

In base al gold standard, che ci dice che ogni caso è da intendersi in un dato modo, tutte le altre variabili sono utilizzate per costruire una logica di classificazione.

A seconda del tipo di output, la classificazione sarà binaria, se include solo due classi (A o B?), oppure multiclasse se è possibile avere più di due output (A o B o C?).

Regressione = classificazione di un gold standard numerico

Quando l’etichetta è di tipo numerico abbiamo invece delle tecniche basate sulla regressione, che è sempre una tecnica di tipo supervisionato. Ad esempio, quando si verifica per un dataset l’esistenza di una relazione tra altezza e peso. Tramite una funzione lineare di regressione si verifica se esiste una relazione lineare tra le due variabili. Questo ci permette di classificare nuovi soggetti in un range di peso conoscendo la loro altezza, o viceversa. L’output della regressione è di tipo quantitativo.

Page 28: Machine learning   concetti di base

Apprendimento non supervisionato

[email protected] 28

Si basa fondamentalmente sul clustering o sulle regole di associazione.

Nel clustering partiamo da un dataset nel quale, a partire dalle caratteristiche di un gruppo di items, essi vengono raggruppati in base a quanto essi sono tra loro simili o dissimili.

Page 29: Machine learning   concetti di base

Tipologie di apprendimento per alcuni degli algoritmi più utilizzati

[email protected] 29

Page 30: Machine learning   concetti di base

Tipologie di apprendimento per alcuni degli algoritmi più utilizzati

[email protected] 30