Clustering Salvatore Orlando

Похожие документы
Clustering. Cos è un analisi di clustering

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

Riconoscimento e recupero dell informazione per bioinformatica

Cluster Analysis Distanze ed estrazioni Marco Perugini Milano-Bicocca

Riconoscimento automatico di oggetti (Pattern Recognition)

Introduzione all analisi di arrays: clustering.

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

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

Business Intelligence

Ingegneria della Conoscenza e Sistemi Esperti Lezione 2: Apprendimento non supervisionato

Statistica di base per l analisi socio-economica

PROCEDURE/TECNICHE DI ANALISI / MISURE DI ASSOCIAZIONE A) ANALISI DELLA VARIANZA

L A B C di R. Stefano Leonardi c Dipartimento di Scienze Ambientali Università di Parma Parma, 9 febbraio 2010

Indicatori compositi. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali

Scale di Misurazione Lezione 2

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

Analisi delle corrispondenze

Compiti tematici dai capitoli 2,3,4

La variabilità. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali

REGRESSIONE E CORRELAZIONE

SCOPO DELL ANALISI DI CORRELAZIONE

LA DISTRIBUZIONE NORMALE o DI GAUSS

Statistica descrittiva: misure di associazione

Teoria e tecniche dei test. Concetti di base

Concetti di teoria dei campioni ad uso degli studenti di Statistica Economica e Finanziaria, A.A. 2016/2017. Giovanni Lafratta

0 altimenti 1 soggetto trova lavoroentro 6 mesi}

Alberi Decisionali Per l analisi del mancato rinnovo all abbonamento di una rivista

Segmentazione di immagini in scala di grigio basata su clustering

Esplorazione dei dati. Lucidi e dataset tratti da Turini - Analisi dei Dati, Dip. Inf. Unipi

Statistica multivariata 27/09/2016. D.Rodi, 2016

Test di ipotesi su due campioni

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

Sintesi dei dati in una tabella. Misure di variabilità (cap. 4) Misure di forma (cap. 5) Statistica descrittiva (cap. 6)

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Regressione Lineare Semplice e Correlazione

Statistica multivariata

Statistica. Matematica con Elementi di Statistica a.a. 2015/16

Metodologia di implementazione del sistema per la spazializzazione dei dati meteo

STATISTICA 1 ESERCITAZIONE 6

STATISTICA 1 ESERCITAZIONE 2

TECNICHE DI POSIZIONAMENTO

LEZIONI IN LABORATORIO Corso di MARKETING L. Baldi Università degli Studi di Milano. Strumenti statistici in Excell

Esercitazione del

le scale di misura scala nominale scala ordinale DIAGNOSTICA PSICOLOGICA lezione si basano su tre elementi:

Problemi, istanze, soluzioni

Corso di Intelligenza Artificiale A.A. 2016/2017

2.2 Alberi di supporto di costo ottimo

Esercizi di statistica

Teoria e tecniche dei test

Regressione Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007

Possibile applicazione

Esercitazione di Statistica Indici di associazione

a.a Esercitazioni di Statistica Medica e Biometria Corsi di Laurea triennali Ostetricia / Infermieristica Pediatrica I anno

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

Sperimentazioni di Fisica I mod. A Statistica - Lezione 2

Il modello di regressione (VEDI CAP 12 VOLUME IEZZI, 2009)

Programmazione dinamica

Note sull implementazione in virgola fissa di filtri numerici

METODO DEI MINIMI QUADRATI

Il Metodo Scientifico

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

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

Le sequenze consenso

Dispensa di Statistica

Luigi Santoro. Hyperphar Group S.p.A., MIlano

Cartografie tematiche: principi e modalità di realizzazione. Mauro Giovanni Univ. di Trieste

Classificazione Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007

Celle di fabbricazione

Statistica. Alfonso Iodice D Enza

CORSO DI STATISTICA (parte 1) - ESERCITAZIONE 3

TRACCIA DI STUDIO. Indici di dispersione assoluta per misure quantitative

Strutture di accesso ai dati: B + -tree

Tipi di variabili. Indici di tendenza centrale e di dispersione

Reti Neurali in Generale

Транскрипт:

Clustering Salvatore Orlando Data e Web Mining. - S. Orlando 1

Cos è un analisi di clustering Obiettivo dell analisi di clustering Raggruppare oggetti in gruppi con un certo grado di omogeneità Cluster: collezione di oggetti/dati Simili rispetto a ciascun oggetto nello stesso cluster Dissimili rispetto agli oggetti in altri cluster Clustering è anche definito come unsupervised classification: Come per la classificazione, lo scopo è segmentare i dati, ma senza assegnare etichette di classe Non abbiamo infatti classi predefinite, ma ogni cluster può essere interpretata come una classe di oggetti simili Applicazioni tipiche Come uno strumento stand-alone per cercare di capire come i dati sono distribuiti Come passo di preprocessing per altri algoritmi Data e Web Mining. - S. Orlando 2

Applicazioni Image Processing & Pattern Recognition Analisi di dati spaziali Creazione di mappe tematiche nei GIS Scienze Economiche (market research) WWW Raggruppamento di documenti simili Clustering di Weblog per scoprire gruppi di pattern di accesso simili ad un sito Web Data e Web Mining. - S. Orlando 3

Esempi Marketing: Scopri gruppi distinti, e poi usa questa conoscenza per sviluppare programmi di targeted marketing Land use: Identifica aree terrestri simili rispetto ad osservazione della terra (satellite) Assicurazioni: Identifica gruppi di assicurati con caratteristiche comuni City-planning: Identifica gruppi di case sulla base di tipo, valore, e localizzazione geografica Studi di terremoti: Clustering di epicentri Data e Web Mining. - S. Orlando 4

Bontà del clustering Un buon metodo di clustering produrrà cluster di alta qualità con Alta similarità intra-class Bassa similarità inter-class Intra-cluster distances are minimized Inter-cluster distances are maximized Data e Web Mining. - S. Orlando 5

