Lecture 10. Clustering

Documenti analoghi
Clustering. Leggere il Capitolo 15 di Riguzzi et al. Sistemi Informativi

Apprendimento basato sulle istanze

Clustering. Leggere il Capitolo 15 di Riguzzi et al. Sistemi Informativi

Riconoscimento automatico di oggetti (Pattern Recognition)

e applicazioni al dominio del Contact Management Andrea Brunello Università degli Studi di Udine

Clustering. Clustering

Intelligenza Artificiale. Clustering. Francesco Uliana. 14 gennaio 2011

Campionamento. Una grandezza fisica e' distribuita secondo una certa PDF

Introduzione alla Modellazione Predittiva Dal ML al DM: Concept Learning

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare!

Sistemi di Elaborazione dell Informazione 170. Caso Non Separabile

Clustering Mario Guarracino Data Mining a.a. 2010/2011

Esercizio: apprendimento di congiunzioni di letterali

Lecture 12. Clustering

Ricerca di outlier. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Riconoscimento e recupero dell informazione per bioinformatica

Apprendimento Automatico

Statistica per l Impresa

Alcuni concetti geometrici

Cluster Analysis Distanze ed estrazioni Marco Perugini Milano-Bicocca

Apprendimento Automatico

Data Journalism. Analisi dei dati. Angelica Lo Duca

Cenni di apprendimento in Reti Bayesiane

Lecture 10. Combinare Classificatori. Metaclassificazione

Lecture 8. Combinare Classificatori

Richiamo di Concetti di Apprendimento Automatico ed altre nozioni aggiuntive

Video Analysis (cenni) Annalisa Franco

Computazione per l interazione naturale: macchine che apprendono

Misura della performance di ciascun modello: tasso di errore sul test set

Apprendimento Bayesiano

Kernel Methods. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò

e applicazioni al dominio del Contact Management Andrea Brunello Università degli Studi di Udine

Metodi supervisionati di classificazione

Riconoscimento e recupero dell informazione per bioinformatica

Stima dei Redshift Fotometrici tramite il network SOM + K-NN

Riconoscimento e recupero dell informazione per bioinformatica. Clustering: validazione. Manuele Bicego

BLAND-ALTMAN PLOT. + X 2i 2 la differenza ( d ) tra le due misure per ognuno degli n campioni; d i. X i. = X 1i. X 2i

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

Learning finite Mixture- Models. Giuseppe Manco

Silvia Rossi. Cenni sulla complessità. Informatica. Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Programmazione I

Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello

Computazione per l interazione naturale: macchine che apprendono

e applicazioni al dominio del Contact Management Andrea Brunello Università degli Studi di Udine

Statistica di base per l analisi socio-economica

Riconoscimento e recupero dell informazione per bioinformatica

Minimi quadrati e massima verosimiglianza

Indice generale. Introduzione. Capitolo 1 Essere uno scienziato dei dati... 1

QUANTIZZATORE VETTORIALE

TEORIA DELL INFORMAZIONE ED ENTROPIA FEDERICO MARINI

Computazione per l interazione naturale: macchine che apprendono

Reti Neurali. Giuseppe Manco. References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop. Reti Neurali

Clustering con Weka. L interfaccia. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna. Algoritmo utilizzato per il clustering

Algoritmi di classificazione supervisionati

Tecniche di riconoscimento statistico

Università degli Studi di Roma Tor Vergata

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano

Selezione del modello Strumenti quantitativi per la gestione

Clustering con Weka. L interfaccia. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna. Algoritmo utilizzato per il clustering

Clustering con Weka Testo degli esercizi. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Clustering Salvatore Orlando

Clustering. Cos è un analisi di clustering

Computazione per l interazione naturale: modelli a variabili latenti (clustering e riduzione di dimensionalità)

Computazione per l interazione naturale: macchine che apprendono

Riconoscimento e recupero dell informazione per bioinformatica

Metodologie di Clustering

Apprendimento Automatico

Template matching Il problema del riconoscimento

Analisi di Raggruppamento

METODI DI STIMA DELL ORDINE p

Rischio statistico e sua analisi

Preprocessing. Corso di AA, anno 2017/18, Padova. Fabio Aiolli. 27 Novembre Fabio Aiolli Preprocessing 27 Novembre / 14

LA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE

Codifica di canale. (dalle dispense e dalle fotocopie) Trasmissione dell Informazione

Funzioni kernel. Docente: Nicolò Cesa-Bianchi versione 18 maggio 2018

Reti Neurali (Parte I)

Reti Neurali in Generale

Data mining: classificazione

Algoritmi e Strutture Dati

ANALISI DEI CLUSTER. In questo documento presentiamo alcune opzioni analitiche della procedura di analisi de cluster di

