Seminario su clustering dei dati – Parte I

Slides:



Advertisements
Presentazioni simili
CORSO DI RECUPERO CONTROLLI AUTOMATICI Prof. Filippo D’Ippolito
Advertisements

L’ IPERBOLE.
Le distribuzioni di probabilità continue
2. Introduzione alla probabilità
Sistema di riferimento sulla retta
Il linguaggio della Matematica: Insiemi e operazioni
Informatica Generale Alessandra Di Pierro
COORDINATE POLARI Sia P ha coordinate cartesiane
LE MATRICI.
6. Catene di Markov a tempo continuo (CMTC)
Introduzione Cosa sono le reti di Petri?
Grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e strutture dati 2/ed 2 Copyright © The McGraw.
Algoritmi e Strutture Dati
Elettrostatica 3 23 maggio 2011
DISEGNO TECNICO INDUSTRIALE
Lez. 3 - Gli Indici di VARIABILITA’
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
6. Catene di Markov a tempo continuo (CMTC)
Ordini Parziali - Reticoli
Dipartimento di Ricerca Sociale - Università del Piemonte Orientale 1 Castelli Aperti giugno 2005 Castello di Camino (AL) IL PUBBLICO DI CASTELLI.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
TEORIA RAPPRESENTAZIONALE DELLA MISURA
Teoria e Tecniche del Riconoscimento
Apprendimento Automatico: Apprendimento Probabilistico Roberto Navigli 1 Apprendimento Automatico: Apprendimento Bayesiano.
Apprendimento Non Supervisionato
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Processi Aleatori : Introduzione – Parte I
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Corso di Informatica (Basi di Dati)
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte I Università di RomaLa Sapienza Dipartimento di Informatica e Sistemistica.
Seminario su clustering dei dati – Parte II
Seminario su clustering dei dati – Parte II
Ottimizzazione Combinatoria
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Algoritmi e Strutture Dati
Analisi dei gruppi – Cluster Analisys
FONDAMENTI DI INFORMATICA III A2A2-1 CARATTERISTICHE E MODELLIZZAZIONE DEL LAVORO DUFFICIO Argomento 2 Approfondimento 2 CARATTERISTICHE E MODELLIZZAZIONE.
Strutture di controllo in C -- Flow Chart --
Lezione 4 Probabilità.
Il marketing: costruire una relazione profittevole con il cliente
ISOIVA (LOCALE) TO ISOIVA (WEB) RIPARTIZIONE INFORMATICA UFFICIO APPLICATIVI AMMINISTRATIVI 13/04/2011 UNIVERSITÀ DEGLI STUDI DI FERRARA 1.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Prof. Cerulli – Dott.ssa Gentili
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Progettare un database
TRASFORMAZIONI GEOMETRICHE
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
2. Grafi.
Multimedia Information Retrieval
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Stabilità per E.D.O. (I): STABILITÀ LINEARIZZATA
Corso di ELETTROTECNICA
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati Università Sapienza di Roma Dipartimento di ingegneria Informatica, Automatica.
DATA MINING.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Transcript della presentazione:

Seminario su clustering dei dati – Parte I Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte I A.A. 2011-2012 a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università di Roma“La Sapienza” Dipartimento di Informatica e Sistemistica Corso di Laurea in “Ingegneria Gestionale”

ARGOMENTI DEL SEMINARIO Definizione del problema di clustering di dati Apprendimento automatico e data mining Schema generale di una procedura di clustering Applicazioni del clustering di dati Definizioni preliminari e rappresentazione dei dati Misure di similarità e di dissimilarità – distanze Problema della partizione in clique definizione e formulazione algoritmo dei piani di taglio

DEFINIZIONE DEL PROBLEMA CLUSTERING: classificazione di oggetti sulla base delle similarità percepite Gli oggetti sono descritti: - dagli attributi che lo definiscono (misure oggettive o soggettive) - dalle relazioni con gli altri oggetti Lo scopo è quello di determinare un’organizzazione degli oggetti che sia: - valida - facile da determinare Un cluster è un gruppo di oggetti simili (criterio di omogeneità). Oggetti che appartengono a cluster diversi non sono simili (criterio di separazione).

DEFINIZIONE DEL PROBLEMA Un cluster è un gruppo di oggetti simili. Se gli oggetti sono punti in uno spazio di distanza allora possiamo dare la seguente definizione: Un cluster è un sottoinsieme di punti tali che la distanza tra due punti qualsiasi del cluster è minore della distanza tra un qualsiasi punto del cluster ed un punto esterno al cluster. Sia X uno spazio di oggetti e d una distanza definita su X. Indicheremo con (X,d) lo spazio di distanza definito da d su X. Un sottoinsieme V  X è un cluster se e solo se d(i,j)  d(k,l) per ogni i,j,k  V, l  V 1 4 5

