You are on page 1of 27

2011/2012

GRUPISANJE (CLUSTERING) PODATAKA Definicija:


Grupisanje je kategorizacija razliitih podataka u grupe (podskupove, klastere) na nain da podaci smjeteni unutar jedne grupe imaju ista ili do odreene mjere slina svojstva.

Cilj: ubrzati pronalaenje tanih informacja Kada imamao situaciju da se broj podataka nalazi u kompleksnim strukturama , potrebno je: olakati pretraivanje tih podataka, grupisati ih prema logikom redoslijedu , i prikazati te podatke kroz grupe s odreenim obiljejima. Grupisanje podataka koristi se u razliitim podrujima:
data maining, analiza slike, prepoznavanje oblika, bioinformatika, biomedicinski ininjering......

Fuzzy C-Means (FCM) Clustering?


Fuzzy c-means (FCM) je tehnika grupisanja podataka(clustering- klastering) u kojoj se jedan skup podataka grupie u n grupa (klastera) tako da svaki podatak iz skupa podataka pripada svakom klasteru s odreenim stepenom.
Npr., jedan odreeni podatak koji lei blizu centra jednog klastera e imati visok stepen pripadnosti (funkciju pripadnosti) u odnosu za taj klaster, a drugi podatak koji lei daleko od od centra jednog klastera e imati nizak stepen pripadnosti u odnosu na taj klaster.

Ovu metodu je razvijo Dunn u 1973. i poboljao Bezdek u 1981. esto se koristi u prepoznavanju oblika. Bazira se na minimizaciji sljedee ciljne funkcije:

uij je stepen pripadnosti od xi u klasteru cj m je realni broj xi je i-ti podatak cj je j-ti klaster II * II bilo koja noram koja opisuje slinost izmeu bilo kojeg izmjerenog podatak i centra

Fuzzy C-Means (FCM) clustering


Fuzzy particioniranje se deava kroz iterativnu optimizaciju ciljne funkcije aurirajui funkciju pripadnosti uij , i klusterski centar cj primjenom:

odnosno, jedna iteracija se bazira na minimizaciji jedne ciljne funkcije koja predstavlja distancu bilo kog podatak prema prema bilo kom klasterskom centru teiranom sa stepenom funkcije pripadnosti tog podataka. Iteracija e se zaustaviti kada je zadovoljena relacija:

gdje je kriterij zaustavljanja izmeu 1 i 0, dok se k odnosi na korak iteracije. Procedura konvergira lokalnom minimumu ili taki prevoja (sedla) od funkcije Jm

Algoritam se sastoji iz sljedeih koraka:

1.

Inicijalizacija matrice U=[uij] , U(0)

2.

K-ti korak: raunanje vektora centara C(k)=[cj] s U(k)

3.

Auriranje U(k) , U(k+1)

4. Ako je || U(k+1) - U(k)||<

tada STOP; inae vraanje na korak 2.

OBJANJENJE
Podaci se vezuju za svaki klaster pomou funkcije pripadnosti, koja predstavlja fuzzy obiljeje, odnosno, ponaanje ovog algoritma. Da bi to uradili, potrebno je napraviti odgovarajuu matricu U iji su elementi brojevi izmeu 0 i 1, i predstavljaju stepen pripadnosti podataka u odnosu na centre klastera. Za bolje razumijevanje, pogledajmo ovaj jednostavni mono-dimenzionalni primjer. Imamo skup podataka koji su rasporeeni na osi kao na narednoj slici:

Ako pogledamo sliku moemo identifikovati dva klastera u neposrednoj blizini dva mjesta na kome su skoncentrisane grupe podataka. Nazvati emo ih A i B. Prvi pristup: K-means povezuje svaki podatak s odreenim centrom. Funkcija pripadnosti data je na slici.

Svaki podatak pripada iskljuivo samo jednom dobro definisanom klasteru.

OBJANJENJE Drugi pristup:Fuzzy C-Means (FCM) Ovdje, isti podatak ne pripada iskljuivo jednom dobro definisanom klasteru, nego moe bitit smjeten na sredini . U ovom sluaju, funkcija pripadnosti slijedi blau liniju da indicira da svaki podatak moe pripadati vie klastera s razliitim vrijednostima funkcije pripadnosti.
Na slici, podatak predstavljen kao crvena taka, vie pripada klasteru B nego klasteru A. Vrijednost m = 0.2 oznaava stepen pripadnosti podatka klasteru A. Umjesto grafike reprezentacije sada imamo matricu U iji su elementi uzeti iz funkcija pripadnosti.

OBJANJENJE Broj redova i kolona zavisi od toga koliko podataka i klastera razmatramo respektivno. Preciznije, imamo C = 2 kolone (C = 2 klastera) i N redova, gdje je C ukupni broj klastera, a N ukupni broj podataka. Generiki element se obiljeava sa uij. U gornjem primjeru smo razmatrali k-means i FCM sluajeve. Moemo primijetiti da su u k-means sluaju koeficijenti uvijek cijeli brojevi. To znai da svaki podatak moe pripadati samo jednom klasteru. Ostale osobine su prikazane u nastavku.

PRIMJER Razmotriti emo jednostavan sluaj mono-dimenzionalne primjene FCM. Koristili smo dvadeset podataka i tri klastera za inicijalizaciju algoritma i izraunavanje U matrice. Naredne slike prikazuju vrijednost pripadnosti za svaki podatak i klaster. Boja podatka je jednaka onoj od najblieg klastera prema funkciji pripadnosti.

Nije izvren niti jedan korak i klasteri nisu dobro identifikovani. Slika prikazuje inicijalno stanje gdje fuzzy raspodjela zavisi od pozicije klastera.
U simulaciji prikazanoj na slici koriten je koeficijent fuzzyness-a m = 2 i nametnuto je terminiranje algoritma kada

