Modelos, Control y Sistema de Visión

Central     Modelos     Control     Visión     Aplicaciones     Mapa del sitio     Publicaciones     Sobre el autor      
Concepto     Tipos     Estructuras     Pasos     Núcleo estimador     Jerarquía     Clustering      
Algoritmos de clustering
 
El agrupamiento de datos o clustering puede definirse como un método para clasificar o describir propiedades de un sistema a partir de un conjunto de datos adquiridos o representativos de dicho sistema. La aplicación de estos algoritmos tiene como objetivo devolver al usuario una serie de puntos que en cierto modo representan al resto de puntos iniciales por su posición privilegiada con respecto al total.
 

 

   tres clusters utilizando

   FCMC

>> x=[0 0 0 1 1 1 2 3 4 5 5 5 6 6 6 7 7 7 8 9 10 11 11 11 12 12 12];
y=[1 2 3 1.5 2 2.5 2 2 2 1.5 2

2.5 2 4 6 3 4 5 4 4 4 3 4 5 2 4 6];
z=[x; y]';

>> save datos.dat z -ascii

 

 

 

 

    tres clusters utilizando

                       KMC

>> datos = load('fcmdata.dat');
>> [U, v, sumd, D]=

     kmeans(datos,3);

>> plot(datos(:,1),datos

    (:,2),'*')
>> hold on

>> plot(v(:,1),v(:,2),'rs')

 

 

 

 

 Grupos próximos (r=0.7)

x=[0 0 0 1 1 1 2 3 4 5 5 5 6 6 6]';
y=[1 2 3 1.5 2 2.5 2 2 2 1.5 2 2.5 1 2 3]';
x1=x+7;    y1=y.*2;
x2=x1+7;  y2=y.*(-2);
x=[x; x1; x2];   y=[y; y1; y2];
X=[x,y];
[v]=subclust(X,.7);
plot(X(:,1),X(:,2),'p');
hold on;
plot(v(:,1),v(:,2),'rs');

 
Un esquema simplificado de un algoritmo de clustering se muestra en la siguiente figura
 
 
Como se aprecia, a los datos obtenidos del entorno se les aplica un pre-procesamiento (puede que este bloque no exista), el cual puede incluir la reducción de los datos redundantes o irrelevantes para la aplicación, la utilización de un filtro o la transformación del tipo de información que los datos representan (por ejemplo, en reconocimiento de voz, puede transformarse la señal a su equivalente en el dominio de la frecuencia para detectar picos del espectro). Posteriormente, la información se clasifica, devolviendo un subconjunto representativo de la misma.
 
Los algoritmos de clustering son métodos no supervisados, es decir, no requieren del uso del error entre la salida del sistema y el modelo que se pretende obtener para adaptar los parámetros que posteriormente identificarán al clasificador.

Se denomina “cluster” o "grupo" a un punto usado para representar un conjunto de valores de entre todos los iniciales que tienen algo en común, y que se pueden agrupar en función de determinado rasgo. De esta forma, el resultado de la ejecución del algoritmo será un conjunto de puntos que representan el centro de cada cluster o grupo identificado.
 
Algunas de las aplicaciones de los algoritmos de clustering son:
1.- Reducir el número de datos obtenidos por sensores a información relevante para la aplicación.
2.- Identificación de grupos de interés a partir de variables que identifican a clientes para crear estrategias
     de ventas.
3.- Detectar objetos defectuosos en una línea de producción donde esté instalado un sistema de visión.
4.- Reconocimiento de caracteres (matrícula de vehículos, lectura de códigos postales en sobres de
     correos, firmas de cheques bancarios, etc.).
6.- Ayuda al diagnóstico médico (análisis de imágenes de rayos-X, tomografía axial computarizada, imágenes
     ultrasónicas, ECG, EEG, etc.).
7.- Reconocimiento de voz.
8.- Segmentación de imágenes.