Your SlideShare is downloading. ×
Fuzzy c-means clustering
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Fuzzy c-means clustering

6,806
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,806
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
180
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Aprendizaje no supervisado: Fuzzy c_means clustering
  • 2. Función de coste x k : Valores pertenecientes a la matriz de datos (entradas) v i : Valores de la matriz de centroides C i µCi ( xk ): Representa el grado de pertenencia de determinado valor de la matriz de datos al cluster Ci . m: Determina el grado en el cual miembros que pertenecen a determinado cluster afectan el valor de los centroides Objetivo: Obtener vi
  • 3. Condiciones iniciales % Datos de entrada x=[1 1 1 2 3 4 5 5 5]'; y=[1.5 2 2.5 2 2 2 1.5 2 2.5]'; X=[x, y]; % Centroides iniciales v=[1 2.25; 5 1.25]; % Condiciones iniciales m=2; % Influencia del grado de pertenencia c=2; % Número de centroides
  • 4. Grado de pertenencia
    • Se calcula el grado de pertenencia de cada valor de la matriz de datos a cada cluster
    Para m=2, y primer variable:
  • 5. Grado de pertenencia(Matlab)
    • % Tamaño de matriz de datos
    • [L,D]=size(X);
    • % Se calcula los grados de pertenencia
    • for l=1:L
    • for j=1:c
    • %Suma de distancias
    • suma(j)=sum((X(l,1)-v(j,1))^2+(X(l,2)-v(j,2))^2);
    • end
    • for j=1:c
    • sumaa(j)=0;
    • for i=1:c sumaa(j)=sumaa(j)+suma(j)/suma(i);
    • end
    • U(l,j)=1/sumaa(j)
    • end
    • end
  • 6. Resultados Datos y centroides Los grados de pertenencia devueltos son U = 0.9662 0.0338 0.9962 0.0038 0.9965 0.0035 0.9000 0.1000 0.5290 0.4710 0.1471 0.8529 0.0038 0.9962 0.0338 0.9662 0.0887 0.9113 Los cinco primeros valores pertenecen al grupo o centroide 1 y los restantes 4 al centroide 2
  • 7. Actualización del valor de los centroides x : Valores pertenecientes a la matriz de datos (entradas) µCi ( x ): Representa el grado de pertenencia de los valores de la matriz de datos al cluster Ci .
  • 8.
    • % Determinar el nuevo valor de los centroides
    • for j=1:c
    • vn(1)=0; vn(2)=0;
    • vd(1)=0; vd(2)=0;
    • for l=1:L
    • %Primer término del centroide
    • vn(1)=vn(1)+U(l,j)^2*X(l,1);
    • vd(1)=vd(1)+U(l,j)^2;
    • % Segundo término del centroide
    • vn(2)=vn(2)+U(l,j)^2*X(l,2);
    • vd(2)=vd(2)+U(l,j)^2;
    • end
    • v(j,1)=vn(1)/vd(1);
    • v(j,2)=vn(2)/vd(2);
    • end
    Actualización del valor de los centroides (Matlab)
  • 9. Resultados Condiciones iniciales Resultado primera iteración
  • 10. Algoritmo fuzzy c-means Condiciones iniciales : c = Número de clusters z = [ ] Matriz de datos v = [ ] Valores iniciales de los clusters
    • Desde l=1 hasta … criterio de mínima distancia
    • {
    • Se calcula la matriz de pertenencias
    • Se calcula la matriz de centroides o clusters
    • }
  • 11. Función FCM Fuzzy Logic Toolbox [CENTER, U] = FCM(DATA,N_CLUSTER,OPTIONS) donde: CENTER: Coordenadas de los centroides U: Matriz de pertenencia OPTIONS(1): Exponente de la matriz U (implícito: 2.0) OPTIONS(2): máximo número de iteraciones (implícito: 100) OPTIONS(3): Diferencia entre variaciones de centroides deseado (implícito: 1e-5) OPTIONS(4): mostrar las iteraciones (implícito: 1)
  • 12. Ejemplo % Matriz de datos 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]=fcm(X,2); % Ejecuta el algoritmo % Dibuja figure plot(X(:,1),X(:,2),'p'); hold on; plot(v(:,1),v(:,2),'s');
  • 13. Resultado de la ejecución
  • 14. GUI: findcluster