APPRENDIMENTO AUTOMATICO Apprendimento: Processo di ragionamento induttivo che permette di passare dalle osservazioni alle regole generali (tipico dell’uomo che impara dall’esperienza) Automatico: Definizione automatica, distinta da quella naturale, delle regole generali a partire dalle osservazioni (dati sperimentali) Scopo: Estrazione di informazione interessante dai dati nuova (non è qualcosa di già noto, analisi esplorativa) oppure attesa (ipotesi a priori da convalidare, analisi confermativa) implicita: presente nei dati analizzati ma non immediatamente accessibile potenzialmente utile: può essere utilizzata per prendere delle decisioni REGOLE INFORMAZIONE Processo deduttivo Processo induttivo OSSERVAZIONI

APPRENDIMENTO AUTOMATICO Processo automatico di estrazione di informazioni su un sistema fisico S incognito partendo da un insieme finito di n osservazioni. L’insieme { v1, v2, …, vn } prende il nome di training set. Apprendimento non supervisionato (clustering): Il sistema S non ha ingressi e lo scopo è determinare una regola che metta in relazione le osservazioni del training set sulla base di una misura di similarità definita. Apprendimento supervisionato (analisi discriminante): Il sistema S riceve gli ingressi { c1, c2, …, cn } e lo scopo è determinare una regola che metta in relazione le osservazioni del training set con gli ingressi. c1 c2 c3 cn v1 v2 S v3 vn

ESTRAZIONE DELLA CONOSCENZA APPRENDIMENTO AUTOMATICO Informazione APPRENDIMENTO AUTOMATICO Valutazione regole Regole Data Mining Selezione e trasformazione dei dati Datawarehouse Pulizia ed integrazione dei dati Database

APPLICAZIONI ….E MOLTE ALTRE Segmentazione di immagini – partizione di un’immagine in regioni che siano omogenee rispetto ad una proprietà di interesse (es. intensità, colore, struttura, …) Riconoscimento di oggetti e caratteri – Analisi di immagini allo scopo di riconoscere particolari strutture Information retrieval – Processo di raccolta e recupero automatico di informazioni (es. libri e riviste di una biblioteca) Segmentazione di grandi database in gruppi omogenei di dati Classificazioni di documenti web Analisi predittiva in Customer Relationship Management Customer profiling Customer retention Market segmentation … ….E MOLTE ALTRE

CLUSTERING – SCHEMA GENERALE Rappresentazione dei dati Definizione del numero, del tipo e della scala delle caratteristiche (o attributi) Definizione del numero di cluster (o classi) Selezione delle caratteristiche (opzionale) Estrazione delle caratteristiche (opzionale) Definizione di una misura di similarità sull’insieme dei dati Applicazione di un algoritmo di clustering Astrazione sui dati Valutazione dei risultati studio dell’andamento dei cluster analisi della validità dei cluster confronto esterno confronto interno controllo relativo DESCRIZIONE COMPATTA E SINTETICA DEI CLUSTER

DEFINIZIONI PRELIMINARI Un algoritmo di clustering partizionale raggruppa le osservazioni del training set in cluster sulla base di una misura di similarità definita sull’insieme delle coppie di osservazioni. Due tipi di algoritmi di clustering partizionale: clustering di tipo “hard”: un’osservazione è assegnata ad un solo cluster; clustering di tipo “fuzzy”: un’osservazione ha un grado di appartenenza per ciascuno dei cluster individuati. Le osservazioni possono essere rappresentate in due formati standard: matrice delle istanze di dato matrice delle similarità

MATRICE DELLE ISTANZE Un’osservazione (o istanza) v è rappresentata da un vettore di m caratteristiche (o attributi). v1 v2 v = … … vm L’insieme X = { v1, v2, …, vn } delle osservazioni viene rappresentato come una matrice n x m detta matrice delle istanze. X =

TIPI DI DATO Un’istanza può rappresentare un oggetto fisico oppure un concetto astratto. Un attributo può essere di diversi tipi: quantitativo continuo (es. peso, larghezza, temperatura) discreto (es. età di un individuo) intervallo (es. durata di un evento) qualitativo nominale (es. colori) ordinato (es. intensità di un suono, valutazione di una sensazione) Sono inoltre possibili altre rappresentazioni delle istanze.

MATRICE DELLE RELAZIONI Sia X = { v1, v2, …, vn } un insieme di n istanze. Indichiamo con V = { 1, 2, …, n } l’insieme degli indici da 1 a n. Una relazione r definita sullo spazio X x X delle coppie di istanze può essere rappresentata come una matrice n x n detta matrice delle relazioni. R = Consideriamo relazioni simmetriche ( per ogni i, j  V ) e in particolare: relazioni di similarità (più vi e vj sono simili, più è grande) relazioni di dissimilarità (più vi e vj sono simili, più è basso)

