Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di...

Click here to load reader

download Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

of 43

  • date post

    01-May-2015
  • Category

    Documents

  • view

    213
  • download

    0

Embed Size (px)

Transcript of Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di...

  • Slide 1
  • Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Universit di Siena rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/ Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Universit di Siena rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/
  • Slide 2
  • Sistemi di supporto alle decisioni - Leonado Rigutini Clustering Data una b, 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
  • Slide 3
  • 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.
  • Slide 4
  • 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.
  • Slide 5
  • 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 dellattivit 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
  • Slide 6
  • 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 linsieme di esempi non etichettati che sono oggetto dellalgoritmo Il numero di gruppi da individuare nellunlabeled-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 dellassenza del learning-set
  • Slide 7
  • Partitioning clustering
  • Slide 8
  • Sistemi di supporto alle decisioni - Leonado Rigutini 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
  • Slide 9
  • Sistemi di supporto alle decisioni - Leonado Rigutini 1. k-Means K-means lalgoritmo di clustering pi popolare nella letteratura scientifica e deriva dallalgoritmo EM (Expectation Massimization) EM un algoritmo sviluppato nella teoria delle probabilit per risolvere il problema delle stime non- supervisionate a massima verosomiglianza (maximum likelihood)
  • Slide 10
  • 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 La likelihood degli elementi dato il modello Teta quindi :
  • Slide 11
  • 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:
  • Slide 12
  • Sistemi di supporto alle decisioni - Leonado Rigutini EM EM assume lesistenza di parametri nascosti nel sistema che semplificano il problema: Sostituendo nella formula ML e massimizzando rispetto a Teta:
  • Slide 13
  • Sistemi di supporto alle decisioni - Leonado Rigutini EM Sviluppando: Dopo alcuni passaggi si ottiene:
  • Slide 14
  • Sistemi di supporto alle decisioni - Leonado Rigutini EM La formula precedente ci da un modo per stimare il Teta ottimo. Esso pu essere stimato utilizzando unalgoritmo 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
  • Slide 15
  • Sistemi di supporto alle decisioni - Leonado Rigutini k-Means Ma come utilizzare questi risultati per il clustering? Se guardiamo P(C k |d, ), questa indica una classificazione: Assegna la classe C k dato il pattern d ed i parametri Se inseriamo un classificatore centroids-based invece che un classificator probabilistico otteniamo lalgoritmo k-Means
  • Slide 16
  • Sistemi di supporto alle decisioni - Leonado Rigutini k-Means 1.Scegli i k centri iniziali 2.Repeat 1. E-step: assegna ciascun oggetto al cluster pi vicino, il cui centroide risulta il pi vicino (simile) alloggetto dato 2. M-step: ri-calcola i centroidi (punti medi) dei cluster until until gli assegnamenti non cambiano (o cambiano poco) Viene minimizzato lerrore quadratico medio
  • Slide 17
  • 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 lassenza di punti isolati Pu produrre risultati scadenti quando i cluster hanno differenti dimensioni, densit, forma non sferica/ellissoidale i dati contengono outlier
  • Slide 18
  • Sistemi di supporto alle decisioni - Leonado Rigutini k-Means con nubi di punti non di forma sferica
  • Slide 19
  • Sistemi di supporto alle decisioni - Leonado Rigutini k-Means Soluzione: Soluzione: usare molti cluster In questo caso i cluster calcolati sono partizioni dei cluster effettivamente presenti necessario fondere i cluster calcolati
  • Slide 20
  • Clustering Gerarchico
  • Slide 21
  • Sistemi di supporto alle decisioni - Leonado Rigutini 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 lintero 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 (lintero spazio non partizionato), vengono via via divisi i gruppi in sottogruppi pi piccoli fino a raggiungere un dimensione minima.
  • Slide 22
  • 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
  • Slide 23
  • 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
  • Slide 24
  • 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
  • Slide 25
  • Self Organizing Maps (SOM) dette anche reti di Kohonen
  • Slide 26
  • Sistemi di supporto alle decisioni - Leonado Rigutini SOM - 1 Il clustering pu essere interpretato come una forma di classificazione non supervisionata Self Organizing Map 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 loutput atteso per ciascun dato in input
  • Slide 27
  • 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 qualch