Sistemi di supporto alle decisioni 4. Clustering

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Apprendimento Automatico Apprendimento supervisionato
Proprietà degli stimatori
ODE PROBLEMA DI CAUCHY IN 1-D Sia f : I x RR, I  R.
Riconoscimento di forme
Sistemi di supporto alle decisioni 2. Features space
Attività cerebrale I neuroni si attivano in gruppi sotto lazione di uno stimolo Attività in gruppi ben delimitati con alta o bassa attività Il gruppo.
CLUSTER ANALYSIS Insieme di tecniche con l’obiettivo di unire le unità di un insieme statistico in un numero finito di classi o gruppi i quali devono.
Le reti neurali dagli esordi alle applicazioni
TEORIA RAPPRESENTAZIONALE DELLA MISURA
Apprendimento Non Supervisionato
Valutazione delle ipotesi
Apprendimento di funzioni algebriche
Computational Learning Theory and PAC learning
Support Vector Machines
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Algoritmi e Strutture Dati (Mod. A)
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Seminario su clustering dei dati – Parte I
Ricerca della Legge di Controllo
BIOINGEGNERIA S. Salinari Lezione 4.
TECNOLOGIE DEI SISTEMI DI CONTROLLO
BIOINGEGNERIA S. Salinari Lezione 7. RETI CON APPRENDIMENTO SUPERVISIONATO A DISTANZA Nello sviluppo delle reti neurali si è proceduto indebolendo via.
Apprendimento di movimenti della testa tramite Hidden Markov Model
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive
PATTERN RECOGNITION.
Analisi dei gruppi – Cluster Analisys
Clustering Mercoledì, 24 novembre 2004 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Density-Based Clustering.
Clustering Martedì, 30 novembre 2004 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Clustering Lecture.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Intelligenza Artificiale
Apprendimento Automatico Apprendimento non supervisionato:
In contrapposizione con i metodi convenzionali (hard computing), le tecniche di soft computing non si basano su procedimenti esprimibili in forma chiusa.
APPLICAZIONI DI INTELLIGENZA ARTIFICIALE ALLA MEDICINA
Elementi di Informatica di base
Radix-Sort(A,d) // A[i] = cd...c2c1
Semi-Supervised Learning
Le distribuzioni campionarie
Tecniche descrittive Utilizzano modelli matematici per semplificare le relazioni fra le variabili in studio Il fine è la descrizione semplificata del fenomeno.
Modelli predittivi delle agenzie di rating internazionali: il modello MEU evoluto (maximum expected utility) Mattia Ciprian*, Daria Marassi°, Valentino.
STATISTICA PER LE DECISIONI DI MARKETING
Classificazione (aka Cluster Analysis)
Università degli Studi di Cagliari
ROCK A Robust Clustering Algorithm for Categorical Attributes Sudipto Guha, Rajeev Rastogi, Kyuseok Shim Sistemi Informativi per le Decisioni a.a. 2005/2006.
Rete di Hopfield applicata al problema del TSP Federica Bazzano
Lez.13: Unsupervised classification: clustering gerarchico
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati Università Sapienza di Roma Dipartimento di ingegneria Informatica, Automatica.
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
R. Soncini Sessa, MODSS, L 26 Stima degli effetti Calcolo degli obiettivi (Laplace) Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini.
IL CAMPIONE.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
RETI NEURALI - 2.
1 Ordinamento (Sorting) INPUT: Sequenza di n numeri OUTPUT: Permutazione π = tale che a 1 ’  a 2 ’  … …  a n ’ Continuiamo a discutere il problema dell’ordinamento:
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Intelligenza Artificiale
Intelligenza Artificiale Reti Neurali
DATA MINING.
APPROSSIMAZIONE DI FUNZIONI
Learning Non Supervisionato
Intervalli di confidenza
I recettori sensoriali
CURE: AN EFFICIENT CLUSTERING ALGORITHM FOR LARGE DATABASES GRUPPO 12 Filippo Bindi Massimiliano Ceccarini Andrea Giuliodori PRESENTAZIONE Sistemi Informativi.
DATA MINING PER IL MARKETING Andrea Cerioli Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Introduzione alla metodologia Zani-Cerioli,
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Pattern Recognition Lez.14: Miscugli di Gaussiane.
Self-Organizing Map (SOM Kohonen, 1981) è una tecnica di visualizzazione dei dati multidimensionali SOM è una mappa mono- (bi-)dimensionale che rappresenta.
Campionamento procedimento attraverso il quale si estrae, da un insieme di unità (popolazione) costituenti l’oggetto delle studio, un numero ridotto di.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Transcript della presentazione:

Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dell’Informazione Università di Siena rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Sistemi di supporto alle decisioni - Leonado Rigutini Clustering Data una base di dati di oggetti, suddividere tali oggetti in gruppi, in modo che… ...oggetti appartenenti allo stesso gruppo siano molto simili ...oggetti in gruppi diversi siano molto diversi La suddivisione non può avvalersi di dati supervisionati (Learning set): Clustering ==> processo non supervisionato Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Clustering Gli algoritmi di clustering possono essere suddivisi in tre tipologie: Partitional clustering (k-clustering): viene creato un partizionamento dello spazio Clustering gerachico: viene creata una gerarchia di gruppi (albero) basandosi su particolari criteri. Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Clustering Una seconda categorizzazione degli algoritmi di clustering considera la possibilità che un oggeto appartenga a più di un cluster: Hard-clustering: ogni elemento è assegnato ad un solo cluster e quindi i clusters non si sovrappongono Soft-luster: dove un elemento può essere assegnato a più di un gruppo con un grado di appartenenza Noi consideriamo gli algoritmi di hard-clustering. Sistemi di supporto alle decisioni - Leonado Rigutini