Bontà del clustering La qualità del risultato del clustering dipende dalla misura di similarità usata, o dallo specifico algoritmo usato La qualità del clustering è anche misurato in base alla sua abilità di scoprire alcuni o tutti i pattern nascosti Purtroppo la nozione di cluster può essere ambigua: How many clusters? Six Clusters Two Clusters Four Clusters Data e Web Mining. - S. Orlando 6

Requisiti di un buon metodo di clustering Scalabilità Abilità di trattare con tipi di attributi differenti Scoprire cluster con forme arbitrarie Minima conoscenza di dominio per determinare i migliori attributi in input Robustezza per poter trattare con rumori e outlier Non sensibilità all ordinamento dei record in input Capacità di trattare con alta dimensionalità Capacità di incorporare vincoli specificati dagli utenti Interpretabilità e usabilità dei risultati Data e Web Mining. - S. Orlando 7

Tipi di dati Matrice dei dati n oggetti con p attributi Tabella relazionale Matrice di dissimilarità o distanza d(i, j) misura di dissimilarità tra oggetti i e j d(i, j) 0 oggetti molto simili Data e Web Mining. - S. Orlando 8

Misura la qualità del clustering Metrica di Dissimilarità/Similarità: Similarità espressa anche in funzione della distanza: per esempio, per variabili numeriche: sim(i,j) = 1 / (1 + d(i,j)) (sim tende a 0 se d(i,j) diventa molto grande, sim=1 se d(i,j) è uguale a 0) Le definizioni di funzioni di distanza sono molto differenti per i tipi di dati interval-scaled, booleane, categoriche, ordinali, ecc. Pesi potrebbero dover essere associati con variabili differenti in base all applicazione o alla semantica dei dati In funzione della misura di distanza, in alcuni casi sarà anche possibile misurare la qualità - bontà del risultato del clustering Data e Web Mining. - S. Orlando 9

Tipi di dati Variabili numeriche Variabili binarie Variabili categoriche: nominali, ordinali Variabili di tipo misto Data e Web Mining. - S. Orlando 10

Variabili numeriche (interval-scaled): Standardizzazione Valori delle variabili/attributi misurati su scala lineare Le differenze tra valori sono significative, indipendentemente dalle grandezze assolute dei valori in gioco Necessario comunque standardizzare i dati Per evitare dipendenze dall unità di misura dalle variabile f Calcola la deviazione assoluta media: dove m f è la media: Calcola la misura standardizzata (z-score) z if =0 se x if =m f z if =±1 se x if -m f = s f Deviazione assoluta media più robusta della deviazione standard x if - m f non è elevato al quadrato, riducendo i problemi dovuti a outliers Data e Web Mining. - S. Orlando 11

Variabili numeriche: distanza Distanze per misurare similarità o dissimilarità tra coppie oggetti Minkowski distance dove i = (x i1, x i2,, x ip ) e j = (x j1, x j2,, x jp ) sono due oggetti associati con vettori p-dimensionali, mentre q è un intero positivo Se q = 1, d è la distanza Manhattan (L 1 norm) La distanza di Hamming, che è il numero di bits differenti tra due vettori binari, è una L 1 norm Data e Web Mining. - S. Orlando 12

Variabili numeriche: distanza (cont.) Se q = 2, d è la Distanza Euclidea (L 2 norm): Proprietà della distanza euclidea (spazio metrico) d(i,j) 0 e d(i,i) = 0 (Positività) d(i,j) = d(j,i) (Simmetria) d(i,j) d(i,k) + d(k,j) (Disuguaglianza Triangolare) q supremum (L max norm, L norm) Massima differenza tra le varie componenti dei due vettori Data e Web Mining. - S. Orlando 13

Esempio di distanza di Minkowski Matrice di Distanza Data e Web Mining. - S. Orlando 14

Tutte le distanze sono metriche? Non tutte le distanze sono metriche Ad esempio, la distanza tra due variabili che esprimono le ore del giorno: Stesso giorno o giorni consecutivi d(1pm, 2PM) = 1 ora d(2pm, 1PM) = 23 ore Un altro esempio si distanza per cui non vale la proprietà di simmetria è la set difference tra due insiemi A e B, definito come d(a,b) = A-B Se A={1,2,3,4} e B={2,3,4} d(a, B) = A-B = {1} = 1 d(b, A) = B-A = emptyset = 0 Un modo comune di rendere una misura simmetrica è la seguente, anche se certi casi potrebbe far perdere la semantica della misura stessa d (x, y) = d (y, x) = (d(x, y) + d(y, x)) / 2 Non vale la proprietà di simmetria Data e Web Mining. - S. Orlando 15

Variabili binarie Tabella di contingenza per due vettori binari i, j di p elementi: Oggetto j Oggetto i Coefficiente di matching semplice (variabili simmetriche): sim(i, j)= q+t p Coefficiente di Jaccard (variabili asimmetriche, valori 0 sono meno significativi): Data e Web Mining. - S. Orlando 16

Dissimilarità usando Jaccard Esempio Y e P corrispondono a 1, mentre N corrisponde a 0 Sesso è un attributo simmetrico (non considerato) Gli altri attributi sono asimmetrici (valore N (0) è molto più probabile) Data e Web Mining. - S. Orlando 17

Cosine similarity d 1 e d 2 sono document vectors ciascun attributo è la frequenza di un dato termine del documento vettori sparsi, le coppie 0-0 sono poco importanti Cosine similarity (simile a Jaccard, per dati sparsi NON binari): cos( d 1, d 2 ) = (d 1 d 2 ) / ( d 1 d 2 ) dove indica il prodotto vettoriale, mentre d la lunghezza del vettore d. misura del COSENO dell angolo θ tra i due vettori 90 = sim. uguale a 0 0 = similarità uguale a 1 Esempio: d 1 = 3 2 0 5 0 0 0 2 0 0 d 2 = 1 0 0 0 0 0 0 1 0 2 θ d 1 d 2 = 3*1 + 2*0 + 0*0 + 5*0 + 0*0 + 0*0 + 0*0 + 2*1 + 0*0 + 0*2 = 5 d 1 = (3*3+2*2+0*0+5*5+0*0+0*0+0*0+2*2+0*0+0*0) 0.5 = (42) 0.5 = 6.481 d 2 = (1*1+0*0+0*0+0*0+0*0+0*0+0*0+1*1+0*0+2*2) 0.5 = (6) 0.5 = 2.45 cos( d 1, d 2 ) =.31 Data e Web Mining. - S. Orlando 18

