sfocata c -means , o FCM , punti dati può appartenere a più di un cluster . Un algoritmo iterativo minimizza una funzione obiettivo di trovare la composizione ottimale di cluster per ogni punto nei dati da cluster. Iterazione dell'algoritmo di clustering si arresta quando la funzione obiettivo raggiunge un minimo locale o punto di sella . FCM può essere combinato con altri algoritmi di ricerca , al fine di garantire un risultato ottimale
Obiettivo Funzione
FCM obiettivo funzione J_m è pari a : .
sum ( i = 1 ... N) [ somma ( j = 1 ... C ) [ u_ij ^ m norma ( x_i - C_J ) ^ 2 ] ]
La funzione obiettivo è considerato più valori reali di m tra 1 e infinito positivo . Il valore u_ij è l'appartenenza del punto dati x_i nel cluster j-esima , centrato a C_J
Algoritmo
L'algoritmo di ottimizzazione FCM ha quattro fasi . :
1 . Inizializzare la matrice U_0 = [ u_ij ] .2 . Calcolare il cluster centri C_K = [ C_J ] da U_k , dove k è un numero intero uguale iterazione del algorithm.3 . Aggiornamento U_ ( k +1) dal nuovo C_k.4 . Calcolare il valore di J_k . Se il nuovo arresto causato J_k per aumentare , fermare , altrimenti tornare al punto 2 .
MATLAB Usa
MATLAB implementa sfocata c -means nella funzione fcm ( ) . È richiesta la Fuzzy Logic Toolbox per l'utilizzo della funzione fcm ( ) . La sintassi di chiamata è :
[ center , U , objFun ] = fcm ( my_data , n_clusters ) ;
La variabile my_data sono i dati di input , in cui ogni riga rappresenta un punto dati . La variabile n_clusters è il numero di cluster per raggruppare i dati. L'uscita centri è la matrice dei centri di cluster ottimali. U è la partizione sfocata ottimale o matrice di appartenenza . La variabile objFun è il valore finale della funzione obiettivo .
Programmazione © www.354353.com