Professional Documents
Culture Documents
Inteligencia Artificial
Profesor: Alejandro Figueroa
Conceptos Bsicos
En algunas ocasiones no tenemos las clases
asociadas en los datos de entrenamiento.
Pero an as queremos encontrar estructuras
intrnsecas en los datos.
Clustering es un mtodo para lograr sto.
Clustering es llamado aprendizaje nosupervizado, sin embargo, no es lo nico que
es llamado as.
Conceptos Bsicos
Clustering consiste en organizar los datos en
grupos cuyos miembros son parecidos de
alguna forma.
Es decir, un clster es un conjunto de datos
que son similares de alguna forma, y a su vez
son disimiles a los ejemplos contenidos en
otros clsteres.
En la jerga de clustering, cada instancia en los
datos es llamada objeto o data point.
Conceptos Bsicos
Conceptos Bsicos
Hay dos tipos de clustering: particional y
jerrquico.
La idea es agrupaciones intrnsecas de los
datos de entradas mediante el uso de un
algoritmo de clustering y una medida de
distancia.
SSE dist ( x, m j )2
j 1 xC j
x j C j
Es un problema de K-means.
Clustering Jerrquico
Produce un rbol, tambin llamado dendrogram
(a), que consiste en un conjunto de clsteres
anidados.
Los datapoint estn en las hojas del rbol, y el
rbol parte con un nico nodo llamado raz.
Cada nodo del rbol tiene hijos, y cada hermano
particiona los datos que tiene el padre.
Clustering Jerrquico
Hay dos tipos:
Agglomerativos (bottom-up): Construye el rbol
mediante la amalgama de los clsteres ms
cercanos. As sube niveles en el rbol. Es el
mtodo ms usado
Divise (top-down): Parte con todos los datos en
un clster, la raz. Divide los nodos en hijos
sucesivamente, hasta alcanzar clsteres de puntos
individuales.
Clustering Jerrquico
Agglomerative (D)
1. Hacer de cada data point un clster.
2. Calcular todas las distancias entre los puntos en
D
3. Repetir
1. Encontrar los dos clsteres que estn ms cerca.
2. Unirlos para formar un nuevo clster C.
3. Calcular la distancia de C a todos los clsteres.
Clustering Jerrquico
Clustering Jerrquico
Para calcular la distancia entre dos clsteres:
Single-Link
Complete-Link
Average-Link
Clustering Jerrquico
Single-Link:
La distancia entre dos clsteres es la distancia de
los dos puntos ms cercanos.
Bueno para encontrar clsteres de forma noeliptica.
Es sensible a datos ruidoso.
La complejidad es O(n2), con n el nmero de
datos.
Clustering Jerrquico
Clustering Jerrquico
Complete-Link:
Une dos clsteres tal que su distancia mxima es
la mnima entre todos los clsteres.
No tiene el problema de los datos ruidosos, pero
tiene el problema de los outliers.
En general, produce mejores resultados que el
mtodo de Single-Link.
La complejidad es O(n2log n), con n como el
nmero de datos.
Clustering Jerrquico
Average-Link:
La distancia es el promedio entre todos los pares de
puntos de un clster.
La complejidad es O(n2log n), con n como el nmero
de datos.
Otros mtodos:
Centroid: la distancia est dada por el centroide de los
dos clsteres.
Ward: Se amalgama los clsteres que incrementan el
error de menor forma. El error (SSE) se calcula como
la diferencia entre el clster nuevo y los que se une.
Clustering Jerrquico
Clustering jerrquico tiene las ventajas:
Puede tomar cualquier mtrica de distancia.
No tiene un k definido, es decir puede explorar
cualquier nivel de granularidad.
Clster jerrquico agglomerativo produce
generalmente los mejores resultados.
Las desventajas:
Son ms complejos computacionalmente.
Ineficiente y poco prctico para conjuntos de datos
muy grandes.
Clustering Jerrquico
Alguna veces se puede aplicar mtodos de
escalamiento (scale-up methods) para combatir
el problema con los conjuntos de datos muy
grandes.
La idea es encontrar en primera instancia muchos
clsteres pequeos utilizando un algoritmo
eficiente.
Despus se utiliza el centroide de esos clsteres
para representar los clsteres, y de ah ejecutar el
clustering jerrquico final.
Clustering Jerrquico
Permite ver las agrupaciones a diferentes niveles,
es decir podemos cortar a diferentes niveles el
rbol y ver cmo se van formando los clsteres.
Cada nivel utiliza un nmero diferente de clsteres.
Clustering Jerrquico
http://itol.embl.de/itol.cgi
Clustering Jerrquico
Funciones de Distancia
Para atributos numricos:
Minkowski
Euclidean
Manhattan
Weighted Euclidean
Squared Euclidean
Chebychev
Funciones de Distancia
La distancia de Minkowski de dos puntos xi y
xj (h es un entero positivo) de r-dimensiones:
dist ( xi , x j )
Funciones de Distancia
La distancia Manhattan
toma su nombre porque es
la distancia que se necesita
(en trminos de nmero de
cuadras) para viajar desde
un punto a otro en una
ciudad que tiene forma de
grilla como Manhattan o el
plano de Via del Mar.
La distancia total es una
combinacin de las cuadras
este-oeste y norte-sur
caminadas.
Fuente: Wikipedia
Funciones de Distancia
La distancia euclidiana con pesos est dada por :
dist ( xi , x j ) 2 w1 ( xi1 x j1 )2 ... wr ( xir x jr )2
Funciones de Distancia
La distancia de Chebychev:
dist ( xi , x j ) max( xi1 x j1 ,..., xir x jr )
Ejemplo
Si X1 es (1,3) y X2 es (5,6), entonces:
Minkowski:
dist ( x , x
1
2 h 1h
h 1 1 41 31 1 7 7
h2
4 2 32
h 3 3 43 33
2
3
25 5
91 9,53939201
Ejemplo
Si X1 es (1,3) y X2 es (5,6), entonces:
Euclidiana al cuadrado:
dist ( x1 , x2 ) 42 32 25
dist ( xi , x j )
| xi1 x j1 |
xi1 x j1
...
| xir x jr |
xir x jr
Squared Cord
dist ( xi , x j ) ( xi1 x j1 ) 2 ... ( xir x jr ) 2
Squared Chi-squared
dist ( xi , x j )
( xi1 x j1 ) 2
xi1 x j1
...
( xir x jr ) 2
xir x jr
Ejemplo
Si X1 es (1,3) y X2 es (5,6), entonces:
Canberra:
4 3 36 18 54
1
6 9
54
54
Squared Cord:
( 1 5 ) 2 ( 3 6 ) 2 (-1,23606798) 2 (-0,71743894) 2 0,58144723 2,04258267
Squared Xi-squared:
4 2 32
5, 6
6 9
Atributos Heterogneos
Si los atributos son numricos, las frmulas de
distancias se aplican de manera directa.
Pero cuando los vectores tienen datos de tipos
heterogneos el asunto se puede complicar:
Feature/Atributo
Persona A
Persona B
Gnero
Masculino
Femenino
Edad
23
40
10
Ingreso
50,000
90,000
Atributos Heterogneos
Este ejemplo nos muestra varios problemas
con el clculo de la distancia:
El atributo gnero es simblico (binario o
categrico). Para un atributo binario tal vez sea
suficiente usar 0s y 1s, pero no si tiene mltiples
valores.
La edad puede fluctuar entre 18 y 100, pero el
ingreso no. El problema que una diferencia de 10
dlares sera tan significante como 10 aos de
edad.
Funciones de Distancia
Otros tipos de atributos:
Binarios: Por ejemplo, el genero (masculino y
femenino). Normalmente no hay una relacin de
orden. Las mtricas se basan en la proporcin de
coincidencias en los valores: ambos falsos o
verdaderos.
Funciones de Distancia
Otros tipos de atributos (binario):
Simtricos: si ambos estados tienen la misma
importancia, por ende tienen el mismo peso. La
funcin de distancia ms usada es la distancia de
simple coincidencias:
bc
dist ( xi , x j )
abcd
Funciones de Distancia
Ejemplo:
x1
x2
22
4
dist ( xi , x j )
0.57
2 2 1 2 7
Funciones de Distancia
Otros tipos de atributos (binario):
Asimtricos: Si un valor es ms importante que el
otro. Por convencin, se toma como el positivo (1)
como el estado ms importante o raro. Una
distancia que se puede utilizar es la Jaccard:
w1 (b c)
dist ( xi , x j )
w2a w1 (b c)
w1 y w2 son pesos que se le pueden dar a las nocoincidencias. En general, ambos son 1.
Funciones de Distancia
Ntese que tambin existe el coeficiente
Jaccard que mide la similitud y no la distancia:
a/(a+b+c).
Para atributos nominales con ms de dos
estados o valores, la medida de distancia ms
usada tambin basada en la distancia de
coincidencias simples.
Dado dos puntos xi y xj, el nmero de atributos r, y
q el nmero de valores que coinciden entre xi y xj:
rq
dist ( xi , x j )
r
Funciones de Distancia
Supongamos dos vectores de r=4 atributos
X1={0,naranja, true, 1} y X2={1,naranja,
falso, 0}
El valor de q entre estos dos vectores es 1,
porque slo el atributo naranja coincide.
Por consiguiente, el valor de la fraccin es .
De esta misma forma, la distancia es .
Estandarizacin de Datos
La idea de estandarizacin es que todos los
atributos puedan tener igual impacto en el
cmputo de la distancia.
En especial, cuando se usa la distancia
euclidiana.
El objetivo es prevenir que hayan clsteres
dominados por atributos con una alta
variacin.
Estandarizacin de Datos
Ejemplo: En un conjunto de dos dimensiones,
el rango de un atributo es de cero a uno,
mientras el rango del otro atributo es de 0 a
1000. Considere los siguientes data points:
Xi: (0.1,20)
Xj:(0.9,720)
Estandarizacin de Datos
En el ejemplo vemos que la distancia est casi
completamente dominada por (720-20)=700.
Lo que se hace es estandarizar los atributos,
es decir que todos estn en el rango 0 a 1.
Entonces los valores 20 y 720 se transforman
en 0.02 y 0.72.
La distancia en la primera dimensin se
transforma en 0.8 y en la segunda 0.7.
Por ende, la dist(xi,xj)=1.063.
Estandarizacin de Datos
Este tipo de fenmeno tambin afecta a una
representacin como la de bolsa de palabras.
Una representacin donde cada palabra representa un
atributo, y el valor de ese atributo es la frecuencia en el
documento.
Estandarizacin de Datos
Estandarizacin de Datos
Atributos que representan escalas en
intervalos:
Continuos y numricos.
Nmeros reales que siguen una escala.
E.g., edad, alto, peso, costo, etc.
Estandarizacin de Datos
Range divide cada valor por el rango de
valores vlidos de los atributos talque los
rangos de los valores transformados estn
entre 0 y 1.
Dado el valor xif del f-simo atributo del isimo data point, el nuevo valor rg(xif) es,
rg( xif )
xif min( f )
max( f ) min( f )
Estandarizacin de Datos
Donde min(f) y max(f) son el mnimo y mximo valor
posible del atributo.
Ergo, max(f)-min(f) es el rango de valores vlidos del
atributo f.
Calcular el rango de acuerdo a los valores posibles o los
mximos y mnimos vistos en los datos?
Estandarizacin de Datos
La desviacin estndar de f, denotada por f,
se calcula mediante:
n
2
(
x
)
if f
i 1
n 1
1
f xif
n i 1
Estandarizacin de Datos
Entonces, el nuevo valor despus de la
transformacin:
xif f
z ( xif )
Estandarizacin de Datos
Atributos que representan escalas en radios:
Numricos que toman valores reales.
Al contrario de los atributos anteriores, las escalas
no son lineales.
Por ejemplo los atributos que crecen
exponencialmente: AeBt (A y B son constantes
positivas),
Estandarizacin de Datos
Para este tipo de atributo, tenemos dos
opciones:
Aunque no es recomendable, tratarlo como
atributos que representan escalas en intervalos.
Desarrollar una transformacin logartmica para
cada valor xif, i.e., log(xif). Despus de la
transformacin, el atributo puede ser tratado con
un atributo que representa escalas en intervalos.
Estandarizacin de Datos
Atributos nominales: el valor puede tomar
cualquier estado dentro de un conjunto.
Normalmente, no tienen lgica o orden
numrico.
Por ejemplo el atributo fruta puede tener los
siguientes valores posibles: manzana, naranja, y
pera. Estos atributos no tienen orden.
Estandarizacin de Datos
Se pueden convertir a un conjunto de atributos
binarios.
Por ejemplo, para el atributo nominal fruta,
podemos crear tres atributos binarios: manzana,
naranja y pera en los datos nuevos. Si en
particular un dato original tiene manzana como
fruta, entonces en los datos transformados, se
asigna al set al valor manzana como uno, y el
valor de los otros atributos un cero.
Estandarizacin de Datos
Atributos ordinales son como los atributos
nominales.
Por ejemplo, el atributo edad puede tener
valores: joven, mediana edad y viejo.
Lo comn es tratarlos atributos que
representan escalas en intervalos.