Pearson s Correlation La correlazione misura la relazione lineare tra due oggetti x e y, rappresentati con vettori di n misure numeriche r xy = n i=1 (x i x)(y i y) (n 1)s x s y s x s y x y dove e sono le deviazioni standard e e sono le medie Nota che nella formula appare anche una misura nota come covarianza cov xy = n i=1 (x i x)(y i y) (n 1) Data e Web Mining. - S. Orlando 19

Pearson s Correlation La correlazione va da -1 a 1 Una correlazione di 1 (-1) significa che x e y hanno una correlazione perfetta positiva (negativa) 1. Es. di correlazione negativa = -1 (media = 0): x = (-3, 6, 0, 3, -6) x y = (1, -2, 0, -1, 2) k = -3 y k 2. Es. di correlazione positiva = 1: x = (3, 6, 0, 3, 6) x y = (1, 2, 0, 1, 2) k = 3 y k 3. Es. di correlazione = 0: x = (-3, -2, -1, 0, 1, 2, 3) y k = x 2 k y = (9, 4, 1, 0, 1, 4, 9) La correlazione è ad esempio usata per confrontare due clienti che hanno effettuato il ranking dello stesso insieme di n prodotti: Il vettore riporta i voti assegnati ai vari prodotti Due clienti sono simili anche se il loro max e minimo voto assegnato ai vari prodotti non è identico (vedi esempio 1) Data e Web Mining. - S. Orlando 20

Valutare la correlazione in modo visuale Scatter plots showing the similarity from 1 to 1. 21 coppie di vettori x e y, con 30 attributi casuali I plot visualizzano la correlazione tra coppie di attributi Ogni cerchio corrisponde alla componente x i e y i dei due vettori, normalizzati in modo che cadano nell intervallo [0-1] Nota i valori della normalizzazione e la disposizione dei punti Data e Web Mining. - S. Orlando 21

Variabili nominali Una variabile categorica che può avere più stati Es.: rosso, giallo, blu, verde Possiamo pensare ad una generalizzazione delle misure usate per le variabili binarie (da 2 valori ad n valori) considerando i mach m : # di match, p : # totale di variabili sim(i, j)= m p Possiamo codificare le variabili nominali con un gran numero di variabili binarie Una nuova var. binaria per ciascuno dei valori assunti da una variabile nominale Possiamo così usare le stesse misure usate per le var. binarie Data e Web Mining. - S. Orlando 22

Variabili ordinali: trasformazione Una variabile ordinale è in pratica una variabile nominale con un ordine tra i valori assunti Assegniamo un rango numerico (rank) ad ogni valore assunto Possiamo così trattare tali variabili, e calcolarne la dissimilarità, come se fossero interval-based rimpiazziamo x if con il suo rango, dove M f sono i valori diversi assunti da x if possiamo trasformare i valori sull intervallo [0, 1] rimpiazzando l i- esimo valore della f-esima variabile con z if =0 se r if =1 z if =1 se r if =M f Data e Web Mining. - S. Orlando 23

Variabili numeriche (ratio-scaled) Sono valori numerici misurati su una scala non lineare di valori Ad esempio, la crescita nel tempo di una popolazione di batteri Scala esponenziale della misura y: y = A e ±Bt Questo può essere problematico per le misure di distanza associate, a causa della distorsione della scala Es: distanze piccole tra valori campionati vicini allo zero, e distanze grandi tra valori lontani dallo zero Soluzioni applicare una trasformazione (logaritmica) in modo da trasformarli in interval-scaled, o cosiderare i valori come ordinali, assegnando un rango e applicare la distanza usata per variabili numeriche di tipo intervalscaled Data e Web Mining. - S. Orlando 24

Variabili di tipo diverso Oggetti x i e x j caratterizzati da p attributi di tipo diversi Numerici, nominali, ordinali, ecc. x i = {x i1 x i2. x ip } x j = {x j1 x j2. x jp } Si può usare una formula pesata per rappresentare gli effetti delle distanze calcolate con metodi diversi (dove f è l indice di un generico attributo) δ ij (f) = 0 se x if o x jf non esistono nei due oggetti i e j se x if = x jf = 0 e l attributo f è binario asimmetrico altrimenti δ ij (f) = 1 Data e Web Mining. - S. Orlando 25

Variabili di tipo diverso Se f è binario o nominale: d (f) ij = 0 se x if = x jf, d (f) ij = 1 altrimenti Se f è numerico interval-scaled: usa distanza normalizzata f è ordinale o ratio-scaled: calcola i ranghi r if e tratta z if come numerica interval-scaled In pratica tutti i vari d (f) ij saranno compresi nell intervallo [0-1] il denominatore sarà maggiore del numeratore, e sarà uguale a p, dove p < p è il numero di variabili che esistono in entrambi gli oggetti, e che non sono binarie asimmetriche Data e Web Mining. - S. Orlando 26

Curse (maledizione) of dimensionality Quando le dimensioni (attributi) di un oggetto aumentano, i dati diventano sempre più sparsi nello spazio occupato Le definizioni di distanza tra oggetti (ed anche di densità), critici per gli algoritmi di clustering e outlier detection, diventano meno significativi 500 punti generati casualmente Calcola la distanza max e min tra ogni coppia di punti (matrice di distanza) Data e Web Mining. - S. Orlando 27

