590 likes | 671 Views
Tema 4: Agents que aprenen. 2. Mètodes d’agregació (clustering). Introducció. Els mètodes d’agregació o clustering permeten obtenir una primera aproximació a l’estructura d’un domini
E N D
Tema 4: Agents que aprenen 2. Mètodes d’agregació (clustering)
Introducció • Els mètodes d’agregació o clustering permeten obtenir una primera aproximació a l’estructura d’un domini • S’utilitzen en una situació de relatiu desconeixement del domini o per trobar patrons no esperats en les dades. • Es tracta d’obtenir una descripció inicial que separi grups d’objectes amb característiques semblants, basant-se només en les dades, sense imposar cap criteri a priori.
Representació gràfica: • Cada exemple és un punt en l’espai de classificació. • Els atributs defineixen els eixos de l’espai de classificació. • La distància permet assimilar el concepte d’objectes semblants i objectes propers. • Un veí és un objecte que es troba a una distància molt propera en l’espai de classificació • Cas particular n=2: pla Y X X2 X1
Tipus de clustering Els mètodes depènen fortament de la definició de distancia • Basats en la distància • La similitud entre objectes es basa en la distància (mesures) • Basats en els concepts • La similitud es basa en conceptes comuns entre els exemples (fitness de descripcions de conceptes)
Distàncies • Cal distingir • Distàncies entre valors numèrics • Distàncies entre valors no-numèrics • Híbrides • Per a conjunts difusos • Distàncies entre estructura de dades complexes (arbres, ...)
Distàncies • Definició • Una distància és una funció que pren valors en un espai n-dimensional i que dóna com a resultat un valor real positiu. • Propietats • A més, donats dos punts X1, X2 en un espai n-dimensional, perquè una funció sigui qualificada com a distància, ha de complir les propietats següents: • Dist(X1, X2) = 0 si, i només si, X1 = X2. • Dist(X1, X2) 0 per a tot X1, X2. • Dist(X1, X2) = Dist(X2, X1). • Dist(X1, X2) Dist(X1, X3) + Dist(X3, X2).
Distàncies clàssiques per valors numèrics • Distància Euclidea • Distància de Manhattan (city-block) y x y x
Distàncies clàssiques per valors numèrics • Minkowski: per d dimensions d: dimensionalitat Euclidea: p=2 Manhattan: p=1
Distàncies clàssiques per valors numèrics • Distància de Chebychev • Distància del cosinus x y
Distàncies clàssiques per valors numèrics • Distància de Mahalanobis S: matriu de covariàncies
Distàncies numèriques: consideracions prèvies • Normalització dels valors dels atributs • Normalització lineal uniforme Abans de normalitzar Després de normalitzar
Distàncies numèriques: consideracions prèvies • Normalització dels valors dels atributs • Comparació d’automòbils (distància Euclídea) 489 496 Abans de normalitzar Després de normalitzar
Distàncies numèriques: consideracions prèvies • Normalització dels valors dels atributs • Comparació d’automòbils (distància Euclídea) 1,33 1,12 Abans de normalitzar Després de normalitzar
Distància per a valors no numèrics (categòrics) • Distància de Hamming • On • w: factor de reducció (w=1/n) Exemple: x = [blanc,fusta] y = [blanc,metall]
Distància per a valors no numèrics (categòrics) • Distància entre strings representats com a vectors
Distància per a valors no numèrics (categòrics) • Distància entre strings representats com a vectors • Exercici: Distància entre • X = [p,e,r,n,i,l] Y= [n,a,r,i,u] • X = [p,e,r,n,i,l] Y= [p,e,r,i,l,l]
Distància per a valors no numèrics (categòrics) • Exercici: Distància entre • X = [p,e,r,n,i,l] Y= [n,a,r,i,u] • X = [p,e,r,n,i,l] Y= [p,e,r,i,l,l] [p,e,r,n,i,l,a,u] = 8 [n,r,i] = 3 d(x,y) = (8-3)/8 = 0.625 [p,e,r,n,i,l,l] = 7 [p,e,r,i,l] = 5 d(x,y) = (7-5)/7 = 0.29
Consideracions • Discretització • Podem usar mesures categòriques per atributs numèrics si discretitzem els valors edat: [0,100] [0, 2] nadó (18,35] jove (2,10] nen (35,65] gran (10, 18] adolescent (65,100] vell edat:{nadó,nen,adolescent,jove,gran,vell} • Hi ha molts mètodes de discretització
Mesures híbrides • Eixample pes de l’atribut k : llindar que diferencia els atributs rellevants del que no ho són qtv(xk): valor quantitatiu de l’atribut k de l’exemple x qlv(xk): valor qualitatiu de l’atribut k de l’exmple x upperval(k): valor màxim de l’atribut k lowerval(k): valor mínim de l’atribut k
Mètodes d’agregació • Clustering exclusiu • k-means • Clustering sobreposat (overlapping) • Fuzzy k-means • Clustering jeràrquic • Clustering jeràrquic • Clustering probabilístic • EM (Expectation-Maximization) • Mapes de Kohonen (SOM) Exemples interactius http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/
K-means • Es basa en la idea d’obtenir un nombre k de grups que es fixa al principi del procés. • Per a cada grup, es genera un centroide k • Es mesuren les distàncies de tots els punts als centroides, i s’assossien els punts al centroide de més a prop • Es recalcula el centroide • S’itera el procés fins que no es produeixien canvis en els centroides
K-means: Exemple, k = 3 Pas 1: Seleccionar les llavors. Pas 2: Assignar els objectes als centres més propers Pas 3: Recalcular els centroides
K-means • Fi de l’algorisme: minimitzar funció objectiu xi: exemple i cj: centroide j ||?||: mesura de distància emprada
Consideracions • Valors anòmals (outliers)
Algorisme k-means 1)Seleccionar les k centroides inicials entre tots els punts disponibles. 2)Assignar els objectes al grup amb centre més proper 3)Recalcular els centres 4)Continuar fins que no hi hagi variació entre els grups
K-means: • Avantatges: • Relativament eficient: O(tkn) on n és el nombre d’objectes, k el nombre de clusters i t el nombre d’iteracions. Normalment tk << n. • La majoria de les vegades acaba en un òptim local. • Desavantatges (comentaris): • S’ha d’escollir el paràmetre k a priori o provar amb molts valors. • Els resultats depenen dels valors de k • La manera d’inicialitzars els centroides no està concretada • L’algorisme és sensible a les dades sorolloses i als casos extrems (outliers) -- punts que no pertanyen a cap cluster. Això pot modificar la posició dels centroides i arruïnar el clustering.
Fuzzy C-means • Es permet que un example pertanyi a un o més clusters • La funció objectiu a minimitzar és: m: paràmetre uji: grau de pertanyença de xi en el cluster cj xi: exemple i cj: centroide j (cluster) ||?||: mesura de distància emprada
fuzzy c-means k-means N exemples N files 2 grups 2 columnes
Algorisme • Inicialitzar la matriu U(0) (U=[uij]) (k=0) • Calcular el centroides C(k) • Actualitzar U(k) per U(k+1): • Si |U(k+1)-U(k)| < aleshores fi. Altrament tornar a 2. criteri de finalització, [0,1]
Clustering Jeràrquic • Comencen considerant que cada objecte forma un grup per si mateix. Creen un arbre en el qual els punts són les fulles i els nodes interns revelen l’estructura de similitud dels punts. • Llavors avaluen les distàncies entre grups i creen per aglomeració els diversos grups finals. • El comportament de l’algorisme depèn de com es defineix la “proximitat del parell de clusters”.
Dendrògram • Descompondre les dades en varis nivells de particions anidades (arbre de clusters) anomenat Dendrògram. • L’agrupació de les dades s’obté tallant el dendrògram al nivell desitjat. Cada component connectat forma un cluster.
C2 C1 C2 C1 Mètodes Aglomeradors Enllaç senzill: dist (C1, C2) = min { dist (X1, X2 ) : X1C1, X2C2 } Enllaç complet: dist (C1, C2) = max { dist (X1, X2 ) : X1C1, X2C2 }
L’algorisme 1)Crear un arbre amb un node únic que representi tot el conjunt d’observacions. 2)Mentre no es compleixi criteri de finalització, fer: 3)Anotar quin és el node amb millor qualitat nmax i el següent en qualitat nmax-1. Aleshores: a)Si en unir nmax i nmax-1dóna un node amb més qualitat que Max(qualitat(nmax), qualitat(nmax-1)) llavors es crea un node que resulta de la fusió de nmax i nmax-1. b)Sinó cal considerar si és millor dividir nmax en dos nodes comparant la seva qualitat amb les de les particions resultants. Per a cada nova Observació Oifer Per a cada node nj existent fer Si la qualitat de ni millora incorporant Oillavors nj=nj U Oi Si no es troba cap node nj que millori llavors es crea un nou node únicament amb Oi fPer fPer
A B C D ClusteringJeràrquic Dades inicials Matriu de distàncies
A B C D ClusteringJeràrquic Dades inicials Matriu de distàncies
A B C D ClusteringJeràrquic Enllaç senzill Clusters actuals Matriu de distàncies 2
A B C D ClusteringJeràrquic Enllaç senzill Clusters actuals Matriu de distàncies
A B C D ClusteringJeràrquic Enllaç senzill Clusters actuals Matriu de distàncies
A B C D ClusteringJeràrquic Enllaç senzill Clusters actuals Matriu de distàncies 3
A B C D ClusteringJeràrquic Enllaç senzill Clusters actuals Matriu de distàncies
A B C D ClusteringJeràrquic Enllaç senzill Clusters actuals Matriu de distàncies
A B C D ClusteringJeràrquic Enllaç senzill Clusters actuals Matriu de distàncies 10
A B C D ClusteringJeràrquic Enllaç senzill Resultat final Matriu de distàncies
Clustering Jeràrquic • Criteri de finalització • Mantenir una distància determinada entre grups. • Continuar fins que hi hagi un sol grup i com que queda enregistrada la fusió que hi ha hagut, obtenim l’històric del procés i podem veure a quin nivell interessa aturar-se. • Detecció de la proximitat entre grups • Paràmetre de tall que impedeix el creixement excessiu de l’arbre. • Si una observació no incrementa suficientment la qualitat del grup no es té en compte. • Qualitat d’una agregació • Una classe rep un valor més alt quan més alta sigui la similitud entre les observacions que aplega i com més baixa sigui respecte a les de les altres classes.
Consideracions sobre la mesura de tall • Més gran un únic cluster • Més petita molts clusters
Algorisme EM (Expectation-Maximization) • Cada centroide (llavor) es representa mitjançant una distribució probabilística (Gaussiana, per continus, Poisson per discrets) • L’algorisme s’itera en dos passos: estimació i maximització, fins que la distribució no es mou • Estimació: calcular la responsabilitat de cada distribució per a cada punt • Maximització: la mitjana de les distribucions es selecciona com a nou centroide
Algorisme • Inicialitzar els parametres: (t=0) 0={1(0), 2(0),… k(0), p1(0), p2(0),… pk(0)} • E-step: Cálcul de la probabilitat d’un exemple, donat els centres i(t) • M-step: iteracció R: nombre d’exemples
Demo Algorisme EM (Expectation-Maximization) http://www.youtube.com/v/v-pq8VCQk4M
Mapes auto-organitzatius Kohonen • Xarxa neural de 2 capes Size x Size y Wn Entrades: exemples Input1 Input2