DISTANZE Una distanza d definita sull’insieme X è una relazione che gode delle seguenti proprietà: d è simmetrica per ogni coppia (i,j) in V. d assume valore nullo per ogni coppia (i,i) in V. Indicheremo con (X,d) lo spazio di distanza definito da d su X. Se inoltre d soddista la proprietà: d soddisfa la diseguaglianza triangolare per ogni terna (i,j,k) in V allora d è una semimetrica sull’insieme X. Si definisce metrica una semimetrica d che soddisfa l’ulteriore proprietà: v1 1 3 4 v2 v3 v1 1 2 4 v2 v3

NORME Se X è uno spazio vettoriale definito sul campo dei reali , una funzione || • || : X  + si definisce norma se: || v || = 0  v = 0 per ogni v in X. ||  v || = |  | || v || per ogni  in , v in X. || vi + vj ||  || vi || + || vj || per ogni vi ,vj in X. Si definisce spazio normato la coppia (X, || • ||). Ad uno spazio normato (X, || • ||) può essere associata la topologia metrica indotta dalla norma || • || tramite l’identità: Consideriamo lo spazio normato (m, || • ||p) dove || • ||p è la norma lp METRICA NORMA

UNA METRICA NORMA È UNA METRICA Dim. Sia || • || : X  + una norma definita su X. La funzione è simmetrica d assume valore nullo per ogni coppia (i,i) in V. d soddisfa la diseguaglianza triangolare per ogni terna (i,j,k) in V ||  v || = |  | || v || || v || = 0  v = 0 || vi + vj ||  || vi || + || vj ||

METRICHE NORME Una classe molto importante di metriche è quella delle metriche dlp indotte dalle diverse norme lp: p = 1 – distanza di Manhattan o metrica “city-block” p = 2 – distanza Euclidea p =  – distanza di Lagrange p = 0 – distanza di Hamming

PROBLEMA DI PARTIZIONE Un algoritmo di clustering partizionale di tipo “hard” determina una partizione delle osservazioni del training set sulla base di una misura di similarità definita sull’insieme delle coppie di osservazioni. Si definisce partizione P di un insieme X = { v1, v2, …, vn } è una famiglia finita di k insiemi V1, V2, …, Vk P = { V1, V2, …, Vk } tali che ogni insieme Vj in P è un sottoinsieme non vuoto di X: Vj  X

RAPPRESENTAZIONE DEI DATI Dato un insieme di osservazioni X = { v1, v2, …, vn } e la matrice delle similarità relative all’insieme X, si definisce grafo associato a X il grafo G(N,A) tale che: N rappresenta l’insieme dei nodi { 1, 2, …, n } tale che ciascun nodo i  N sia associato ad un’osservazione vi  X A sia l’insieme degli archi che connettono ogni coppia non ordinata (vi, vj) di osservazioni in X con vi  vj. L’arco in A che connette due nodi i e j viene indicato con (i,j) o con ij. Siano n e m il numero di nodi e di archi, rispettivamente, in N e A. Il grafo associato a X è completo!

INSIEME DELLE SOLUZIONI – DEFINIZIONI Si definisce clustering del grafo G(N,A) una partizione P(G) = { V1, V2, …, Vk } dei nodi del grafo G(N,A). Gli elementi ViP(G) vengono definiti componenti o clique del clustering P(G). Dato un grafo G(N,A) si definisce clique un sottoinsieme V  N dei nodi tali che per ogni coppia di nodi i e j l’arco ij appartiene ad A. NON è una clique: 25  A Se il grafo G(N,A) è completo, ogni sottoinsieme V  N è una clique.

INSIEME DELLE SOLUZIONI – DEFINIZIONI Si definisce clustering del grafo G(N,A) una partizione P(G) = { V1, V2, …, Vk } dei nodi del grafo G(N,A). Come sono fatte le soluzioni di un problema di clustering? Sia Vh  N. Indichiamo con (Vh) l’insieme degli archi che connettono nodi in Vh e nodi fuori da Vh Se |Vh| = 1, (Vh) è la stella del nodo in Vh.

INSIEME DELLE SOLUZIONI – DEFINIZIONI Siano Vh, Vl  N. Indichiamo con (Vh ,Vl) l’insieme degli archi che connettono nodi in Vh e nodi in Vl In generale, dati k sottoinsiemi V1,…, Vk  N, l’insieme degli archi con estremi in due sottoinsiemi diversi viene indicato con

INSIEME DELLE SOLUZIONI – DEFINIZIONI Ad ogni clustering P(G)= { V1, V2, …, Vk } del grafo G(N,A) è possibile associare un insieme multi-cut (P(G)) (P(G)) = ( V1, V2, …, Vk ) Definiamo il vettore di incidenza yP di un insieme multi-cut (P(G))

