Tecniche di Apprendimento Automatico

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Strutture dati per insiemi disgiunti
/ fax
Il linguaggio della Matematica: Insiemi e operazioni
File System Cos’è un File System File e Directory
Informatica Generale Marzia Buscemi
LE MATRICI.
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
Lez. 3 - Gli Indici di VARIABILITA’
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Cammini minimi con sorgente singola
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Ordini Parziali - Reticoli
Esercitazioni su circuiti combinatori
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Apprendimento Non Supervisionato
Apprendimento Automatico: Alberi di Decisione
Alberi di Decisione decision trees
Apprendimento Automatico: Apprendimento Pigro (Lazy Learning)
Apprendimento Automatico: Alberi di Decisione
Apprendimento Automatico: Valutazione delle Prestazioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 8 Marzo 2013.
Process synchronization
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Algoritmi e Strutture Dati
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Alcune definizioniAlcune definizioni Algoritmo di sintesi ottima di Quine-McCluskeyAlgoritmo.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Seminario su clustering dei dati – Parte I
Seminario su clustering dei dati – Parte II
Tecniche e algoritmi di base per l’estrazione di conoscenza
Analisi dei gruppi – Cluster Analisys
Instance Based Learning Mercoledì, 17 novembre 2004 Giuseppe Manco Readings: Chapter 8, Mitchell Chapter 7, Han & Kamber Instance-Based Learning (IBL):
Chapter 14, Hastie , Tibshirani and Friedman
Chapter 14, Hastie , Tibshirani and Friedman
Elementi di Informatica di base
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Prof. Cerulli – Dott.ssa Gentili
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
SCOPRI LA TABELLINA click Trova la regola nascosta… click
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
CLUSTERING WITH WEKA Branca Stefano Dosi Clio Gnudi Edward William.
Discovering Relative Importance of Skyline Attributes Gruppo 8 Altobelli Andrea (Relatore) Ciotoli Fabio Denis Mindolin, Jan Chomicki.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Prof. Cerulli – Dott.ssa Gentili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Classificazione (aka Cluster Analysis)
Lycée dAltitude Briançon Projet « Horloges dAltitude » Cortile di Palazzo Ducale F.
ROCK A Robust Clustering Algorithm for Categorical Attributes Sudipto Guha, Rajeev Rastogi, Kyuseok Shim Sistemi Informativi per le Decisioni a.a. 2005/2006.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 13 Marzo 2014.
Metaclassificazione Giovedì, 18 novembre 2004 Francesco Folino ( Combinare Classificatori Lecture 8.
lun mar mer gio ven SAB DOM FEBBRAIO.
1 PerfectFit06 Sistema di personalizzazione dei contenuti per gli scavi archeologici di Ercolano Candidato: Vincenzo Scognamiglio Relatore: Prof. Ernesto.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati Università Sapienza di Roma Dipartimento di ingegneria Informatica, Automatica.
TEORIE E TECNICHE DEL RICONOSCIMENTO
Transcript della presentazione:

Tecniche di Apprendimento Automatico Evelina Lamma Fabrizio Riguzzi Sergio Storari Giacomo Gamberoni

Definizione di AA Definizione 1: Learning is constructing or modifying representations of what is being experienced [Michalski 1986], pag. 10 Definizione 2: Learning denotes changes in the system that are adaptive in the sense that they enable the system to do the same task or tasks drawn from the same population more efficiently and more effectively the next time [Simon 1984], pag. 28 Def 1: si intende che la rappresentazione sia comprensibile agli esseri umani La conoscenza viene poi utilizzata per svolgere delle funzioni Def 2: Si considera anche il caso in cui l’apprendimento mette in grado il sistema di svolgere una funzione che prima non era in grado di svolgere La def 2 include la def 1 poiche’ considera anche il caso in cui i cambiamenti nel sistema abbiano la forma di nuova conoscenza inserita nel sistema e comprensibile agli esseri umani

Impieghi dell’AA A) estrazione di conoscenza da utilizzare per il funzionamento di sistemi basati su conoscenza (ad esempio, sistemi per la classificazione) a fini scientifici, ovvero scoperta di nuovi fatti e teorie attraverso l’osservazione e la sperimentazione B) miglioramento delle performance di una macchina ad esempio, miglioramento delle capacità motrici e cognitive di un robot Osservare che le due definizioni non si riferiscono direttamente ai due impieghi: A: fa riferimento alla def 1 e indirettamente alla 2 (solo primo punto) B: fa riferimento alla def 2 e indirettamente alla def 1

Tecniche di AA Tecniche simboliche (impieghi A e B) diversi tipi di rappresentazione rappresentazione attributo valore rappresentazione del primo ordine (regole) Tecniche statistiche (impiego B) Reti neurali (impiego B) L’apprendimento automatico può essere supervisionato (a partire da esempi) oppure non supervisionato.