je zadovoljeno

PRIMJER Nakon pokretanja algoritma, poslije osam koraka dolazimo do sljedee slike:

Da li je mogue postii bolje rezultate?

PRIMJER Naravno, moemo koristiti veu preciznost ali se troi vie resursa na izraunavanje. Na narednoj slici vidimo da smo dobili bolje rezultate s =0.01, ali je bilo potrebno 37 koraka.

Napomena: Razliite inicijalizacije uzrokuju razliite evolucije algoritma. Zapravo, vjerovatno bi konvergirao istom rezultatu, ali s razliitim brojem koraka iteracije.

http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletFCM.html

Fuzzy C-Means -Fuzzy Logic Toolbox


fcm (Fuzzy Logic Toolbox funkcija) izvrava FCM klastering.
1. Startuje s jednim inicijalnim prijedlogom za svaki klasterski centar, koji su namjenjeni da oznae srednju lokaciju svakog klastera. Inicijalni prijedlog za ove klasterske centre je s velikom vjerovatnoom netaan. 2. fcm pridruuje svakom podatku stepen funkcije pripadnosti u odnosu na svaki klaster. 3. fcm vri iterativna raunanja (auriranja) klasterskih centara i i stepena pripadnosti za svaki podatak Jedna iteracija se bazira na minimizaciji ciljne funkcije koja predstavlja distancu bilo kog podatak prema prema bilo kom klasterskom centru teiranom sa stepenom funkcije pripadnosti tog podataka.

PRIMJER 1
load fcmdata.dat plot(fcmdata(:,1),fcmdata(:,2),'o') %Next, invoke the command-line function fcm to find two clusters in this %data set until the objective function is no longer decreasing much at all. pause;
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

%Here, the variable center contains the coordinates of the two cluster centers, U contains the membership grades for each of the data points, and objFcn contains a history of the objective function across the iterations. %This command returns the following result: %Iteration count = 1, obj. fcn = 8.794048 %Iteration count = 2, obj. fcn = 6.986628 ..... %Iteration count = 12, obj. fcn = 3.797430 %The fcm function is an iteration loop built on top of the following routines: %initfcm initializes the problem %distfcm performs Euclidean distance calculation %stepfcm performs one iteration of clustering
%To view the progress of the clustering, plot the objective function by typing the following commands: figure plot(objFcn) Objective Function Values title('Objective Function Values') 9 xlabel('Iteration Count') ylabel('Objective Function Value') 8 pause;
Objective Function Value
7

5 6 7 Iteration Count

10

11

%Finally, plot the two cluster centers found by the fcm function using the following code: maxU = max(U); index1 = find(U(1, :) == maxU); index2 = find(U(2, :) == maxU); figure line(fcmdata(index1, 1), fcmdata(index1, 2), 'linestyle',... 'none','marker', 'o','color','g'); line(fcmdata(index2,1),fcmdata(index2,2),'linestyle',... 'none','marker', 'x','color','r'); hold on plot(center(1,1),center(1,2),'ko','markersize',15,'LineWidth',2) plot(center(2,1),center(2,2),'kx','markersize',15,'LineWidth',2) pause; 1
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

PRIMJER : 2D FCM

Interaktivni rad s FCM


Primjenom fcmdemo komande, pokree seGUIkoji dozvoljava da se postave razliiti parametriza FCM i da se pri tome posmatra efekat na rezultujui 2-D klastering. Izabere se jedan skup podataka i proizvoljan broj klastera, a zatim se pokrene dugme START da se startuje FCM proces koji se bazira na funkciji fcm. 1. Kada se klastering zavri , mozemo izabrati jedan klaster ako kliknemo na njega i pogledati povrinu funkcije pripadnosti ako aktiviramo dugme Plot MF. (za boji pogled treba kliknuti i ui u figuru u cilju rotiranja. 2. Mogu se podesiti tri opcionalna parametra za za FCM algoritam: a)eksponent b)maksimalni broj iteracija c) minimalni iznos poboljanja a zatim posmatrati kako se klastering proces mijenja.

Kada nismo sigurni koliko tano treba klastera za odreeni tip podataka, tada koristimo Subclust funkciju koja se bazira na metodi Subtractive clustering (Odbacujue grupisanje). Ovo je brz jednopotezni algoritam za procjenu: a) broja klastera i b) klaster centara u skupu podataka. KLASTER PROCJENA koja je dobijena subclust funkcijom se koristi za: a) inicijalizaciju iterativnih optimizacijski-baziranih klaster metoda (fcm) i b) inicijalizaciju metoda identifikacije modela tipa ANFIS.
U okviru ANFISA koristi se Genfis2 funkcija (gradi se na subclust funkciji) da bi :

a) osigurala brzu jednopoteznu metodu za preuzimanje ulazno-izlaznih trenirajuih podataka i b) generie Sugeno fuzzy sistem koji modelira ponaanje podataka.(vie epoha)

Primjer: Odbacujue grupisanje

U ovom primjeru, primjenjuje se genfis2 funkcija za modeliranje relacije odnosa intenziteta crvenila i iznosa 5 razliitih simptoma koji su potencijalni doprinosioci tom crvenilu. Podaci su uzeti sa 100 taaka kone zone prekrivene jae ili slabije crvenilom. Uazi u model su: simptom1 simptom2 simptom3 simptom4 simptom5

Dakle, model ima pet ulaznih varijabli i jednu izlaznu varijablu. 75 trenirajuih parova e se uzeti za treniranje, a 25 trenirajuih parova za validaciju (checking).

fismat

fismat2

fismat:sug51, testni

fismat:sug51, checking

fismat2:sug52, testni

fismat2:sug52, checking

27

You might also like