La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Seminario su clustering dei dati – Parte I

Copie: 1
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte I Università di RomaLa Sapienza Dipartimento di Informatica e Sistemistica.

Presentazioni simili


Presentazione sul tema: "Seminario su clustering dei dati – Parte I"— Transcript della presentazione:

1 Seminario su clustering dei dati – Parte I
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte I A.A a cura di Silvia Canale contatto Università di Roma“La Sapienza” Dipartimento di Informatica e Sistemistica Corso di Laurea in “Ingegneria Gestionale”

2 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

3 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).

4 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

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

6 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

7 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

8 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

9 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

10 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à

11 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 =

12 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.

13 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)

14 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

15 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

16 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 ||

17 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

18 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

19 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!

20 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.

21 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.

22 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

23 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))

24 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

25 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

26 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 }

27 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

28 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

29 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…

30 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

31 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)) = = 7.5 < c(P2(G)) = 15 P1(G) è migliore di P2(G)

32 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))

33 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 }

34 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 è

35 MATERIALE DEL SEMINARIO
Le slide di questo seminario sono reperibili al seguente link:


Scaricare ppt "Seminario su clustering dei dati – Parte I"

Presentazioni simili


Annunci Google