Riduzione della dimensionalità Scopo: Evitare il fenomeno detto: curse of dimensionality Ridurre tempo e spazio impiegato dagli algoritmi di mining Permettere una più semplice visualizzazione dei dati Per eliminare feature irrilevanti o rumore Principali Tecniche dell Algebra Lineare che si applicano a oggetti rappresentati come vettori Principal Component Analysis (PCA) x 2 Singular Value Decomposition (SVD) Scopo della PCA Trovare un numero minore di dimensioni, su cui proiettare i punti originali, dove queste dimensioni catturano la più grande variazione nei dati (massimizzano la varianza) e x 1 Data e Web Mining. - S. Orlando 28

Similarità vs. Dissimilarità Similarità Misura numerica Alta se gli oggetti sono più simili Spesso nel range [0,1] Dissimilarità (distanza) Misura numerica Bassa quando gli oggetti sono differenti Il minimo valore è spesso 0 Il valore massimo spesso varia, a meno di normalizzazioni Data e Web Mining. - S. Orlando 29

Similarità vs. Dissimilarità p e q sono valori di attributi di due oggetti Data e Web Mining. - S. Orlando 30

Una categorizzazione dei più importanti metodi di clustering Partitional algorithms: Costruisci varie partizioni disgiunti e poi valutali sulla base di qualche criterio. Metodi iterativi. Hierarchical algorithms: Crea una decomposizione gerarchica degli oggetti sulla base di qualche criterio Density-based: basata su funzioni di densità degli oggetti Grid-based: basata su una discretizzazione dello spazio multidimensionale (griglia composta da celle che ospitano i vari oggetti) Model-based: Metodo statistico. Si ipotizza via via un modello per ciascun cluster: l idea è quella di trovare il migliore assegnamento dei dati rispetto al modello Data e Web Mining. - S. Orlando 31

Partional vs. Hierarchical Una prima distinzione è tra un tipo di clustering hierarchical o partitional Partitional Clustering Gli oggetti sono suddivisi in sottoinsiemi (cluster) che non si sovrappongono (disgiunti) Ciascun oggetto appartiene ad un solo cluster Hierarchical clustering I cluster sono annidati, e organizzati all interno di albero gerarchico Data e Web Mining. - S. Orlando 32

Partitional clustering Punti originali Partitional Clustering Data e Web Mining. - S. Orlando 33

Hierarchical Clustering Traditional Hierarchical Clustering Traditional Dendrogram Data e Web Mining. - S. Orlando 34

Altre caratterizzazioni dei metodi di clustering Esclusivo vs. Non-esclusivo Nel clustering non esclusivo, i punti possono appartenere a più cluster Fuzzy vs. non-fuzzy (fuzzy=sfuocato) In fuzzy clustering, un punto appartiene ad ogni cluster con un peso compreso tra 0 e 1 La somma dei pesi deve essere 1 Probabilistic clustering Parziale vs. completo In alcuni casi vogliamo soltanto effettuare il clustering di una parte dei dati Ad esempio, possiamo tralasciare punti che sono outliers rispetto agli altri Data e Web Mining. - S. Orlando 35

Tipi di Cluster: Ben-Separati Cluster ben-separati Un cluster è costituito da un insiemi di punti tali che per ogni punto appartenente ad un cluster, questo punto è più vicino (o più simile) ad ogni altro punto del proprio cluster rispetto a tutti gli altri punti Data e Web Mining. - S. Orlando 36

Tipi di Cluster: Center-based Center-based Un cluster è costituito da un insiemi di punti tali che per ogni punto appartenente ad un cluster, questo punto è più vicino (più simile) al centro del proprio cluster rispetto a tutti gli altri centri Possibili centri: Centroid: è una media di tutti i punti nel cluster Medoid: il punto più rappresentativo Data e Web Mining. - S. Orlando 37

Tipi di Cluster: Contiguos Cluster Contiguous Cluster (Nearest neighbor) Un cluster è costituito da un insieme di punti tali che per ogni punto appartenente ad un cluster, questo punto è più vicino (più simile) ad uno o più punti appartenenti al proprio cluster rispetto a tutti gli altri punti Data e Web Mining. - S. Orlando 38

Tipi di Cluster: Density based Density-based Un cluster è una regione densa di punti I cluster sono separati da regioni a bassa densità Si usa questa nozione se i cluster sono irregolari, e se sono presenti rumori o outlier Nota che, rispetto alla slide precedente Le tre curve non formano dei cluster, e diventano rumore scartato dall algoritmo Non abbiamo il collegamento tra i due piccoli cluster circolari Data e Web Mining. - S. Orlando 39

Partitioning method Partitioning method: Partiziona il database D di n oggetti in un insieme di k cluster Dato un valore k, trova un partizionamento in k cluster che ottimizza il criterio di partizionamento scelto Ricerche dell ottimo globale (non computabili): enumerazione esaustiva di tutte le partizioni possibili Metodi di ricerca euristici (minimo locale): algoritmi k-means e k- medoids k-means (MacQueen 67): Ogni cluster è rappresentato dal centro (media) del cluster k-medoids o PAM (Partition around medoids) (Kaufman & Rousseeuw 87): Ogni cluster è rappresentato da uno degli oggetti del cluster Data e Web Mining. - S. Orlando 40

Algoritmo K-Means Dato k, l algoritmo k-means è implementato in passi iterativi, ed individua cluster center-based: Scegli (in modo casuale) k punti che rappresentano i centroidi (means) iniziali dei cluster Repeat 1. Assegna ciascun oggetto al centro del cluster più vicino 2. Ricalcola i centroidi (punti medi) dei cluster trovati. Until Gli assegnamenti non cambiano (o cambiano poco) Data e Web Mining. - S. Orlando 41

Algoritmo K-Means Esempio Data e Web Mining. - S. Orlando 42

Commenti sul K-Means Forze Relativamente efficiente: O(tknd), dove n è il # di oggetti, k è il # di cluster, t è il # di iterazioni, e d è il # di attributi. Normalmente abbiamo che k e t << n. Il calcolo può diventare oneroso per valori di d grandi. Debolezze Spesso termina su un ottimo locale. L ottimo globale può essere approssimato usando tecniche come: deterministic annealing e genetic algorithm Può essere applicato solo quando il tipo di dato permette di definire la media (che serve per determinare i centroidi del cluster) Problemi con dati categorici Bisogna specificare in anticipo k, il numero di cluster Ha altri problemi che dipendono dalle caratteristiche dei cluster presenti nei dati Data e Web Mining. - S. Orlando 43