INSIEME DELLE SOLUZIONI – DEFINIZIONI Sia Vi  N. Indichiamo con E(Vi) l’insieme degli archi che connettono nodi in Vi. Se |Vi| = 1, E(Vi) è vuoto. In generale, dati k sottoinsiemi V1,…, Vk  N, l’insieme degli archi con estremi nello stesso sottoinsieme viene indicato con

INSIEME DELLE SOLUZIONI – DEFINIZIONI Ad ogni clustering P(G)= { V1, V2, …, Vk } del grafo G(N,A) è possibile associare un insieme partizione E(P(G)) E(P(G)) = E( V1, V2, …, Vk ) Definiamo il vettore di incidenza xP di un insieme partizione E(P(G)) Gli insiemi multi-cut e partizione definiscono una partizione di A

VETTORE DI INCIDENZA DI UNA PARTIZIONE Esempio – Sia X = { v1, v2, v3, v4, v5, v6, v7, v8 }. Definiamo il grafo G(N,A) associato all’insieme X, dove N = { 1, 2, 3, 4, 5, 6, 7, 8 } e A = { ij | 1  i  j  8 }. Consideriamo il clustering P(G)= { V1, V2, V3 }

INSIEME DELLE SOLUZIONI L’insieme S delle soluzioni del problema di clustering di X è l’insieme dei vettori di incidenza di tutte le possibili insiemi partizione E(P(G)) del grafo G(N,A) associato a X. Supponiamo di voler determinare una partizione in k cluster. Sia s = . Se vogliamo che i cluster contengano un numero uguale di osservazioni, il problema è equivalente al problema di determinare una partizione in cluster che abbiano ciascuno un numero di osservazioni non inferiori a s. Vincolo di dimensione s =3

PROBLEMA DI PARTIZIONE IN CLIQUE Consideriamo l’insieme delle soluzioni In base al valore di s possiamo avere diversi problemi: se s  1, S è l’insieme delle soluzioni del problema di partizione in clique (CPP) dei nodi di un grafo se s  1, S è l’insieme delle soluzioni del problema di partizione in clique con vincolo di dimensione (CPPMIN) se k = 2, S è l’insieme delle soluzioni del problema di equipartizione se n è multiplo di s, S è l’insieme delle soluzioni del problema di equipartizione in k sottoinsiemi

CRITERIO DI OTTIMALITÀ Come valutare le soluzioni in S? Qual è la migliore soluzione? Esempio – Sia X = { v1, v2, v3, v4, v5, v6, v7, v8 } e s = 2 Definiamo il grafo G(N,A) associato all’insieme X, dove N = { 1, 2, 3, 4, 5, 6, 7, 8 } con n = 8, e A = { ij | 1  i  j  8 }. Consideriamo i due clustering P1(G)= { V1, V2, V3 } e P2(G)= { V4, V5, V6 } In P1(G) i punti appartenenti allo stesso cluster sono più vicini…

CRITERIO DI OTTIMALITÀ In P1(G) i punti appartenenti allo stesso cluster sono più vicini… La matrice delle relazioni contiene le informazioni relative alla similarità o alla dissimilarità tra i punti Sia D la matrice n x n delle relazioni di dissimilarità (più i e j sono simili, più è basso) Assegniamo ad ogni arco ij di A il peso

CRITERIO DI OTTIMALITÀ Assegniamo ad ogni arco ij di A il peso Assegniamo ad ogni cluster V  N la somma dei pesi degli archi in E(V) Assegniamo ad ogni partizione P(G)= { V1, V2, …, Vk } del grafo G(N,A) la somma dei costi degli elementi della partizione c(P1(G)) = 1.5 + 3 + 3 = 7.5 < c(P2(G)) = 15 P1(G) è migliore di P2(G)

CRITERIO DI OTTIMALITÀ Ad ogni partizione P(G)= { V1, V2, …, Vk } del grafo G(N,A) associamo il costo Ad ogni P(G)= { V1, V2, …, Vk } è associato il vettore di incidenza xP di un insieme partizione E(P(G))

CRITERIO DI OTTIMALITÀ Ad ogni partizione P(G)= { V1, V2, …, Vk } del grafo G(N,A) associamo il costo Esempio – Sia X = { v1, v2, v3, v4, v5, v6, v7, v8 } e s = 2 Consideriamo la soluzione xP associata al clustering P(G)= { V1, V2, V3 }

FORMULAZIONE MATEMATICA DEL CPP Risolvere il problema di partizione in clique dei nodi di un grafo significa determinare la soluzione del seguente problema dove l’insieme delle soluzioni è

MATERIALE DEL SEMINARIO Le slide di questo seminario sono reperibili al seguente link: http://www.dis.uniroma1.it/~canale/didattica/ACRN1.ppt