MATLAB är ett bransch - standard programpaket för analys av en rad tekniska och vetenskapliga data. Ett underliggande målet för många analysmetoder är att känna igen mönster i underliggande data . Ofta handlar uppdelning av data i olika grupper eller kluster . Ett ofta använt klustring algoritmen är luddig c - medel klustring , utvecklat av Dunn 1973 och förbättrades med Bezdek 1981 . Översikt
fuzzy c - medel klustring , eller FCM kan datapunkter tillhöra fler än ett kluster . En iterativ algoritm minimerar en målfunktion för att hitta den optimala klustret medlemskap för varje punkt i de data som klustrade . Iteration av klustring algoritmen stannar när målfunktionen når ett lokalt minimum eller sadelpunkt . FCM kan kombineras med andra sökalgoritmer för att säkerställa ett optimalt resultat FCM målfunktion J_m är lika med
målfunktion
: .
sum ( i = 1 ... N ) [ sum ( j = 1 ... C ) [ u_ij ^ m norm ( x_i - c_j ) ^ 2 ] ]
alfunktionen anses över verkliga värden av m mellan 1 och positiv oändlighet . Värdet u_ij är medlemskap i datapunkt x_i i den j klustret , centrerad vid c_j
algoritm
FCM optimeringsalgoritm har fyra steg . :
1 . Initiera matrisen U_0 = [ u_ij ] .2 . Beräkna klustret centra C_k = [ c_j ] från U_k , där k är ett heltal lika iteration av algorithm.3 . Update U_ (k +1) från den nya C_k.4 . Beräkna värdet av J_k . Om det nya stoppet orsakat J_k att öka , sluta , annars återgår till steg 2 . Addera MATLAB Använd
MATLAB implementerar fuzzy c - medel klustring i FCM ( ) funktionen . Den Fuzzy Logic verktygslåda krävs för användning av FCM ()-funktionen . Den anropande Syntaxen är :
[ center , U , objFun ] = FCM ( my_data , n_clusters ) ;
my_data variabeln är indata , där varje rad representerar en datapunkt . Den n_clusters variabeln är antalet kluster för att gruppera data till . Den centra utgång är matrisen av optimala kluster centra . U är den optimala fuzzy partition eller medlemskap matris . Den objFun variabeln är det slutliga värdet på målfunktionen .