Variazioni dei metodi K-Means Esistono alcune varianti di k-means che hanno a che fare con La selezione dei k means iniziali Nuove misure di dissimilarità per trattare dati categorici Strategie per calcolare i centroidi dei cluster Data e Web Mining. - S. Orlando 44

Due risultati differenti usando K-means Original Points Optimal Clustering Sub-optimal Clustering Data e Web Mining. - S. Orlando 45

L importanza di scegliere i centroidi iniziali Data e Web Mining. - S. Orlando 46

L importanza di scegliere i centroidi iniziali Data e Web Mining. - S. Orlando 47

Valutare il clustering prodotto La misura di valutazione più comune è Sum of the Squared Error (SSE) Calcolo di SSE Per ciascun punto p, l errore è la distanza rispetto al centro (centroide, medoide) m i del cluster C i di appartenenza Per ottenere SSE, eleviamo al quadrato e sommiamo i vari errori il quadrato può amplificare SSE in presenza di outlier SSE = k i=1 p C i dist(p, m i ) 2 Dati due clustering ottenuti con diversi run di K-means, possiamo scegliere quello che minimizza l errore Un modo semplicistico per ridurre SSE è aumentare K, il numero di cluster Data e Web Mining. - S. Orlando 48

Problemi legati ai cluster presenti nei dati K-means ha problemi quando i cluster hanno differenti Dimensioni Densità Forma non globulare K-means ha ancora problemi quando i dati presentano outliers Una soluzione è usare K alti (molti clusters) I cluster trovati sono partizioni dei cluster effettivamente presenti Necessario rimettere assieme le partizioni trovate Data e Web Mining. - S. Orlando 49

K-means e scelta iniziale dei centroidi Possibili soluzioni Run multiple Campiona e usa un clustering gerarchico per determinare i centroidi iniziali Seleziona più di K centroidi iniziali e poi seleziona tra questi Seleziona quelli meglio separati (problemi con outlier) Valutare la curva di SSE all aumentare di K discusso in seguito Bisecting K-means (metodo gerarchico partitivo) Data e Web Mining. - S. Orlando 50

Limiti di K-means: Dimensioni differenti Original Points K-means Clusters Data e Web Mining. - S. Orlando 51

Limiti di K-means: Densità differenti Original Points K-means Clusters Data e Web Mining. - S. Orlando 52

Limiti di K-means: Forme non globulari Original Points K-means Clusters Data e Web Mining. - S. Orlando 53

Aumentiamo K per superare i problemi di K-means Original Points K-means Clusters Data e Web Mining. - S. Orlando 54

Aumentiamo K per superare i problemi di K-means Original Points K-means Clusters Data e Web Mining. - S. Orlando 55

Aumentiamo K per superare i problemi di K-means Original Points K-means Clusters Data e Web Mining. - S. Orlando 56

Pre e post processing per il K-means Pre-processing Normalizzare i dati Rimuovere gli outlier Post-processing Eliminare i cluster piccoli che possono essere outlier Spezzare i cluster deboli, es. con SSE relativamente alto Unisci i cluster che sono vicini e che hanno un SSE relativamente basso E possibile usare queste strategie anche durante l esecuzione Data e Web Mining. - S. Orlando 57

Bisecting K-means Variante di of K-means che può produrre un clustering partitionale o gerarchico Data e Web Mining. - S. Orlando 58

Esempio di Bisecting K-means Data e Web Mining. - S. Orlando 59

Algoritmo K-medoids Trova oggetti rappresentanti, chiamati medoids, per ogni cluster Rispetto a K-means, possiamo applicare l algoritmo anche se il tipo di dato non permette di definire la media (es. dati categorici) Deve comunque essere possibile definire una nozione di distanza o similarità tra gli oggetti Metodo più robusto in presenza di outliers PAM (Partitioning Around Medoids, 1987) Inizia da un insieme iniziale di medoids Iterativamente tenta di rimpiazzare uno dei medoid con un non-medoids se il rimpiazzamento migliora la distanza totale SSE del nuovo clustering, mantieni la modifica PAM funziona bene per piccoli dataset, ma non scala bene Data e Web Mining. - S. Orlando 60

Algoritmo K-medoids Scegli in modo arbitrario k medoids dagli oggetti da raggruppare Assegna i rimanenti oggetti al medoid più vicino (o più simile) Repeat 1. Seleziona in modo random un oggetto non-medoid (o random ) da scambiare con o j (vecchio medoid), e riassegna 2. Calcola il costo totale relativo allo nuovo clustering ottenuto scambiando o j con o random 3. Se guadagno rispetto ad SSE, allora mantieni lo scambio Until non riusciamo a modificare i medoid Data e Web Mining. - S. Orlando 61

Casi possibili in seguito al riassegnamento di un medoid Scambiamo O j con O random O i P O j O i O i O i O j O j P O j P P O random O random O random O random P riassegnato a O i (cluster differente) P riassegnato a O random (stesso cluster) P non viene riassegnato P riassegnato a O random (cluster differente) Oggetto Medoid Relazione prima dello scambio Relazione dopo lo scambio Data e Web Mining. - S. Orlando 62

Hierarchical Clustering Due tipi di clustering gerarchico Agglomerative: Inizia con punti considerati come cluster individuali A ciascun passo, unisci le coppie di clusters più vicini Fino a quando rimane un solo cluster (o k cluster) E necessaria una nozione di prossimità tra cluster Divisive: Inizia con un singolo cluster che ingloba tutti i punti A ciascun passo, spezza un cluster Fino a quando ogni cluster contiene un punto (o ci sono k cluster) E necessario scegliere quale cluster spezzare ad ogni passo I metodi agglomerativi sono più usati Data e Web Mining. - S. Orlando 63