Esempi di applicazioni Identificazione di popolazioni omogenee di clienti in basi di dati di marketing Valutazione dei risultati di esperimenti clinici Monitoraggio dell’attività di aziende concorrenti Identificazione di geni con funzionalità simili Nel WWW… Classificazione di documenti Identificazione di gruppi di utenti (in base ai file di log) con caratteristiche di “navigazione” simili Sistemi di supporto alle decisioni - Leonado Rigutini

“Classificazione non supervisionata” Abbiamo già sottolineato come il processo di clustering sia un task non-supervisionato Questo fatto implica che: Non esiste un learning set dal quale apprendere le classi Si parla di unlabeled-set, cioè l’insieme di esempi non etichettati che sono oggetto dell’algoritmo Il numero di gruppi da individuare nell’unlabeled-set (solitamente indicato con k) è sconosciuto E’ un processo di classificazione non supervisionato: come tale si utilizzeranno i modelli di classificatori visti in precedenza risolvendo però il problema dell’assenza del learning-set Sistemi di supporto alle decisioni - Leonado Rigutini

Partitioning clustering

Partitioning clustering Lo scopo di tale approccio è suddividere lo spazio dei pattern in k gruppi ed assegnare ogni esempio ad un gruppo in modo da creare clusters omogenei Normalmente viene minimizzata/massimizzata un funzionale: Minimizzare le distanze tra gli esempi interni al gruppo Massimizzare le distanze tra gli esempi in gruppi diversi Massimizzare le distanze tra due gruppi diversi … Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini 1. k-Means K-means è l’algoritmo di clustering più popolare nella letteratura scientifica e deriva dall’algoritmo EM (Expectation Massimization) EM è un algoritmo sviluppato nella teoria delle probabilità per risolvere il problema delle stime non-supervisionate a massima verosomiglianza (maximum likelihood) Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Maximum likelihood Supponiamo di avere un insieme di dati D non etichettati, lo scopo è approssimare la loro distribuzione nello spazio con k distribuzioni di probabilità caratterizzate quindi da k parametri Teta La likelihood degli elementi dato il modello Teta è quindi: Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Maximum likelihood Normalmente viene utilizzata la log-likelihood la funzione logaritmica è un funzione monotona crescente Lo scopo delle stima a maximum likelihood è quindi trovare Teta che massimizza la log-likelihood: Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini EM assume l’esistenza di parametri nascosti nel sistema che semplificano il problema: Sostituendo nella formula ML e massimizzando rispetto a Teta: Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Sviluppando: Dopo alcuni passaggi si ottiene: Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini La formula precedente ci da un modo per stimare il Teta ottimo. Esso può essere stimato utilizzando un’algoritmo ad ascesa del gradiente E step: il valore al passo t+1 della likelihood è stimato utilizzando la configurazione dei parametri stimata al tempo t M step: i parametri del modello sono aggiornati utilizzando i dati etichettati al passo E Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini k-Means Ma come utilizzare questi risultati per il clustering? Se guardiamo P(Ck|d,), questa indica una classificazione: Assegna la classe Ck dato il pattern d ed i parametri  Se inseriamo un classificatore centroids-based invece che un classificator probabilistico otteniamo l’algoritmo k-Means Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini k-Means Scegli i k centri iniziali Repeat E-step: assegna ciascun oggetto al cluster più vicino, il cui centroide risulta il più vicino (simile) all’oggetto dato M-step: ri-calcola i centroidi (punti medi) dei cluster until gli assegnamenti non cambiano (o cambiano poco) Viene minimizzato l’errore quadratico medio Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini k-Means Limiti di Kmeans: Può essere applicato solo se il tipo di dato permette di definire la media Occorre specificare in anticipo il numero k di cluster Sebbene sia possibile dimostrare che il procedimento termina sempre, non è detto che venga raggiunto il minimo globale (il risultato è influenzato dalla scelta dei centri iniziali) Non garantisce la connessione dei cluster trovati e l’assenza di punti isolati Può produrre risultati scadenti quando… …i cluster hanno differenti dimensioni, densità, forma non sferica/ellissoidale …i dati contengono outlier Sistemi di supporto alle decisioni - Leonado Rigutini

