machine learning concetti di base

Post on 24-Jan-2018

106 Views

Category:

Education

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Machine Learning: concetti di base

Cos’è il Machine Learning?

mario.gentili@mariogentili.it 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.

Definizione di Machine Learning?

mario.gentili@mariogentili.it 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).

Luoghi comuni vs realtà

mario.gentili@mariogentili.it 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.

Aspetti sociali delle ML

mario.gentili@mariogentili.it 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.

Aspetti sociali delle ML

mario.gentili@mariogentili.it 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.

Aspetti sociali delle ML

mario.gentili@mariogentili.it 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.

Dalla rete neurale biologica alla rete artificiale

mario.gentili@mariogentili.it 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).

La rete neurale biologica

mario.gentili@mariogentili.it 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.

Dalla rete neurale biologica alla rete artificiale

mario.gentili@mariogentili.it 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.

Dalla rete neurale biologica alla rete artificiale

mario.gentili@mariogentili.it 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).

Dalla rete neurale biologica alla rete artificiale

mario.gentili@mariogentili.it 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.

Le reti artificiali

mario.gentili@mariogentili.it 13

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

schematicamente, riproduce il neurone biologico

Le reti artificiali

mario.gentili@mariogentili.it 14

Le reti artificiali

mario.gentili@mariogentili.it 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.

Esempio implementazione funzione AND

mario.gentili@mariogentili.it 16

Esempio implementazione funzione OR

mario.gentili@mariogentili.it 17

Esempio implementazione funzione NOT

mario.gentili@mariogentili.it 18

Il percettrone

mario.gentili@mariogentili.it 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:

Il percettrone

mario.gentili@mariogentili.it 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.

Il percettrone

mario.gentili@mariogentili.it 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.

Il concetto di apprendimento nelle reti artificiali

mario.gentili@mariogentili.it 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).

Perché è necessario l’apprendimento

mario.gentili@mariogentili.it 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.

La matrice di confusione

mario.gentili@mariogentili.it 24

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

La matrice di confusione

mario.gentili@mariogentili.it 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

Tipologie di apprendimento

mario.gentili@mariogentili.it 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.

Apprendimento supervisionato

mario.gentili@mariogentili.it 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.

Apprendimento non supervisionato

mario.gentili@mariogentili.it 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.

Tipologie di apprendimento per alcuni degli algoritmi più utilizzati

mario.gentili@mariogentili.it 29

Tipologie di apprendimento per alcuni degli algoritmi più utilizzati

mario.gentili@mariogentili.it 30

top related