Hierarchical Clustering Usa la matrice delle distanze come criterio di clustering. Non bisogna specificare il numero k di cluster come input, ma è necessaria una condizione di terminazione Step 0 Step 1 Step 2 Step 3 Step 4 a a b b a b c d e c c d e d d e e Step 4 Step 3 Step 2 Step 1 Step 0 agglomerative (AGNES) divisive (DIANA) Data e Web Mining. - S. Orlando 64

AGNES (Agglomerative Nesting) Usa la matrice delle distanze (di prossimità) e il metodo Single-Link (MIN distanza tra tutte le coppie di punti appartenenti a due cluster da unire) Unisci i nodi (punti o cluster) che hanno la dissimilarità minima Alla fine tutti i nodi appartengono allo stesso cluster Sensibile a rumori e outlier 6 5 4 3 4 2 5 2 3 1 1 Hierarchical Clustering Dendrogram Data e Web Mining. - S. Orlando 65

Tipico algoritmo gerarchico agglomerativo L algoritmo è semplice 1. Calcola la matrice di prossimità 2. All inizio, ogni punto è un singolo cluster 3. Repeat 4. Unisci i cluster più vicini 5. Aggiorna la matrice di prossimità 6. Until fino a quando rimane un singolo cluster L operazione chiave è il calcolo della vicinanza tra due cluster Questo concetto di vicinanza costituisce la differenza principale tra algoritmi differenti Data e Web Mining. - S. Orlando 66

Algoritmo gerarchico agglomerativo: inizio Iniziamo con cluster costituiti da punti individuali e una matrice di prossimità p1 p2 p3 p4 p5.. p1 p2 p3 p4 p5.... Proximity Matrix Data e Web Mining. - S. Orlando 67

Algoritmo ger. agglomerativo: fase intermedia Dopo qualche passo abbiamo dei cluster C1 C2 C3 C4 C5 C3 C4 C1 C2 C3 C1 C4 C5 C2 C5 Proximity Matrix Data e Web Mining. - S. Orlando 68

Algoritmo ger. agglomerativo: fase intermedia Vogliamo unire C2 e C5, ma dobbiamo aggiornare la matrice C1 C2 C3 C4 C5 C3 C4 C1 C2 C3 C1 C4 C5 C2 C5 Proximity Matrix Data e Web Mining. - S. Orlando 69

Algoritmo ger. agglomerativo: dopo l unione Il problema è come aggiornare la matrice Diverse misure per stabilire distanza/similarità C1 C2 U C5 C3 C4 C1? C3 C4 C2 U C5 C3????? C1 C4? Proximity Matrix C2 U C5 Data e Web Mining. - S. Orlando 70

Come definire la similarità Inter-Cluster? p1 p2 p3 p4 p5... Similarity? p1 p2 MIN MAX Group Average Distance Between Centroids Proximity Matrix p3 p4 p5... Data e Web Mining. - S. Orlando 71

Come definire la similarità Inter-Cluster? p1 p2 p3 p1 p2 p3 p4 p5... MIN MAX Group Average Distance Between Centroids p4 p5... Proximity Matrix Data e Web Mining. - S. Orlando 72

Come definire la similarità Inter-Cluster? p1 p2 p3 p1 p2 p3 p4 p5... MIN MAX Group Average Distance Between Centroids p4 p5... Proximity Matrix Data e Web Mining. - S. Orlando 73

Come definire la similarità Inter-Cluster? p1 p2 p3 p1 p2 p3 p4 p5... MIN MAX Group Average p4 p5... Proximity Matrix Distance Between Centroids Data e Web Mining. - S. Orlando 74

Confronto tra metodi gerarchici 5 2 3 2 4 4 5 1 1 3 6 MIN MAX 5 4 1 2 5 2 3 6 3 1 4 4 5 2 2 3 4 3 1 1 5 6 Group Average Data e Web Mining. - S. Orlando 75

DIANA (Divisive Analysis) Algoritmo gerarchico divisive introdotto nel 1990 Ordine inverso rispetto ad AGNES Alla fine ciascun nodo forma un cluster Data e Web Mining. - S. Orlando 76

Complessità dei metodi gerarchici Non scala bene: la complessità in tempo è O(n 2 ), dove n è il numero totale di oggetti, poiché dobbiamo costruire la matrice completa delle distanze Una volta che una decisione è stata presa relativamente all agglomerazione/divisione di cluster, non possiamo disfarla Schemi differenti hanno mostrato uno o più di questi problemi: Sensibilità al rumore o agli outliers Difficoltà nel gestire cluster di dimensioni differenti e forme convesse Grandi cluster possono risultare suddivisi Data e Web Mining. - S. Orlando 77

Metodi di clustering basati sulla densità Clustering basato sulla densità Punti risultano connessi, ovvero assegnati allo stesso cluster, sulla base della densità Caratteristiche principali Scopre cluster di forma arbitraria Gestisce bene i rumori/outlier presenti nel dataset Singola scansione Abbiamo bisogno di parametri riguardanti la densità come condizione di terminazione Data e Web Mining. - S. Orlando 78

Density-Based Clustering: Background Due parametri per definire la densità: Eps: Massimo raggio di vicinato di un certo punto MinPts: Minimo numero di punti all interno di un certo raggio Eps Insiemi di punti all interno di un certo raggio: N Eps (p): {q D dist(p,q) Eps} Directly density-reachable: Un punto p è directly density-reachable da un punto q rispetto a (Eps, MinPts) se 1) p N Eps (q) 2) q è un punto core, ovvero: N Eps (q) MinPts q p MinPts = 5 Eps = 1 cm Data e Web Mining. - S. Orlando 79

Density-Based Clustering: Background (II) Density-reachable: (proprietà transitiva) Un punto p è density-reachable da q se c è una catena di punti p 1,, p n dove p 1 = q e p n = p tali che p i+1 è directly density-reachable da p i q p 1 p Density-connected Un punto p è density-connected ad un punto q se c è un punto o tale che sia p e sia q sono density-reachable da o p o q Data e Web Mining. - S. Orlando 80