Introduzione all analisi di arrays: clustering.

Classificazione DATA MINING: CLASSIFICAZIONE - 1. Classificazione

SDE Marco Riani

Training Set Test Set Find-S Dati Training Set Def: Errore Ideale Training Set Validation Set Test Set Dati

Unsupervised Learning

Learning and Clustering

Reti Neurali. Corso di AA, anno 2016/17, Padova. Fabio Aiolli. 2 Novembre Fabio Aiolli Reti Neurali 2 Novembre / 14. unipd_logo.

Clustering. Corso di Apprendimento Automatico Laurea Magistrale in Informatica Nicola Fanizzi

Regressione Lineare. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò

Indici di. tendenza centrale: posizione: variabilità e dispersione: -quantili -decili -percentili. -Media -Moda -Mediana

Esplorazione grafica di dati multivariati. N. Del Buono

Riconoscimento e recupero dell informazione per bioinformatica

Indicizzazione di feature locali. Annalisa Franco

Statistica per l Impresa

Prova scritta di ASM - Modulo Analisi Esplorativa del

WEKA Data Mining System

Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano. Usa la tecnica del divide et impera:

1 Esercizio - caso particolare di ottimalità

Clustering. Introduzione Definizioni Criteri Algoritmi. Clustering Gerarchico

Transcript:

Lecture 10 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman

Outline Introduction K-means clustering Hierarchical clustering: COBWEB

Apprendimento supervisionato Dati Un insieme X di istanze su dominio multidimensionale Un funzione target c Il linguaggio delle ipotesi H Un insieme di allenamento D = {<x,c(x)>} Determinare L ipotesi h H tale che h(x) = c(x) per ogni x D Che sia consistente con il training set

Supervised vs. Unsupervised Learning Supervised learning (classificazione) Supervisione: il training set contiene l etichetta che indica la classe da apprendere I nuovi dati sono classificati sulla base di quello che si apprende dal training set Unsupervised learning (clustering) L etichetta di classe è sconosciuta Le istanze sono fornite con l obiettivo di stabilire se vi sono raggruppamenti (classi) tra i dati

Classificazione, Classificazione: Apprende un metodo per predire la classe dell istanza da altre istanze pre-classificate

Trova raggruppamenti naturali nei dati non etichettati Applicazioni tipiche Tool stand-alone to get insight into data distribution Passo di preprocessing per altri algoritmi

Trova raggruppamenti naturali nei dati non etichettati Applicazioni tipiche Tool stand-alone to get insight into data distribution Passo di preprocessing per altri algoritmi

Trova raggruppamenti naturali nei dati non etichettati Applicazioni tipiche Tool stand-alone to get insight into data distribution Passo di preprocessing per altri algoritmi

Trova raggruppamenti naturali nei dati non etichettati Applicazioni tipiche Tool stand-alone to get insight into data distribution Passo di preprocessing per altri algoritmi

, clusters Raggruppamento di dati in classi (clusters) che abbiano una significatività alta similarità intra-classe Bassa similarità inter-classe Qualità di uno schema di clustering La capacità di ricostruire la struttura nascosta similarità

Similarità, distanza Distanza d(x,y) Misura la dissimilarità tra gli oggetti Similarità s(x,y) S(x,y) 1/d(x,y) Esempio Proprietà desiderabili Definizione application-dependent Può richiedere normalizzazione Diverse definizioni per differenti tipi di attributi

Esempio Istanz X 1 X 2 X 3 I 1 0 0 0 I 2 1 0 0 I 3 2 0 0 I 4 2.5 2 0 I 5 3 0 0 I 6 1 2 1 I 7 1.5 0 1 I 8 2 2 1 I 9 3 2 1 I 10 4 2 1

Similarità e dissimilarità tra oggetti La distanza è utilizzata per misurare la similarità (o dissimilarità) tra due istanze Distanza di Minkowski (Norma L p ): Dove x = (x 1, x 2,, x d ) e y = (y 1, y 2,, y d ) sono due oggetti d-dimensionali, e p è un numero primo se p = 1, d è la distanza Manhattan Se p=

Similarità e dissimilarità tra oggetti [2] se p = 2, d è la distanza euclidea: Proprietà Translation-invariant Scale variant Varianti Distanza pesata Distanza Mahalanobis

Esempio Euclidea mahalanobis manhattan

Similarità e dissimilarità tra oggetti [3] Similarità del coseno Proprietà Translation variant Scale invariant Similarità di Jaccard (Tanimoto)

Rappresentazione grafica x = 2A 1 + 3A 2 + 5A 3 A y = 3A 1 + 7A 2 + A 3 3 Q = 0A 1 + 0A 2 + 2A 3 5 x = 2A 1 + 3A 2 + 5A 3 Q = 0A 1 + 0A 2 + 2A 3 2 3 A 1 y = 3A 1 + 7A 2 + A 3 A 2 7