Tecniche di AA Alberi decisionali (supervisionato) Support Vector Machine (“ “) Regole associative Reti bayesiane Clustering

Apprendimento di alberi di decisione Problemi appropriati: le istanze sono rappresentate da coppie attributo valore la funzione target ha valori discreti descrizioni disgiuntive di concetti possono essere richieste l’insieme dei dati di training può contenere errori l’insieme dei dati di training può contenere dati mancanti Sistemi che apprendono alberi di decisione: CLS, IDR, C4, ASSISTANT, ID5, CART, ID3 etc.

Alberi di decisione: c4.5 c4.5 [Qui93b,Qui96] Evoluzione di ID3, altro sistema del medesimo autore, J.R. Quinlan Ispirato ad uno dei primi sistemi di questo genere, CLS (Concept Learning Systems) di E.B. Hunt Continuo studio ed aggiornamento (release 8): rimane uno dei punti di riferimento nella propria classe di algoritmi. Algoritmo scritto in C per Unix: disponibile da http://www.cse.unsw.edu.au/~quinlan/c4.5r8.tar.gz

Algoritmo di determinazione dell’albero T: insieme degli esempi; {C1,C2,…,Ck}: insieme delle classi; Considera l’insieme T: T contiene uno o più esempi, tutti appartenenti alla medesima classe => singola foglia con etichetta la classe T non contiene nessun esempio (insieme vuoto)=> singola foglia con etichetta la classe piu’ frequente nell’insieme padre T contiene casi che appartengono a più classi => partizionamento di T in piu’ sottoinsiemi T1,T2,…,Tn secondo un test su un attributo=> nodo associato al test, con un sottoalbero per ogni possibile risultato del test stesso. Richiama l’algoritmo su ogni ramo/sottoinsieme

Esempio Istanze: sabati mattina Concetti: sabato adatto a giocare a tennis e sabato non adatto a giocare a tennis Attributi: outlook, con valori {sunny,overcast,rain} temperature, con valori numerici humidity, con valori numerici windy, con valori {true, false}

Esempio: No Outlook Temp (°F) Humid (%) Windy Class D1 sunny 75 70 T P D2 sunny 80 90 T N D3 sunny 85 85 F N D4 sunny 72 95 F N D5 sunny 69 70 F P D6 overcast 72 90 T P D7 overcast 83 78 F P D8 overcast 64 65 T P D9 overcast 81 75 F P D10 rain 71 80 T N D11 rain 65 70 T N D12 rain 75 80 F P D13 rain 68 80 F P D14 rain 70 96 F P

Albero di decisione Outlook sunny rain overcast Humidity  75 Windy true false true false P N P N P

Outlook=overcast  Class=P Regole associative Descrivono correlazioni di eventi (attributo-valore) e possono essere viste come regole probabilistiche. Due eventi sono correlati quando sono osservati frequentemente insieme. Una regola associativa è un’implicazione della forma X  Y, dove X e Y sono insiemi di eventi disgiunti Esempio: Outlook=overcast  Class=P

Esempio No Outlook Temp (°F) Humid (%) Windy Class D1 sunny 75 70 T P D2 sunny 80 90 T N D3 sunny 85 85 F N D4 sunny 72 95 F N D5 sunny 69 70 F P D6 overcast 72 90 T P D7 overcast 83 78 F P D8 overcast 64 65 T P D9 overcast 81 75 F P D10 rain 71 80 T N D11 rain 65 70 T N D12 rain 75 80 F P D13 rain 68 80 F P D14 rain 70 96 F P

Supporto e confidenza X  Y ha supporto s nel database D se e solo se una frazione pari ad s delle transazioni in D contengono X  Y: s(Outlook=overcast  Class=P) = 4/14 X  Y ha confidenza c nel database D, se e solo se, tra tutte le transazioni che contengono X, ce n’e’ una frazione c che contiene anche Y: c(Outlook=overcast  Class=P) = 1

Regole associative Il problema della scoperta di regole associative può essere espresso come segue Sia I = {i1, i2, ..., im} un insieme di letterali chiamati oggetti (o items). Una transazione T è un insieme di oggetti tali che TI. Un database di transazioni D è un insieme di transazioni ed è solitamente memorizzato in una tabella della forma Un itemset X è un set di oggetti tali che X I. Si dice che una transazione T contiene un itemset X se X  T. Identificativo della transazione Item

Regole associative Il supporto di un itemset X (supporto(X)) è la frazione di transazioni in D che contiene X supporto(X)=transazioni che contengono X numero totale di transazioni Una regola associativa è una implicazione della forma X  Y, dove X e Y sono itemsets e X Y .

