Professional Documents
Culture Documents
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......
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
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
1.
2.
3.
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.
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:
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
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
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)
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