Analisis de datos, implementacion K-means en Matlab

Analisis cluster (K-means Clustering)

(Nota: Al final encontraras un archivo.rar con scripts.m para que analices la implementacion K-means en Matlab.)

El análisis de conglomerados implica la aplicación de una o más algoritmos de agrupamiento con el objetivo de encontrar patrones o grupos ocultos en un conjunto de datos. Agrupación de los algoritmos forman grupos de tal manera que los datos dentro de uno de estos grupos tienen una medida de similitud más alta que los datos en cualquier otro clúster. La medida de similitud en el que se modelan los grupos puede ser definido por la distancia euclidiana, la distancia probabilística, u otra métrica.


Existen diferentes tipos de algoritmos para agrupamientos, pero el que nosotros usaremos será el k-means.

k-means clustering 

Particiones de datos en k grupos distintos basados ​​en la distancia al centro de gravedad de un clúster.

k-means es un algoritmo que divide tus datos automáticamente por ti. Es una forma de aprendizaje automático que proporciona un particionamiento óptimo de datos

Matlab contiene la función kmeans, que haría todo el trabajo por ti, pero lo que aquí haremos, será desarrollar todo el algoritmo, para poderle hacer posibles correcciones y usarlo a nuestra voluntad.

Proceso

Dados n d-dim observaciones (x1,x2,…,xn), k-means clustering se objetiva en particiones de n observaciones en conjuntos k(kn) S= S1,S2,….Sk, a fin de minimizar dentro de la agrupación la suma de puntos(datos).


Donde µi es la mediana de los puntos en Si.


Pasos del algoritmo K-means Clustering

  • Inicialización
  • Asignación
  • Actualización

Repetir hasta que la asignación deje de cambiar.

Inicialización:

Método Forgy: Escoger K means aleatoriamente desde los datos, m1(1),….mk(1)
Partición Aleatoria: Asignar aleatoriamente cada muestra para un grupo(cluster), a continuación realizar la actualización.



Asignación
Asignar cada observación para el cluster cuyas medianas producen la menor (dentro de los clusters) suma de los puntos. Ya que la suma de los puntos es la distancia euclidiana al punto, esto es intuitivamente la media más cercana

Si(t) ={ Xp : || Xp - mi(i)||2 ||Xp-mj(t)||2 ɏj, 1 ≤ j ≤ k}

 Donde cada Xp es asignado para exactamente un S(t).


Actualización
Calcular las nuevas medianas mi(t+1) para ser el centroide de las observaciones en el nuevo cluster.





Importancia de la Inicialización

Diferentes inicializaciones van a arrojar diferentes resultados, diferentes centros clusters

ARCHIVOS

File.rar | Size 110 KB

Download Here
.

0 comentarios:

Publicar un comentario

Gracias por tu visita!!