Академический Документы
Профессиональный Документы
Культура Документы
no supervisada
[5.1] ¿Cómo estudiar este tema?
5 TEMA
Esquema
CLUSTERING
Método de aprendizaje no-supervisado que genera agrupamientos de objetos
Algoritmos
jerárquicos:
Algoritmo Algoritmo Algoritmo Fuzzy C-
K-means EM Means
• Aglomerativos
• Divisivos
2
Ideas clave
Para estudiar este tema deberás leer las Ideas clave que se presentan a continuación.
Puedes completar el estudio visualizando la lección magistral. Es muy recomendable
ver esta lección previamente a realizar las actividades propuestas.
Clustering
Es un método de aprendizaje no supervisado que permite agrupar objetos en
clústeres o agrupamientos, cuyos miembros son similares entre sí en cierto modo.
3
Técnicas de Inteligencia Artificial
Clúster
Es una colección de objetos similares entre sí y diferentes a los objetos que
pertenecen a otros clústeres.
Por ejemplo, no es lo mismo tratar de detectar el espacio donde hay una mancha de fuel
en el mar, espacio que puede tener una forma irregular, que el tratar de obtener
agrupamientos circulares y de similar tamaño con el fin de segmentar un grupo de
clientes para ofrecer productos.
4
Técnicas de Inteligencia Artificial
5
Técnicas de Inteligencia Artificial
Medida de distancia
Pero hay otro tipo de medidas muy utilizadas también típicamente por algoritmos de
clustering no tan extendidas. A continuación se describen algunas de estas medidas de
distancia conocidas como linkage measures (medidas de conectividad):
6
Técnicas de Inteligencia Artificial
1
𝑑𝑖𝑠𝑡𝑎𝑣𝑒𝑟𝑎𝑔𝑒−𝑙𝑖𝑛𝑘 (𝐶𝐴 , 𝐶𝐵 ) = ∑ |𝑝 − 𝑝′|
𝑛𝐴 𝑛𝐵
𝑝∈𝐶𝐴 , 𝑝′∈𝐶𝐵
Siendo p y p’ los puntos en los que dos objetos se sitúan, CA y CB, dos clústeres con
un número de elementos nA y nB respectivamente, y tal que p Є CA y p’ Є CB.
7
Técnicas de Inteligencia Artificial
Los algoritmos más simples de clustering son los que dividen el conjunto de objetos en
agrupaciones exclusivas de objetos teniendo como punto de partida el número de
clústeres que se desea generar y midiendo la similitud de los objetos en base a una
medida de distancia. El algoritmo más popular de este tipo es el algoritmo K-means.
Algoritmo K-means
Es un método iterativo basado en distancia que define k centroides de los k
clústeres que genera en cada iteración. Un objeto pertenece a un clúster o a otro en
base a su distancia a los centroides de los distintos clústeres. El centroide de un
clúster lo calcula como el valor medio de los puntos del clúster.
1. Selecciona K objetos del conjunto inicial de manera aleatoria o siguiendo alguna pauta
como, por ejemplo, que los objetos estén lo más lejos posible uno de otros. Cada uno de
estos k objetos representan cada uno de los centroides de los k clústeres.
2. El resto de objetos se asigna al clúster cuyo centroide es más similar. Esta similitud
se calcula mediante una medida de distancia entre el objeto y el centroide. En este
paso ya se obtienen k agrupamientos o clústeres iniciales.
3. Para cada clúster generado en el paso previo, se recalcula la posición del centroide o
media de los puntos.
4. Los pasos 2-3 se repiten hasta que las posiciones de los centroides no varían.
8
Técnicas de Inteligencia Artificial
Se puede observar cómo efectivamente cada clúster presenta una serie de objetos que
se agrupan alrededor de la media del mismo. Nótese que en este caso la visualización es
muy clara porque los datos de entrada son bidimensionales. Sin embargo, cuando los
datos tienen muchas dimensiones, es muy difícil interpretar los clústeres obtenidos a
partir de una visualización o análisis y, por tanto, se asigna una clase a cada clúster y se
utilizan técnicas de aprendizaje supervisado para describir los mismos.
Una limitación del algoritmo es que solo trabaja con datos de valores reales. Solo se
puede aplicar cuando el cálculo de la media de los objetos está definido y, por tanto,
podría no ser aplicable cuando se manejan valores nominales. Una posible solución es
mapear el valor nominal a un valor numérico.
9
Técnicas de Inteligencia Artificial
La figura 5 muestra el sentido de cómo se dividen o agrupan los clústeres según se trate
de un algoritmo divisorio o aglomerativo.
10
Técnicas de Inteligencia Artificial
Algoritmo divisorio
Algoritmo aglomerativo
a
a
b
ab
b
cde
c c
d
d c
d e
Nivel 4
Similitud
Nivel 3
Nivel 2
+
Nivel 1
a b c d e
Nivel 0
11
Técnicas de Inteligencia Artificial
Los algoritmos divisorios son menos frecuentes que los aglomerativos. Una dificultad
que presentan es la decisión de cómo dividir un clúster con muchos elementos en
clústeres más pequeños, puesto que las posibles combinaciones de diferentes clústeres
a partir de un numeroso número de instancias son igualmente muy numerosas.
El cálculo en cada iteración de las distancias entre el nuevo clúster generado y el resto
se puede realizar de diferentes formas, tales como a través de la medida de la distancia
de enlace sencillo, enlace completo, promedio, etc.
12
Técnicas de Inteligencia Artificial
1. Se comienza por el nivel 0 en el que se genera un clúster por cada uno de los N
puntos del conjunto inicial de instancias.
5. Si todos los objetos están en un único clúster, el algoritmo finaliza. En caso contrario
se continua en el paso 2.
s t u w
s 0 4 8 3
t 4 0 5 10
u 8 5 0 2
w 3 10 2 0
Primeramente se crean tantos clústeres como objetos hay (ver figura 7). A continuación
se busca el par de clústeres menos distantes entre sí, que son aquellos cuya distancia es
menor. Según la matriz de la tabla 1, los clústeres correspondientes a los objetos u y w
son los más cercanos, dando lugar al clúster que se denomina Cu-w (ver figura 8).
13
Técnicas de Inteligencia Artificial
t s u w Iteración 1
t s u w Iteración 1
Cu_w Iteración 2
s t Cu-w
s 0 4 3
t 4 0 5
Cu-w 3 5 0
t Cu-w-s
t 0 4
Cu-w-s 4 0
14
Técnicas de Inteligencia Artificial
t s u w Iteración 1
Cu_w Iteración 2
Cu_w_s Iteración 3
A continuación ya solo queda unir los dos únicos clústeres existentes generando un
único clúster y finalizando el algoritmo. El árbol generado se muestra en la figura 10.
t s u w Iteración 1
Cu_w Iteración 2
Cu_w_s Iteración 3
Cu_w_s_t Iteración 4
15
Técnicas de Inteligencia Artificial
En muchos problemas, no todos los clústeres son igual de probables, no tienen por qué
tener el mismo número de individuos, luego también habría que reflejar la distribución
de la población entre los clústeres.
Clustering probabilista
Dado un conjunto de instancias con sus atributos, el problema que se presenta es
conocer los parámetros que modelan el conjunto de k distribuciones de
probabilidad para los k clústeres, así como la probabilidad de población,
esto es, que el propio clúster tenga cierto número de instancias.
Un caso sencillo sería tener instancias de un único atributo y tres clústeres que se
modelan como una distribución normal con desviaciones media y estándar μA y σA para
el clúster A, μB y σB para el clúster B y μC y σC, para el clúster C. Las muestras se
distribuyen en los clústeres con las probabilidades pA, pB y pC. El problema consiste por
tanto en modelar esos clústeres, esto es, determinar los valores: μA, σA, μB, σB, μC. σC, pA,
pB y pC.
16
Técnicas de Inteligencia Artificial
1. A cada objeto se le asigna el clúster cuyo centroide está más cercano (los centroides
en la primera iteración se suelen determinar aleatoriamente).
2. Una vez se asignan los objetos a cada clúster, se recalcula el centroide de tal manera
que la suma de las distancias de los objetos asignados al clúster al centroide sea
mínima.
Entonces se puede comenzar con valores «posibles» de esos parámetros que modelan
los clústeres y las probabilidades, tal y como se «adivina» el centroide en el algoritmo
K-means en la primera iteración, y utilizar estos hipotéticos valores para calcular las
probabilidades de que cada instancia esté en un clúster. En la segunda etapa se pueden
utilizar estas probabilidades para reestimar los parámetros. Este proceso se repetiría
iterativamente. Así funciona el algoritmo EM (Expectation – Maximization).
17
Técnicas de Inteligencia Artificial
Dado un conjunto de objetos x1, x2, …xi, ….xn, un agrupamiento de los mismos mediante
k clústeres difusos C1, C2, … Cj… CK se puede representar utilizando una matriz
divisoria, M = [pìj], tal que 1≤ i ≤ n y 1≤ j ≤ k, siendo pij el grado de pertenencia del
objeto xi al clúster Cj.
𝑛 𝐾
𝑚 2
𝑓𝑚 = ∑ ∑ 𝑝𝑖𝑗 ‖𝑥𝑖 − 𝑐𝑗 ‖
𝑖=1 𝑗=1
Donde:
3. xi es la i-ésima instancia.
18
Técnicas de Inteligencia Artificial
∑𝑛𝑖=1 𝑝𝑖𝑗
𝑚
𝑥𝑖
𝑐𝑗 = 𝑛 𝑚
∑𝑖=1 𝑝𝑖𝑗
1
𝑝𝑖𝑗 = 2
‖𝑥 − 𝑐𝑗 ‖𝑚−1
∑𝑘𝑙=1 𝑖
‖𝑥𝑖 − 𝑐𝑙 ‖
El algoritmo Fuzz C-means guarda similitud con el algoritmo EM pero una diferencia
importante es precisamente el tipo de clúster objetivo. Tanto K-means como Fuzzy
C-means modelan los clústeres típicamente con forma circular, mientras que el
algoritmo EM emplea funciones probabilísticas dando lugar a los clústeres
probabilísticos modelados por funciones probabilísticas.
19
Técnicas de Inteligencia Artificial
Lo + recomendado
No dejes de ver…
20
Técnicas de Inteligencia Artificial
+ Información
A fondo
Wiki del organismo SOCR (Statistics Online Computational Resource) que propone
actividades para experimentar con el algoritmo EM con el fin de obtener clústeres a
partir de puntos en espacios de 1D, 2D y 3D, haciendo uso de la herramienta SOCR ,que
se puede ejecutar a través de esta misma página.
21
Técnicas de Inteligencia Artificial
Bibliografía
Han, J., Kamber, M., & Pei, J. (2012). Data mining: concepts and technique. San
Francisco: Morgan Kaufmann.
Roiger, R.J. & Geatz, M.W. (2003) Data Mining, a Tutorial-based Primer. Pearson
Education.
Witten, I.H. & Frank, E. (2005). Data Mining. USA: Morgan Kaufmann Publishers.
22
Técnicas de Inteligencia Artificial
Actividades
Esta actividad tiene como objetivo que practiques la aplicación de diversos algoritmos
de clustering sobre un conjunto de datos, comprendiendo su funcionamiento e
interpretando los resultados obtenidos. También tiene el objetivo de que continúes
familiarizándote con la herramienta Weka, utilizando los algoritmos de clustering que
proporciona.
http://www.cs.waikato.ac.nz/ml/weka/downloading.html
2. Weka trae consigo una serie de datasets o conjuntos de datos por defecto. Estos
están disponibles en la carpeta /data incluida en el directorio raíz de Weka creado en
la instalación del software. Ejecuta el Explorer de Weka y carga el fichero iris.arff,
cuyos datos ya has utilizado en una actividad previa de clasificación.
23
Técnicas de Inteligencia Artificial
8. Comprueba que puedes visualizar los clústeres obtenidos tras ejecutar el algoritmo
EM. En este caso no es necesario que extraigas conclusiones. Incluye en el informe
de la práctica una de las visualizaciones obtenidas.
En esta actividad debes entregar un informe que incluya los datos, gráficas y respuestas
a las preguntas que se indican en cada uno de los pasos anteriormente descritos. El
informe, incluyendo gráficas, tendrá una extensión máxima de 8 (Georgia 11,
interlineado, 1,5).
24
Técnicas de Inteligencia Artificial
Los datos disponibles son las distancias en km por carretera entre las ciudades
incluidas en la matriz de distancias expuesta a continuación. Se han de ir agrupando las
ciudades según la cercanía empleando el algoritmo mencionado, explicando cada paso
del algoritmo e incluyendo la matriz de distancias entre clústeres resultante en cada
paso.
25
Técnicas de Inteligencia Artificial
Test
Indica cuáles de las siguientes afirmaciones, respecto del algoritmo K-means, son
correctas:
A. El algoritmo K-means asigna los objetos a los clústeres en función de su
cercanía al centroide de cada clúster.
B. En cada iteración el algoritmo K-means mantiene fijos los centroides.
C. Es un algoritmo basado en densidad.
D. En cada iteración el algoritmo recalcula los centroides.
26