DBSCAN: Density Based Spatial Clustering of Applications with Noise DBSCAN si basa sulla nozione di cluster basata sulla densità Un cluster è definito come l insieme massimo di punti connessi rispetto alla nozione di densità Data e Web Mining. - S. Orlando 81

DBSCAN Un punto è un core point se ha un numero minimo di punti (MinPts) all interno del suo raggio Eps Questi punti diventeranno punti interni di un cluster. Un border point ha meno di MinPts all interno del suo Eps, ma esso è un vicino di un core point Un noise point è un punto che non possiamo classificare né come core point e nè come border point Data e Web Mining. - S. Orlando 82

DBSCAN: L algoritmo Seleziona arbitrariamente un punto p Se p è un punto core, individua tutti i punti densityreachable da p rispetto a Eps e MinPts, e forma un cluster Aggiungi al cluster di p i punti directly density-reachable objects Controlla ricorsivamente se tali punti sono a loro volta core, ecc. Unisci via via i punti density-reachable Se da p raggiungi un punto border p nessun punto è density-reachable da p per cui passa a considerare un altro punto del database non ancora considerato Continua fino alla completa visita di tutti i punti Data e Web Mining. - S. Orlando 83

DBSCAN: esempio di funzionamento corretto Original Points Clusters Data e Web Mining. - S. Orlando 84

DBSCAN: punti core, border e noise Original Points Point types: core, border and noise Eps = 10, MinPts = 4 Data e Web Mining. - S. Orlando 85

DBSCAN: determinare EPS e MinPts Idea: per i vari punti di un cluster, ci aspettiamo che i k th nearest neighbors stiano più o meno alla stessa distanza Sempre che non ci sia un alta variabilità della densità I punti Noise avranno il loro k th nearest neighbor ad una distanza più alta Allora, plottiamo le distanze (ordinate) di ogni punto dal suo k th nearest neighbor In questo caso, selezioniamo MinPts=4 e Eps=2800 Data e Web Mining. - S. Orlando 86

Commento sulla validità del clustering The validation of clustering structures is the most difficult and frustrating part of cluster analysis. Without a strong effort in this direction, cluster analysis will remain a black art accessible only to those true believers who have experience and great courage. Algorithms for Clustering Data, Jain and Dubes Data e Web Mining. - S. Orlando 87

Cluster trovati in Dati Random Random Points DBSCAN K-means Hierachical (MAX) Data e Web Mining. - S. Orlando 88

Cluster Validity Come facciamo a validare la bontà di un cluster? Perché valutare? Per evitare di trovare pattern quando invece trattasi di rumore Per comparare algoritmi diversi Per valutare due insiemi di cluster (due risultati globali) Per comparare due cluster Data e Web Mining. - S. Orlando 89

Cluster Validation: differenti aspetti Determinare la clustering tendency di un data set Una struttura non-random esiste realmente nei dati? Qual è il numero corretto di cluster? Confrontare i risultati rispetto a conoscenze esterne Valutare i risultati con parametri interni, senza usare conoscenza pregressa Nota che le stesse metodologie possono essere usate per confrontare due cluster, oppure due insiemi di cluster (clustering) ottenuti da un algoritmo Data e Web Mining. - S. Orlando 90

Misure per validare il clustering External Index: Misura quanto i cluster individuati corrispondono a etichette di classe fornite esternamente (conoscenza pregressa) Entropia Internal Index: Misura la qualità del clustering senza informazione/ conoscenza esterna Sum of Squared Error (SSE) In letteratura sono spesso riferiti come criteri invece di indici Comunque, il criterio è la strategia generale, mentre l indice è la misura numerica che la implementa Data e Web Mining. - S. Orlando 91

Misurare la validità di un cluster con la correlazione (indice interno) Due matrici Matrice di Prossimità (n n) per gli n oggetti Similarità tra ogni coppia di oggetti. Dovrebbe essere 1 per coppie che stanno nello stesso cluster Matrice di Incidenza (n n) Entry (i,j) = 1 : i due oggetti appartengono allo stesso cluster Entry (i,j) = 0 : i due oggetti appartengono a cluster differenti Calcola la correlazione tra due matrici Le matrici sono simmetriche, per cui solo la correlazione tra (n-1)/2 entry delle due matrici deve essere calcolata Alta correlazione I punti appartenenti allo stesso cluster sono vicini Misura non adatta per cluster costruiti sulla base della densità o contiguità spaziale dei punti Data e Web Mining. - S. Orlando 92

Misurare la validità di un cluster con la correlazione (indice interno) Correlazione delle due matrici (incidenza e prossimità) per K-means su due diversi dataset Corr = -0.9235 Corr = -0.5810 Data e Web Mining. - S. Orlando 93

Uso della matrice di Similarità per validare il clustering in modo visuale Basta ordinare righe (e colonne) rispetto alle etichette dei cluster Cluster 1 Cluster 2 Cluster 3 Data e Web Mining. - S. Orlando 94

Uso della matrice di Similarità per validare il clustering in modo visuale I cluster in dati random non sono molto definiti K-means Data e Web Mining. - S. Orlando 95

Uso della matrice di Similarità per validare il clustering in modo visuale La misura di similarità non è adatta per valutare DBSCAN DBSCAN Data e Web Mining. - S. Orlando 96

Misurare la validità di un cluster con SSE (indice interno) Si può usare solo se è definito un prototipo (centroide/medoide) degli elementi del cluster SSE è un buon indice per confrontare sia due clustering e sia due cluster Può essere usato anche per stimare il numero di cluster ottimale nel K-means Calcola l SSE per vari valori di K Scegli il K tale per cui l angolazione della curva si stabilizza Data e Web Mining. - S. Orlando 97

Ancora misure interne: Cohesion e Separation overall validity = K validity(c i ) 1=1 Validity(C i ): Cohesion o Separation Cluster Cohesion: Misura l affinità tra gli oggetti di un cluster Cluster Separation: Misura quanto i cluster sono distinti e ben separati rispetto agli altri cluster Data e Web Mining. - S. Orlando 98