Rappresentazione grafica euclidea Coseno Jaccard

Esempio Euclidea Coseno Jaccard

Attributi binari Distanza di Hamming Distanza Manhattan quando i valori possibili sono 0 o 1 In pratica, conta il numero di mismatches

Attributi binari Utilizzando la tabella di contingenza Oggetto y Oggetto x

Dissimilarità tra attributi binari Esempio gender è simmetrico Tutti gli altri sono asimmetrici Poniamo Y e P uguale a 1, e N a 0

Variabili Nominali Generalizzazione del meccanismo di variabili binarie Metodo 1: Matching semplice m: # di matches, p: # di attributi nominali metodo 2: binarizzazione Metodo 3: Jaccard su insiemi

Combinare dissimilarità x,y x R, y R : attributi numerici x n, y n : attributi nominali Va garantita la stessa scala

Metodi di clustering Una miriade di metodologie differenti: Dati numerici/simbolici Deterministici/probabilistici Partizionali/con overlap Gerarchici/piatti Top-down/bottom-up

per enumerazione Utilizzando come criterio Il numero di possibili clusterings sarebbe S(10,4)=34.105

L algoritmo più semplice: K-means Algorithm K-Means(D, k) m D.size // numero di istanze FOR i 1 TO k DO µ i random // scegli un punto medio a caso WHILE (condizione di terminazione) FOR j 1 TO m DO // calcolo del cluster membership h argmin 1 i k dist(x j, µ i ) C[h] x j FOR i 1 TO k DO µ i RETURN Make-Predictor (w, P)

Esempio [1] Y Scegliamo 3 centri iniziali X

Esempio [1] Y k 1 Scegliamo 3 centri iniziali k 2 k 3 X

Esempio [2] Y k 1 Assegniamo ogni punto al cluster più vicino k 2 k 3 X

Esempio [3] Y Ricalcoliamo il centroide k 2 k 2 k 1 k 1 k 3 k 3 X

Esempio [3] Y Ricalcoliamo il centroide k 2 k 2 k 1 k 1 k 3 k 3 X

Esempio [4] Riassegniamo i punti ai Y clusters k 1 k 2 k 3 X

Esempio [5] Punti riassegnati Y k 1 k 2 k 3 X

Esempio [5] Punti riassegnati Y k 1 k 2 k 3 X

Esempio [5] Punti riassegnati Y k 1 k 2 k 3 X

Esempio [5] Punti riassegnati Y k 1 k 2 k 3 X

Esempio [5] Y Ricalcoliamo i centroidi k 1 k 2 k 3 X

Esempio [7] k 1 Y k 2 k 3 X

Quale criterio di stop? Cos è il centroide? Misura della compattezza di un cluster Misura della compattezza del clustering Teorema Ad una generica iterazione t,

Il metodo K-Means Vantaggi: Relativamente efficiente: O(tkn), dove n è il numero di oggetti, k il numero di clusters e t il numero di iterazioni. Di solito, k, t << n. Al confronto: PAM: O(k(n-k) 2 ), CLARA: O(ks 2 + k(n-k)) Converge ad un ottimo locale. L ottimo globale può essere trovato ricorrendo a varianti (ad esempio, basati su algoritmi genetici) Punti critici Applicabile solo quando il punto medio ha senso Attributi nominali? K va dato in input Qual è il numero ottimale? Incapace di gestire outliers e rumore Non adatto a scoprire forme non convesse

Varianti Selezione dei centri iniziali Strategie per calcolare i centroidi L algoritmo k-modes (Huang 98) Dati categorici Usiamo le mode invece dei centroidi Usiamo Hamming L update si basa sul cambiamento di frequenze Modelli misti: k-prototype

Varianti K-medoids invece del centroide, usa il punto mediano La media di 1, 3, 5, 7, 9 è La media di 1, 3, 5, 7, 1009 è La mediana di 1, 3, 5, 7, 1009 è Problema: come calcolare il medoide?

Varianti K-medoids invece del centroide, usa il punto mediano La media di 1, 3, 5, 7, 9 è La media di 1, 3, 5, 7, 1009 è La mediana di 1, 3, 5, 7, 1009 è Problema: come calcolare il medoide? 5

Varianti K-medoids invece del centroide, usa il punto mediano La media di 1, 3, 5, 7, 9 è La media di 1, 3, 5, 7, 1009 è La mediana di 1, 3, 5, 7, 1009 è Problema: come calcolare il medoide? 5 205

Varianti K-medoids invece del centroide, usa il punto mediano La media di 1, 3, 5, 7, 9 è La media di 1, 3, 5, 7, 1009 è La mediana di 1, 3, 5, 7, 1009 è Problema: come calcolare il medoide? 5 5 205

