Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Aprendizaje no supervisado: Fuzzy c_means clustering
Función de coste x k : Valores pertenecientes a la matriz de datos (entradas) v i : Valores de la matriz de centroides  C ...
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 in...
Grado de pertenencia <ul><li>Se calcula el grado de pertenencia de cada valor de la matriz de datos a cada cluster </li></...
Grado de pertenencia(Matlab) <ul><li>% Tamaño de matriz de datos </li></ul><ul><li>[L,D]=size(X); </li></ul><ul><li>% Se c...
Resultados Datos y centroides Los grados de pertenencia  devueltos son U = 0.9662  0.0338 0.9962  0.0038 0.9965  0.0035 0....
Actualización del valor de los centroides x : Valores pertenecientes a la matriz de datos (entradas) µCi ( x ): Representa...
<ul><li>% Determinar el nuevo valor de los centroides </li></ul><ul><li>for j=1:c </li></ul><ul><li>vn(1)=0; vn(2)=0; </li...
Resultados Condiciones iniciales Resultado primera iteración
Algoritmo fuzzy c-means Condiciones iniciales : c  = Número de clusters z = [ ] Matriz de datos v  = [ ] Valores iniciales...
Función FCM Fuzzy Logic Toolbox [CENTER, U] = FCM(DATA,N_CLUSTER,OPTIONS) donde: CENTER: Coordenadas de los centroides U: ...
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...
Resultado de la ejecución
GUI: findcluster
Upcoming SlideShare
Loading in …5
×

Fuzzy c-means clustering

11,843 views

Published on

  • You can now be your own boss and get yourself a very generous daily income. START FREE...♥♥♥ https://tinyurl.com/make2793amonth
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • You can now be your own boss and get yourself a very generous daily income. START FREE...♥♥♥ http://ishbv.com/surveys6/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Fuzzy c-means clustering

  1. 1. Aprendizaje no supervisado: Fuzzy c_means clustering
  2. 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. 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. 4. Grado de pertenencia <ul><li>Se calcula el grado de pertenencia de cada valor de la matriz de datos a cada cluster </li></ul>Para m=2, y primer variable:
  5. 5. Grado de pertenencia(Matlab) <ul><li>% Tamaño de matriz de datos </li></ul><ul><li>[L,D]=size(X); </li></ul><ul><li>% Se calcula los grados de pertenencia </li></ul><ul><li>for l=1:L </li></ul><ul><li>for j=1:c </li></ul><ul><li>%Suma de distancias </li></ul><ul><li>suma(j)=sum((X(l,1)-v(j,1))^2+(X(l,2)-v(j,2))^2); </li></ul><ul><li>end </li></ul><ul><li>for j=1:c </li></ul><ul><li>sumaa(j)=0; </li></ul><ul><li>for i=1:c sumaa(j)=sumaa(j)+suma(j)/suma(i); </li></ul><ul><li>end </li></ul><ul><li>U(l,j)=1/sumaa(j) </li></ul><ul><li>end </li></ul><ul><li>end </li></ul>
  6. 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. 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. 8. <ul><li>% Determinar el nuevo valor de los centroides </li></ul><ul><li>for j=1:c </li></ul><ul><li>vn(1)=0; vn(2)=0; </li></ul><ul><li>vd(1)=0; vd(2)=0; </li></ul><ul><li>for l=1:L </li></ul><ul><li>%Primer término del centroide </li></ul><ul><li>vn(1)=vn(1)+U(l,j)^2*X(l,1); </li></ul><ul><li>vd(1)=vd(1)+U(l,j)^2; </li></ul><ul><li>% Segundo término del centroide </li></ul><ul><li>vn(2)=vn(2)+U(l,j)^2*X(l,2); </li></ul><ul><li>vd(2)=vd(2)+U(l,j)^2; </li></ul><ul><li>end </li></ul><ul><li>v(j,1)=vn(1)/vd(1); </li></ul><ul><li>v(j,2)=vn(2)/vd(2); </li></ul><ul><li>end </li></ul>Actualización del valor de los centroides (Matlab)
  9. 9. Resultados Condiciones iniciales Resultado primera iteración
  10. 10. Algoritmo fuzzy c-means Condiciones iniciales : c = Número de clusters z = [ ] Matriz de datos v = [ ] Valores iniciales de los clusters <ul><li>Desde l=1 hasta … criterio de mínima distancia </li></ul><ul><li>{ </li></ul><ul><li>Se calcula la matriz de pertenencias </li></ul><ul><li>Se calcula la matriz de centroides o clusters </li></ul><ul><li>} </li></ul>
  11. 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. 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. 13. Resultado de la ejecución
  14. 14. GUI: findcluster

×