Codice FCM in MATLAB

July 9

Codice FCM in MATLAB


MATLAB è un pacchetto software standard di settore per l'analisi di una serie di dati tecnici e scientifici. Un obiettivo di fondo di molti metodi analitici è quello di riconoscere i modelli nei dati sottostanti. Spesso si tratta di dividere i dati in gruppi distinti o cluster. Un algoritmo di clustering di uso frequente è sfocata c-mezzi di clustering, sviluppato da Dunn nel 1973 e migliorato da Bezdek nel 1981.

Panoramica

In sfocata c-mezzi di clustering, o FCM, punti dati possono appartenere a più di un cluster. Un algoritmo iterativo minimizza una funzione obiettivo di trovare la appartenenza al cluster ottimale per ogni punto i dati che vengono raggruppati. Iterazione dell'algoritmo di clustering si arresta quando la funzione obiettivo raggiunge un punto di minimo o di sella locale. FCM può essere combinato con altri algoritmi di ricerca al fine di garantire un risultato ottimale.

Funzione obiettivo

La funzione obiettivo FCM J_m è pari a:

sum (i = 1 ... N) [sum (j = 1 ... C) [u_ij ^ m norma (x_i - C_J) ^ 2]]

La funzione obiettivo è considerato sui valori reali di m tra 1 e infinito positivo. Il valore u_ij è l'appartenenza del punto dati x_i nel cluster j-esimo, centrato a C_J.

Algoritmo

L'algoritmo di ottimizzazione FCM ha quattro fasi:

Inizializzare la matrice U_0 = [u_ij] .Calculate i centri dei cluster C_K = [C_J] dal U_k, dove k è un numero intero uguale iterazione del algorithm.Update U_ (k + 1) dalla nuova C_k.Calculate il valore di J_k. Se il nuovo arresto causato J_k ad aumentare, fermare, altrimenti tornare al punto 2.

MATLAB Usa

MATLAB implementa sfocata c-means clustering in funzione FCM (). Il toolbox Fuzzy Logic è necessaria per l'uso della funzione FCM (). La sintassi di chiamata è:

[Centri, U, objFun] = FCM (my_data, n_clusters);

La variabile my_data sono i dati di ingresso, in cui ogni riga rappresenta un punto dati. La variabile n_clusters è il numero di cluster per raggruppare i dati in. L'uscita centri è la matrice dei centri di cluster ottimali. U è la matrice di partizione o di appartenenza fuzzy ottimale. La variabile objFun è il valore finale della funzione obiettivo.