Algoritmo PAM 1. Seleziona k oggetti m 1,, m k arbitrariamente da D m 1,, m k rappresentano i medoidi 2. Assegna ogni oggetto x D al cluster j (1 j k) che ne minimizza la distanza dal medoide Calcola cost(s) current 3. Per ogni coppia (m,x) 1. Calcola cost(s) x m 4. Seleziona la coppia (m,x) per cui cost(s) x m è minimale 5. Se cost(s) x m < cost(s) current Scambia m con x 6. Ritorna al passo 3 (2)

Problemi con PAM Più robusto del k-means in presenza di rumore e outliers Un medoide è meno influenzato del centroide dalla presenza di outliers Efficiente su pochi dati, non scala su dati di grandi dimensioni. O(k(n-k) 2 ) per ogni iterazione Alternative basate sul campionamento CLARA( LARge Applications) CLARANS

Varianti al K-Medoid CLARA [Kaufmann and Rousseeuw,1990] Parametro addizionale: numlocal Estrae numlocal campioni dal dataset Applica PAM su ogni campione Restituisce il migliore insieme di medoidi come output Svantaggi: L efficienza dipende dalla dimensione del campione Non necessariamente un clustering buono sul campione rappresenta un clustering buono sull intero dataset Sample bias CLARANS [Ng and Han, 1994) Due ulteriori parametri: maxneighbor e numlocal Vengono valutate al più maxneighbor coppie (m,x) La prima coppia (m,x) per cui cost(s) x m < cost(s) current è scambiata Evita il confronto con la coppia minimale Si ripete la progedura numlocal volte per evitare il minimo locale. runtime(clarans) < runtime(clara) < runtime(pam)

Scelta dei punti iniziali [Fayyad, Reina and Bradley 1998] costruisci m campioni differenti da D Clusterizza ogni campione, fino ad ottenere m stime per i k rappresentanti A = (A 1, A 2,, A k ), B = (B 1, B 2,, B k ),..., M = (M 1, M 2,, M k ) Clusterizza DS= A B M m volte utilizzando gli insiemi A, B,..., M come centri iniziali Utilizza il risultato migliore come inizializzazione sull intero dataset

Inizializzazione D Centri su 4 campioni Centri effettivi

Scelta del parametro k Iterazione Applica l algoritmo per valori variabili di k K=1, 2, Scegli il clustering migliore Come scegliere il clustering migliore? La funzione cost(s) è strettamente decrescente K 1 > k 2 cost(s 1 ) < cost(s 2 ) Indici di bontà di un cluster

Indici di bontà In generale, si valuta intra-similarità e intersimilarità a(x): distanza media di x dagli oggetti del cluster A cui x appartiene b(x): distanza media di x dagli oggetti del secondo cluster B più prossimo a x Coefficiente su x s x =-1: x è più prossimo agli elementi di B s x = 0: non c è differenza tra A e B s x = 1: x è stato clusterizzato bene Generalizzazione s c Media dell indice su tutti gli oggetti Valori bassi: clustering debole Valori alti: clustering robusto

Minimum description Length Il principio del Minimum Description Length Rasoio di Occam: le ipotesi più semplici sono più probabili (Il termine Pr(D) non dipende da M e può essere ignorato) Più alto è Pr(M D), migliore è il modello

Minimum Description Length, Numero ottimale di clusters Fissiamo un range possibile di valori per k k = 1...K (con K abbastanza alto) Calcoliamo Pr(M k D) per ogni k Il valore k che esibisce il valore più alto è il migliore Problema: Come calcoliamo Pr(M k D)?

Bayesian Information Criterion e Minimum Description Length Problema: calcolare Idea: adottiamo il trick del logaritmo Cosa rappresentano i due termini? = accuratezza del modello = complessità del modello

Bayesian Information Criterion = accuratezza del modello Assunzione: algoritmo K-Means, distanza euclidea La giustificazione è data dall interpretazione gaussiana del clustering K-Means

Bayesian Information Criterion = complessità del modello Intuitivamente, quanti più cluster ci sono, più il clustering è complesso E quindi, meno è probabile Adottando un criterio basato sull encoding (in bit) dell informazione relativa i clusters, otteniamo Per ogni tuple nel dataset, codifichiamo a quale cluster appartiene

Bayesian Information Criterion Codifica il costo di un clustering M fatto di k clusters Direttamente proporzionale al costo del clustering dei dati Più i cluster sono omogenei, meno costoso è il clustering Inversamente proporzionale al costo del modello Quanti meno clusters ci sono, meno costoso è il clustering α è una costante di normalizzazione (serve a confrontare valori che potrebbero avere scale diverse)