Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Machine learning concetti di base

176 views

Published on

Machine learning concetti di base.
Dalle reti biologiche alle reti artificiali.
Apprendimento e auto-apprendimento

Published in: Education
  • Be the first to comment

Machine learning concetti di base

  1. 1. Machine Learning: concetti di base
  2. 2. 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.
  3. 3. 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).
  4. 4. 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.
  5. 5. 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.
  6. 6. 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.
  7. 7. 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.
  8. 8. 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).
  9. 9. 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.
  10. 10. 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.
  11. 11. 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).
  12. 12. 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.
  13. 13. 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
  14. 14. Le reti artificiali mario.gentili@mariogentili.it 14
  15. 15. 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.
  16. 16. Esempio implementazione funzione AND mario.gentili@mariogentili.it 16
  17. 17. Esempio implementazione funzione OR mario.gentili@mariogentili.it 17
  18. 18. Esempio implementazione funzione NOT mario.gentili@mariogentili.it 18
  19. 19. 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:
  20. 20. 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.
  21. 21. 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.
  22. 22. 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).
  23. 23. 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.
  24. 24. 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»:
  25. 25. La matrice di confusione mario.gentili@mariogentili.it 25 Nel caso di problema a due classi la matrice di confusione assume 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
  26. 26. 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.
  27. 27. 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.
  28. 28. 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.
  29. 29. Tipologie di apprendimento per alcuni degli algoritmi più utilizzati mario.gentili@mariogentili.it 29
  30. 30. Tipologie di apprendimento per alcuni degli algoritmi più utilizzati mario.gentili@mariogentili.it 30

×