Tema 4: Agents que aprenen
description
Transcript of Tema 4: Agents que aprenen
1
Tema 4: Agents que aprenen
2. Mètodes d’agregació (clustering)
2
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.
3
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
),...,,,(
),...,,,(
321
321
n
n
yyyyy
xxxxx
X1
X2X
Y
4
Què és el Clustering?
5
Tipus de clustering
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)
Els mètodes depènen fortament de la definició de distancia
6
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, ...)
7
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).
8
Distàncies clàssiques per valors numèrics
Distància Euclidea
Distància de Manhattan (city-block)
n
iii yxyxd
1
2)(),(x
y
n
iii yxyxd
1
||),(
x
y
9
Distàncies clàssiques per valors numèrics
Minkowski: per d dimensions
d: dimensionalitat
Euclidea: p=2
Manhattan: p=1
10
Distàncies clàssiques per valors numèrics
Distància de Chebychev
Distància del cosinus
||max),( ,...,1 iini yxyxd
)||||||||
arccos(),(yx
yxyxd
T
x
y
11
Distàncies clàssiques per valors numèrics
Distància de Mahalanobis
)()(),( 1 yxSyxyxd T
S: matriu de covariàncies
12
Distàncies numèriques: consideracions prèvies
Normalització dels valors dels atributs• Normalització lineal uniforme
minmax
min'
v
v
Abans de normalitzar Després de normalitzar
13
Distàncies numèriques: consideracions prèvies
Normalització dels valors dels atributs• Comparació d’automòbils (distància Euclídea)
Abans de normalitzar Després de normalitzar
Pes (Kg) Llargada (mm) Potència (CV)
Opel Astra 1373 4442 140
Opel Corsa 1160 3999 90
Ferrari F50 1060 4496 513
489496
14
Distàncies numèriques: consideracions prèvies
Normalització dels valors dels atributs• Comparació d’automòbils (distància Euclídea)
Abans de normalitzar Després de normalitzar
Pes (Kg) Llargada (mm) Potència (CV)
Opel Astra 1373 4442 140
1 0,89134809 0,1182033
Opel Corsa 1160 3999 90
0,319 0 0
Ferrari F50 1060 4496 513
0 1 1
1,331,12
15
Distància per a valors no numèrics (categòrics)
Distància de Hamming
On
w: factor de reducció (w=1/n)
m
iii yxyxd
1
),(),(
1),( ii yx
0),( ii yx
ii yx
ii yx x = [blanc,fusta] y = [blanc,metall]
5.02
10),(
yxd
Exemple:
16
Distància per a valors no numèrics (categòrics)
Distància entre strings representats com a vectors
||
||||),(
yx
yxyxyxd
17
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]
||
||||),(
yx
yxyxyxd
18
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
|| yx || yx
[p,e,r,n,i,l,l] = 7 [p,e,r,i,l] = 5
d(x,y) = (7-5)/7 = 0.29
|| yx || yx
19
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ó
20
Mesures híbrides
Eixample
K
k
w
kk
K
k
w
k
k
e
yxdeyxd
1
1
),(),(
kw pes de l’atribut k
ordenat nodiscret un ésk si-1
ordenatdiscret un ésk o
icontinu ésk si
1
|)()(|
icontinu ésk si)()(
|)()(|
),(
)qlv(y),plv(x kk
k
k
kk
kkk
kk
w
V
yqlvxqlv
wklowervalkupperval
yqtvxqtv
yxd
)()( si0
)()( si1)(),(
kk
kkyqlvxqlv yqlvxqlv
yqlvxqlvkk
qtv(xk): valor quantitatiu de l’atribut k de l’exemple xqlv(xk): valor qualitatiu de l’atribut k de l’exmple xupperval(k): valor màxim de l’atribut klowerval(k): valor mínim de l’atribut k
: llindar que diferencia els atributs rellevants del que no ho són
21
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/
22
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
23
K-means: Exemple, k = 3
Pas 1: Pas 1: Seleccionar les llavors.Seleccionar les llavors.
Pas 2:Pas 2: Assignar els objectes als Assignar els objectes als centres més properscentres més propers
Pas 3:Pas 3: Recalcular els centroides Recalcular els centroides
24
K-means
Fi de l’algorisme: minimitzar funció objectiu
2
1 1
k
j
n
iji cxJ
xi: exemple icj: centroide j||?||: mesura de distància emprada
25
Consideracions
Valors anòmals (outliers)
26
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
27
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.
28
Fuzzy C-means
Es permet que un example pertanyi a un o més clusters
La funció objectiu a minimitzar és:
mcxuJ ji
N
i
C
j
mijm 1
2
1 1
m: paràmetreuji: grau de pertanyença de xi en el cluster cj
xi: exemple icj: centroide j (cluster)||?||: mesura de distància emprada
29
k-means fuzzy c-means
2 grups 2 columnes
N exemples N files
30
Algorisme
1. Inicialitzar la matriu U(0) (U=[uij]) (k=0)
2. Calcular el centroides C(k)
3. Actualitzar U(k) per U(k+1):
4. Si |U(k+1)-U(k)| < aleshores fi. Altrament tornar a 2.
criteri de finalització, [0,1]
31
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”.
32
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.
33
Enllaç senzill: C1C2
dist (C1, C2) = min { dist (X1, X2 ) : X1C1, X2C2 }
Mètodes Aglomeradors
Enllaç complet:
dist (C1, C2) = max { dist (X1, X2 ) : X1C1, X2C2 }
C1C2
34
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-1 dó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ó Oi ferPer a cada node nj existent fer
Si la qualitat de ni millora incorporant Oi llavors nj=nj U Oi
Si no es troba cap node nj que millori llavors escrea un nou node únicament amb Oi
fPerfPer
L’algorisme
35
A B C D
Dist A B C D
A 20 7 2
B 10 25
C 3
D
Matriu de distànciesDades inicials
Clustering Jeràrquic
36
A B C D
Dist A B C D
A 20 7 2
B 10 25
C 3
D
Clustering Jeràrquic
Matriu de distànciesDades inicials
37
Clusters actuals
Enllaç senzill
Dist A B C D
A 20 7 2
B 10 25
C 3
DA B CD
2
Clustering Jeràrquic
Matriu de distàncies
38
Dist AD B C
AD 20 3
B 10
C
A B CD
Clustering Jeràrquic
Matriu de distànciesClusters actuals
Enllaç senzill
39
A B CD
Dist AD B C
AD 20 3
B 10
C
Clustering Jeràrquic
Matriu de distànciesClusters actuals
Enllaç senzill
40
Dist AD B C
AD 20 3
B 10
C
A BCD
3
Clustering Jeràrquic
Matriu de distànciesClusters actuals
Enllaç senzill
41
Dist ADC B
ADC
10
B
A BCD
Clustering Jeràrquic
Matriu de distànciesClusters actuals
Enllaç senzill
42
A BCD
Dist ADC B
ADC
10
B
Clustering Jeràrquic
Matriu de distànciesClusters actuals
Enllaç senzill
43
Dist ADC B
ADC
10
B
A BCD
10
Clustering Jeràrquic
Matriu de distànciesClusters actuals
Enllaç senzill
44
A BCD
Dist ADCB
ADCB
Clustering Jeràrquic
Matriu de distànciesResultat final
Enllaç senzill
45
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.
46
Consideracions sobre la mesura de tall
Més gran un únic cluster Més petita molts clusters
47
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
48
Algorisme
1. Inicialitzar els parametres: (t=0)0={1
(0), 2(0),… k
(0), p1(0), p2
(0),… pk(0)}
2. E-step: Cálcul de la probabilitat d’un exemple, donat els centres i
(t)
3. M-step: iteracció
R: nombre d’exemples
Demo Algorisme EM (Expectation-Maximization)
49
http://www.youtube.com/v/v-pq8VCQk4M
50
Mapes auto-organitzatius Kohonen
Xarxa neural de 2 capes
Wn
Input2Input1
Size x
Entrades:exemples
Size y
51
Mapes auto-organitzatius Kohonen
Wn
Input2Input1
Size x
Size y
Entrades:exemples
Xarxa neural de 2 capes
52
Passos
1. Selecció de la neurona guanyadora (ng)
2. Desplaçament dels pesos de ng perquè representi millor els exemples
53
Selecció d’una neurona guanyadora
1. Agafar un exemple del conjunt
2. Calcular la distància entre l’exemple i cada una dels pesos(w) de les neurones
d(x,wni)
3. Etiquetar com a guanyadora la neurona més propera a l’exemple
4. Repetir el procés per cada exemple del conjunt fins que l’error sigui inferior a un error ε
Selecció d’una neurona guanyadora
54
55
Desplaçament del prototipus (aprenentatge) L’aprenentatge s’aplica després de cada exemple. Suposant que s’ha usant una distància euclídea:
: rati d’aprenentatge• Varia a mesura que avança l’aprenentatge• Mètodes d’aproximació
es decrementa en una constant petita al final de cada cicle d’aprenentatge
es decrementa seguint un esquema logaritmic (primer molt, després molt poc, fins que es fa zero)
0
))()()(( twtxt
dt
dijpij
si n és guanyadora
Altrament
)()1( tt
x
N
N
W1j+(x1-W1j)
W2j+(x2-W2j)
n = neurona guanyadora
Exemple: Mapa de qualitat de vida
Objectiu:classificar i ordenar els països del món d’acord amb la seva qualitat de vida descrita per un conjut d’indicadors: salut, nutrició, serveis educatius, etc.
La xarxa SOM entrenada amb tots els països s’autoriganitza de forma que els països amb nivell similars de qualitat de viada queden situats propers:
Superior-esquerra: països ‘rics’.
Inferior-dreta: països ‘pobres’
Cada hexagon representa una cel.lula (node) sobre una trama hexagonal (unified distance matrix, u-,matrix)
1
Dubtes?
Transparències: Bianca Inocenti
Beatriz López
Albert Plà ([email protected])
http://eia.udg.edu/~apla/t4-s2.ppt
58
Bibliografia Demos: http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/index.html
Distàncies i Algorismes:• Jain, AK. Data Clustering: A Review (1999)
• Xui, R. Survey of Clustering Algorithms (2005)
Distàncies entre strings:• Cohen, W. Et Al. A Comparison of String Distance Metrics for Name-Matching Tasks
Expectation Maximization:• Moon, T.K. The expectation-maximization algorithm (1996)
Self Organizing Maps / Mapes de kohonen• Kohonen, T. Self-Organizing Maps (2001)
• Gay et Al. Self Organizing Maps for Public-Cycling Transport Modelling and Management (2010)
59