k-Means con nubi di punti non di forma sferica Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini k-Means Soluzione: usare molti cluster In questo caso… …i cluster calcolati sono partizioni dei cluster effettivamente presenti …è necessario fondere i cluster calcolati Sistemi di supporto alle decisioni - Leonado Rigutini

Clustering Gerarchico

Clustering gerarchico Questi algoritmi non producono una rappresentazione “flat” (piatta) dei gruppi estratti dai dati, ma un albero T (Tree) i cui nodi rappresentano un subset dello spazio La radice di T rappresenta l’intero spazio D non partizionato Due tipi di algoritmi di clustering gerachico esistono: Agglomerativo: partendo dalle foglie vengono via via fusi i cluster più simili fino a raggiungere la radice Divisivo: partendo dalla root (l’intero spazio non partizionato), vengono via via divisi i gruppi in sottogruppi più piccoli fino a raggiungere un dimensione minima. Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Clustering gerachico Tali algoritmi richiedono delle misure per decidere ad ogni step quali clusters fondere (agglomerativo) o quali dividere (divisivo) Funzioni di prossimità, utilizzate dal clustering agglomerativo per scegliere i due clustes da unire Single-link - calcola la prossimità tra due cluster utilizzando la distanza dei due punti più vicini appartenenti ai due diversi clusters Average-link - usa la distanza media tra i punti appartenenti ai due diversi clusters Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Clustering gerachico Complete-link - usa la distanza tra i due punti più distanti appartenenti ai due clusters Centroids-distance - usa la distanza tra i centroidi dei due cluster Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Clustering gerachico Funzioni di densità, utilizzate dal clustering divisivo per scegliere i clusters da dividere in due sottogruppi Intra-cluster distance - calcola la distanza media tra gli elementi in un cluster Sistemi di supporto alle decisioni - Leonado Rigutini

Self Organizing Maps (SOM) dette anche reti di Kohonen

Sistemi di supporto alle decisioni - Leonado Rigutini SOM - 1 Il clustering può essere interpretato come una forma di classificazione non supervisionata Come tale, può essere realizzato mediante un particolare tipo di architettura neurale, chiamata SelfOrganizing Map (SOM), che viene addestrata in modalità non supervisionata, cioè non conoscendo l’output atteso per ciascun dato in input Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini SOM - 2 Al termine della fase di apprendimento, la SOM sarà comunque in grado di raggruppare i dati in cluster, ovvero di produrre output simili per input “vicini”, secondo una qualche metrica nello spazio degli ingressi Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map  1 Motivazione biologica La rete di Kohonen viene modellata sulla base di un comportamento caratteristico dei neuroni che compongono un tessuto nervoso laminare: tali neuroni si attivano, sotto l’azione di uno stimolo, in gruppi caratterizzati dalla presenza o assenza di attività, definendo come attività l’emissione di un numero di impulsi nell’unità di tempo superiore ad una certa soglia La demarcazione spaziale tra i due gruppi è netta, per cui si parla di formazione di “bolle di attivazione”, a partire da una situazione indifferenziata di bassa attività di tutti i neuroni presenti nella rete Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map  2 Nel caso biologico, i neuroni che sono fisicamente vicini a neuroni attivi hanno legami forti ed eccitatori mentre quelli periferici hanno legami inibitori Nella corteccia cerebrale esistono proiezioni di stimoli sensoriali su specifiche reti di neuroni corticali I neuroni sensomotori costituiscono una mappa distorta (l’estensione di ciascuna regione è proporzionale alla sensibilità della corrispondente area corporea, non alle dimensioni) della superficie corporea Tuttavia, parti adiacenti della corteccia corrispondono a parti adiacenti della superficie corporea Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map  3 Questa caratteristica è stata modellata da Kohonen restringendo la variazione dei pesi ai neuroni vicini ad un neurone scelto SOM (Kohonen, 1981): mappe “sensoriali”, costituite da un singolo strato di neuroni in cui le unità si specializzano a rispondere a stimoli diversi in modo tale che: ingressi di tipo diverso attivino unità diverse (lontane) unità topologicamente vicine vengano attivate da ingressi simili Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map  4 Architettura della rete Formata da un singolo strato di neuroni ni, i=1,…,wh: w=larghezza, h= altezza della mappa L’ingresso X Rn è collegato a tutti i neuroni Ogni neurone i ha un set di parametri Wi di dimensione pari a quella dell’ingresso La funzione di attivazione è inversamente proporzionale alla distanza tra il vettore dei parametri e l’input: fi = 1/d(Wi,X), d una qualsiasi funzione distanza Collegamenti laterali tra i neuroni Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Architettura Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map  7 Interazione laterale Ogni neurone è connesso con un “vicinato” di neuroni per una mappa in R1 (la retta) abbiamo solamente PREC e SUCC per una mappa in R2 (piano) sono i neuroni N,NE,E,SE,S,SO,O,NO …e così in Rm con m>2 I pesi dei collegamenti tra neuroni non sono soggetti ad apprendimento ma sono fissi e positivi e variano con il valore della epoca ep e della distanza tra i neuroni nella mesh dist ==> a(dist,ep) - funzione di decay Sistemi di supporto alle decisioni - Leonado Rigutini