Ancora misure interne: Cohesion e Separation Prototype-Based Data e Web Mining. - S. Orlando 99

Ancora misure interne: Cohesion e Separation Graph-Based Data e Web Mining. - S. Orlando 100

Ancora misure interne: Silhouette Coefficient Il Silhouette Coefficient combina le idee della coesione e della separation (per singoli punti, cluster singoli, o risultati del clustering) Per un punto i Sia C i il cluster di i Calcola: a i = distanza media di i dagli altri punti di C i Calcola: b i = min per ogni cluster C, C C i (distanza media di i dai punti del cluster C) Silhouette Coefficient s i per il punto i: s i = (b i a i ) / max(a i, b i ) Data e Web Mining. - S. Orlando 101

Ancora misure interne: Silhouette Coefficient s i = (b i a i ) / max(a i, b i ) Tra -1 e 1. Caso -1 non desiderabile, perché questo succederebbe se a i > b i Vorremmo avere un valore positivo (ovvero a i < b i ), con a i molto piccolo ( 0) in questo caso s i tende a 1 Il coefficiente per un singolo cluster media dei coefficienti di tutti i punti del cluster Il coefficiente per un clustering completo media dei coefficienti di tutti i punti Data e Web Mining. - S. Orlando 102

Misure esterne o supervised per cluster validity Classification-based Misure simili a quelle usate per valutare i classificatori sulla base della capacità di riconoscere correttamente l appartenenza di un test item alla classe corretta In questo vogliamo misurare la capacità dell algoritmo di ritrovare le classi presenti nel test dataset Come si fa a valutare? si prende un dataset classificato, e quindi partizionato in classi disgiunte si ignora l etichetta classe si clusterizza e si valuta il clustering ottenuto Data e Web Mining. - S. Orlando 103

Misure esterne o supervised per cluster validity Misure dell information retrieval Precision e Recall Data una query: Tutti i documenti restituiti sono rilevanti? precision Sono stati restituiti tutti i rilevanti? recall Se A sono i documenti restituiti e B i rivelanti precision = recall = A B A A B B C è una misura che li mette assieme: Misura F (F-measure) che è la media armonica fra precision e recall La media armonica è più piccola della media aritmetica e geometrica F = 2 1 p + 1 r = 2pr p + r Data e Web Mining. - S. Orlando 104

Misure esterne o supervised per cluster validity Come usiamo precision, recall, F-measure per validare il risultato del clustering? L usiamo per validare un singolo cluster i rispetto alla classe j parliamo di precisione p ij e recall r ij m è il numero totale di elementi da clusterizzare m i è il numero di elementi del cluster i m j è il numero di elementi della classe j m ij è il numero di elementi del cluster i appartenenti alla classe j precision(i, j) = m ij / m i recall(i, j) = m ij / m j Come estendiamo ad un clustering completo? per ogni cluster scegliamo la massima precision, o la massima recall sommiamo su tutti i cluster (precision, recall, F-measure) Data e Web Mining. - S. Orlando 105

Misure esterne o supervised per cluster validity Purezza di un clustering: stesso concetto della precisione precision(i, j) = p ij = m ij / m i ovvero, probabilità che un membro del cluster i appartenga alla classe j Purezza del cluster i: p i = max j p ij uguale a 1 se tutti appartengono ad una sola classe Purezza del clustering: p = K i=1 m i m p i Data e Web Mining. - S. Orlando 106

Misure esterne o supervised per cluster validity Entropia di un clustering: basato ancora sulla probabilità che un membro del cluster i appartenga alla classe j p ij = m ij / m i Entropia del cluster i: e i = L p ij j=1 log p ij Entropia del clustering: e = K i=1 m i m e i uguale a 0 se tutti appartengono ad una sola classe Data e Web Mining. - S. Orlando 107

External Measures of Cluster Validity: Entropy and Purity Data e Web Mining. - S. Orlando 108

External Measures of Cluster Validity: Correlazione tra Matrici di incidenza Matrice di Incidenza per il clustering (n n) Entry (i,j) = 1 : i due oggetti appartengono allo stesso cluster Entry (i,j) = 0 : i due oggetti appartengono a cluster differenti Matrice di Incidenza per le classi note (n n) Entry (i,j) = 1 : i due oggetti appartengono alla stessa classe Entry (i,j) = 0 : i due oggetti appartengono a classi differenti Possiamo calcolarne la correlazione Oppure misurare vicinanza tramite una misura di similarità per dati binari f 00 = numero di coppie i,j con classe differente e classe differente f 01 = numero di coppie i,j con classe differente e cluster uguale f 10 = numero di coppie i,j con classe uguale e cluster differente f 11 = numero di coppie i,j con classe uguale e cluster uguale jaccard _ sim = f 11 f 01+ f 10 + f 11 Data e Web Mining. - S. Orlando 109

Un tool per visualizzare il comportamento di algoritmi di clustering http://www.cs.ualberta.ca/~yaling/cluster/applet/code/cluster.html Data e Web Mining. - S. Orlando 110

Conclusioni Le analisi di clustering raggruppano oggetti in base alla loro similarità Abbiamo visto che è possibile valutare la similarità rispetto a vari tipi di dati E possibile categorizzare gli algoritmi di clustering in metodi partitioning, hierarchical, density-based, grid-based, e model-based Abbiamo solo visto una parte di questi metodi La scoperta di outlier è utile per vari campi, come scoperta di frodi ecc. Algoritmi per la scoperta di outlier sono collegati a quelli di clustering Esistono metodi basati sulla distanza, ma anche metodi basati su misure statistiche Clustering con vincoli Le analisi di clustering possono avere vincoli da rispettare Ad esempio, vincoli naturali esistono in database spaziali (ponti o strade in un GIS) che impediscono il clustering di oggetti vicini Clustering in database spazio-temporali Necessitano di nuove nozioni di distanza, che considerino anche la dimensione tempo Data e Web Mining. - S. Orlando 111