Confidenza e supporto X  Y ha supporto s nel database D se e solo se una frazione pari ad s delle transazioni in D contengono X  Y: s=supporto(X  Y)=supporto(X  Y) X  Y ha confidenza c nel database D, se e solo se, tra tutte le transazioni che contengono X, ce n’e’ una frazione c che contiene anche Y: c=confidenza(X  Y)=supporto(X  Y) supporto(X) Confidenza e supporto possono essere indicati anche in forma percentuale

Esempi 1 &2 => 3 ha il 90% di confidenza se, quando un cliente ha comperato gli oggetti 1 e 2, nel 90% dei casi has comperato anche 3 1 &2 => 3 ha il 20% di supporto se il 20% delle transazioni contiene 1, 2 e 3. Indica la frazione dei casi nei quali la regola si applica

Esempio Per supporto minimo 50% e confidenza minima 50% abbiamo le seguenti regole 1=>3 con supporto 50% e confidenza 66% 3=>1 con supporto 50% e confidenza 100%

Regole associative Dato un database D, il compito di scoprire le regole associative può essere riformulato come segue: scoprire tutte le regole associative con almeno un minimo supporto (chimato minsup) e una minima confidenza (chiamata minconf), dove minsup e minconf sono valori specificati dall’utente Il compito di scoprire regole associative può essere decomposto in due sottoproblemi: Trovare tutti gli itemset che hanno supporto sopra il minimo. Tali itemset sono chiamati itemset grandi. Questo sottoproblema è risolto dall’algoritmo APRIORI Generare tutte le regole associative con almeno la confidenza minima dall’insieme degli itemset grandi

Bayesian Networks Appropriate tool for modeling uncertainty Directed acyclic graph G: Nodes=random variables Arcs=dependence relations: Each node is conditionally independent from any node that is not its descendant given its parents Conditional Probability Tables (CPTs) GPr

Bayesian Networks Tampering Smoke Fire Alarm Leaving Report

Clustering Raggruppare le istanze di un dominio in cluster tali che gli oggetti nello stesso cluster mostrino un alto grado di similarità e gli oggetti in cluster diversi un alto grado di dissimilarità Misure di distanza e dissimilarità Distanze per punti in Rn: distanza euclidea

Esempio (K-means) Punti iniziali Centri dei cluster Membri del primo cluster Membri del secondo cluster Dopo la seconda iterazione

Clustering gerarchico Ogni istanza è considerata come un gruppo separato I gruppi più simili sono raggruppati in un nuovo gruppo di livello superiore nella gerarchia

Misure di distanza o dissimilarita’ Distanze per punti in Rn: distanza euclidea E’ un caso particolare, con p=2, della metrica di Minkowski

Misure di similarita’ Funzione coseno Coefficiente di Dice Similarita’ esponente

Relazione tra le misure di similarita’ e dissimilarita’ Un esempio:

K-means (versione di Forgy) Si applica a istanze appartenenti a Rn Sia k il numero dei cluster che si vogliono trovare Si scelgono k punti a caso in Rn come centri dei cluster Le istanze sono assegnate al cluster avente il centro piu’ vicino Si calcola il centroide (la media) dei punti in ogni cluster: questo rappresenta il nuovo centro del cluster Si riparte dal passo 2 finche’ tutte le istanze non sono assegnate allo stesso cluster in due iterazioni successive

K-means (versione di MacQueen) In questo caso i centroidi vengono ricalcolati dopo l’assegnazione di ogni pattern e non alla fine di un ciclo di riallocazione: Si scelgono k punti a caso in Rn come centri dei cluster Ciascuna istanza e’ assegnata al cluster avente il centro piu’ vicino. Dopo ogni assegnamento si deve ricalcolare il centroide del cluster che ha guadagnato l’elemento Si riparte dal passo 2 finche’ tutte le istanze non sono assegnate allo stesso cluster in due iterazioni successive

Risultato del clustering Il k-means cerca di minimizzare la funzione obiettivo

Scelta dei punti iniziali Sono possibili varie scelte: Le prime k istanze nel dataset Etichetta le istanze con i numeri da 1 a m (numero delle istanze) e scegli quelle con numeri m/k,2m/k,…,(k-1)m/k e m Scegliere a caso k istanze Generare k punti scegliendo a caso i valori di ciascun coordinata nel range della coordinata Genera un partizione del dataset in k sottoinsiemi mutuamente esclusivi e considera i centroidi dei sottoinsiemi

Esempio (K-means) Punti iniziali Centri dei cluster Membri del primo cluster Membri del secondo cluster Dopo la seconda iterazione