Collegamenti laterali Sistemi di supporto alle decisioni - Leonado Rigutini

Aggiornamento dei pesi Per ogni pattern fornito alla rete, un neurone soltanto risulta “vincente”: il neurone che presenta il massimo valore in uscita, chiamato anche best-matching unit (BMU) I pesi dei neuroni vengono aggiornati secondo la regola W(t+1)=W(t)+a(dist,ep)(W(t)-Xi) a(dist,ep) è una funzione che pesa l’aggiornamento dei neuroni in base alla distanza dalla BMU e in base alla epoche di addestramento Sistemi di supporto alle decisioni - Leonado Rigutini

Aggiornamento dei pesi Quindi: Aggiornamento dei pesi della BMU ==> a(dist,ep) diventa a(0,ep), poiché la distanza tra la BMU e la BMU è 0 (ovviamente!) Aggiornamento dei pesi dei neuroni non BMU ==> a(dist,ep) con dist≠0 decresce all’aumentare della distanza tra il neurone in esame e la BMU Inoltre, a(dist,ep), normalmente decresce all’aumentare dell’epoca di stima dei parametri, in modo da convergere per ep sufficientemente grande Ossia dopo un certo numero di epoche Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Funzioni di decay Alcune funzioni di decay utilizzate nella pratica sono: Decadimento lineare: Decadimento nello spazio - a(dist,ep)=g  a(dist-1,ep) Decadiemento nel tempo - a(dist,ep)=g  a(dist,ep-1) con g<1 Decadimento logaritmo (o gaussiano): con (ep) una funzione monotona decrescente in ep Sistemi di supporto alle decisioni - Leonado Rigutini

Algoritmo di apprendimento non supervisionato Ripeti Per ogni esempio xi nel training set: determina l’unità vincente nj modifica i pesi dell’unità vincente e di quelle che si trovano in un suo intorno nel modo seguente: wj(t1) = wj (t)  a(ep,l)(xi  wj (t)) Nuova epoca: ep=ep+1 finché la rete non raggiunge una configurazione stabile Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map L’algoritmo di apprendimento delle SOM è molto semplice (non è necessario il calcolo di derivate): Viene selezionato il neurone j* con vettore dei pesi più vicino al pattern di input; tale neurone “richiama” il vettore di input e modifica il suo vettore dei pesi in modo da allinearlo a quello di input Vengono inoltre modificati i vettori dei pesi dei neuroni vicini a j* la rete cerca di creare regioni costituite da un ampio set di valori attorno all’input con cui apprende (cioè non fa corrispondere un solo valore all’input, ma un set di valori) i vettori che sono spazialmente vicini ai valori di training (apprendimento) saranno comunque classificati correttamente anche se la rete non li ha mai visti (capacità di generalizzazione) Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map Lo scopo di una SOM è quello di avere, per input simili, neuroni vincenti vicini, così che ogni bolla di attivazione rappresenti una classe di input con caratteristiche somiglianti La regione dei vicini può essere scelta come un quadrato, un cerchio o un esagono attorno al neurone vincente Il numero di vicini del neurone selezionato deve essere scelto grande all’inizio e fatto decrescere lentamente all’aumentare dei cicli di apprendimento Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Self Organizing Map Riassumendo… Le SOM realizzano il clustering dei dati, cioè una identificazione, nello spazio degli ingressi, di partizioni indotte dalle similitudini/differenze fra i dati Ogni partizione è rappresentata da un prototipo (centroide) definito dal valore dei pesi del neurone corrispondente Il clustering è di tipo non supervisionato: non si ha alcuna informazione a priori sulle classi di appartenenza dei dati A posteriori è possibile etichettare (classificare) dati in base alla partizione dello spazio degli ingressi cui appartengono Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - Leonado Rigutini Soft-clustering Tuttavia... il mondo reale non è “crisp” Effettuando il clustering non è sempre possibile definire in maniera precisa se un punto appartiene ad un cluster oppure ad un altro Sistemi di supporto alle decisioni - Leonado Rigutini