Sunteți pe pagina 1din 22

Gruparea (si clasificarea) fuzzy

Gruparea (si clasificarea) fuzzy a datelor


Introducere Aspecte teoretice generale Gruparea tranant Metode fuzzy FCM SC Utilizarea metodelor fuzzy n matlab. Exemplificare

Sisteme cu logica nuantata

G. Oltean

Gruparea (si clasificarea) fuzzy

Introducere (1)

Obiectivul gruprii datelor: mprirea setului de date n grupuri (clustere, clase) de date similare

Scopul gruparii este de a identifica grupurile naturale de date dintr-un set mare de date care reprezint comportarea unui sistem.
Exemple de obiecte de grupat (clasificat, recunoscut): clientii unei banci, email-uri, zone de interes din imagini, persoane sanatoase sau bolnave, sortimente de vin, clase de flori, regiuni ale unor functii neliniare multivariabile, etc. mpartirea in grupuri se realizeaz pe baza unei mulimi de trsturi (caracteristici, atribute, proprietati) ce descriu fiecare form sau obiect (ex. pentru florile de iris: latimea si lungimea sepalei si latimea si lungimea petalei) n practica pot exista un numr mare de obiecte de grupat (eantioane) descrise prin mai multe trasaturi gruparea automat a datelor
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

Rezultatul gruprii: o structura fixa a datelor centrul grupurilor (localizarea grupurilor) forma grupurilor gradul de apartenent al fiecarui obiect la fiecare grup

Introducere (2)

Gruparea este o metoda fundamentala de analiza a datelor. Este utilizata extensiv pentru recunoasterea formelor, extragere de caracteristici, cuantizarea vectorilor, segmentarea imaginilor, aproximarea functiilor si data mining. In actiunea de grupare a datelor nu avem la dispozitie valoarea dorita a iesirii, asadar gruparea datelor utilizeaz metode de invare nesupervizat: identifica anumite structuri inerente prezente intr-un set de obiecte, pe baza unei masuri de similitudine. Gruparea este una dintre metodele utilizate la identificarea sistemelor, adic dezvoltarea unui model al funcionrii sistemului cunoscnd seturi de date intrare-ieire.
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

mprirea datelor trebuie sa aiba doua caracteristici:

Introducere (3)

omogenitate in grupuri; obiectele din acelasi grup trebuie sa fie cat se poate de asemanatoare ntre ele eterogeneitate intre grupuri; obiectele din grupuri diferite sa fie cat se poate de diferite unele de altele cea mai potrivita masura a similitudini dintre obiecte este distanta dintre obiecte, de exemplu distanta euclidiana Exemplu de grupare in spatiul bidimensional

grupare

Sisteme cu logica nuantata

G. Oltean

Gruparea (si clasificarea) fuzzy

Introducere (4)

Gruparea datelor (clustering) este procesul de descoperire a grupurilor si structurilor de date care sunt similare din intregul setul de date, fara a utiliza structuri de date cunoscute apriori. mprirea obiectelor n grupuri (clustere) Clasificarea datelor (classification) este procesul de generalizare a unei structuri cunoscute pentru a fi aplicata la date noi. Repartizarea unui obiect nou la unul dintre grupuri (clustere).

Sisteme cu logica nuantata

G. Oltean

Gruparea (si clasificarea) fuzzy

Aspecte teoretice generale

Datele se reprezinta sub forma de vectori N-dimensionali


xi = [ xi1 , xi 2 , ..., xiN ] , xi R N , i = 1, ..., M
N numarul de trasaturi ale fiecarui obiect (dimensiunea trasaturilor) M numarul de obiecte (dimensiunea setului de date) caracteristici, j Obiectivele gruparii sunt de a gasi o b i e c t e i a) K vectori centrele grupurilor

x11 x X = 21 M xM 1

x12 x22 M xM 2

L x1N L x2 N M M L xMN
G. Oltean

cK = [ xk1 , xk 2 , ..., xkN ] , k = 1, ..., K


b) Matricea gradelor de apartenena, cu dimensiunile M x K (M linii, K coloane)

Sisteme cu logica nuantata

Gruparea (si clasificarea) fuzzy

Gruparea tranant

In gruparea transanta un obiect apartine in totalitate sau nu apartine deloc unui grup, adica gradul su de apartenenta la un anumit grup este fie 1, fie 0. Pentru o partitionare in K grupuri, Ck, k=1, , K

UC
k =1

=X

C k Cl = , 1 k l K

Ck X , 1 k K
Fiecare obiect apartine unui grup nu exista grupuri vide nu exista niciun grup care s contina toate obiectele.
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

Exemplificare
Grupare (partitionare in trei grupuri):

G1 , G2 , G3
G1 G2 G3

1 1 1 0 0 U = 0 0 matricea gradelor de 0 0 apartenenta 0


Sisteme cu logica nuantata G. Oltean

0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0

Obiectul x10 este plasat in grupul G2 desi in mod intuitiv nu ar trebui inclus in nici unul dintre grupuri x10 poate fi considerat ca un punct exceptional sau punct atipic, sau chiar zgomot

Gruparea (si clasificarea) fuzzy

Cele mai frecvente situatii reale nu permit o astfel de grupare clara, neambigua domeniile corespunzatoare claselor fiind mai degraba suprapuse In aceste cazuri este de preferat o partitionare in care un obiect poate apartine la mai multe grupuri in acelasi timp, cu grade diferite de apartenenta, in domeniul [0, 1] Exista 2 tipuri de astfel de partitionari:
fuzzy posibilistic
astfel x10, ar putea apartine cu diferite grade de apartenenta la toate cele trei grupuri, intuitiv o valoare foarte scazuta, de exemplu 0.1, caz in care conditia de partitie (fuzzy) ca suma gradelor de apartenenta la toate grupurile sa fie 1 nu mai este indeplinita
G. Oltean

Sisteme cu logica nuantata

Gruparea (si clasificarea) fuzzy

Masuri pentru distanta

Un factor important ce determina rezultatul partitionarii datelor este metoda de determinare a distantei dintre obiecte.
distanta este masurata in spatiul caracteristicilor

Cea mai frecvent utilizata masura este norma euclidiana: distanta geometrica intre doua puncte din spatiul X. In cazul punctelor:

x p = [ x p1 , x p 2 , ..., x pN ] ; xq = [ xq1 , xq 2 , ..., xqN ]


D pq =

exemplificare pentru spatiul bidimensional al caracteristicilor

(x
N j =1

pj

xqj

= x p xq

Sisteme cu logica nuantata

G. Oltean

Gruparea (si clasificarea) fuzzy

Fuzzy C-means (FCM)

Fuzzy c-means (FCM) este o metoda de grupare a datelor in care fiecare obiect apartine unui grup intr-un anumit grad specificat de gradul de apartenenta Metoda a fost introdusa de Jim Bezdek in 1981 Este o metoda care arata cum sa se grupeze obiectele ce populeaza un spatiu multidimensional intr-un numar specificat de grupuri diferite. functia fcm din Fuzzy Logic Toolbox porneste cu o estimare initiala a centrelor grupurilor, menite sa marcheze locatia medie a fiecarui grup. Estimarea initiala a centrelor este, cel mai probabil, incorecta. In plus, fcm atribuie initial in mod aleator fiecarui obiect un grad de apartenenta la fiecare grup Prin actualizarea iterativa a centrelor grupurilor si a gradelor de apartenenta a tuturor obiectelor, fcm deplaseaza iterativ centrele in locatiile cele mai potrivite setului de date. Aceasta iterare (optimizare) se bazeaza pe minimizarea functiei obiectiv ce reprezinta suma distantelor fiecrui obiect la fiecare centru de grup, ponderate cu gradele de apartenenta al obiectelor la grupuri.
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

Sisteme cu logica nuantata

G. Oltean

Gruparea (si clasificarea) fuzzy

Sisteme cu logica nuantata

G. Oltean

Gruparea (si clasificarea) fuzzy

Fuzzy C-means (FCM) in Matlab

In Fuzzy Logic Toolbox exista functia fcm Functia ntoarce:


Matricea centrelor: o matrice cu centrele grupurilor; fiecare rand al matricii contine coordonatele unui centru de grup Matricea gradelor de apartenenta: matricea contine gradele de apartenenta a fiecarui punct (obiect) din setul de date la fiecare grup; fiecare rand contine gradele de apartenenta a unui punct la fiecare grup (in ordinea grupurilor) Functia matlab genfis3 genereaza automat un SLF (Sugeno sau Mamdani) pe baza rezultatelor furnizate de fcm. Acest slf poate fi utilizat cu rol de clasificator (sistem de recunoastere a formelor)
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

FCM

In general centrele grupurilor nu coincid cu nici un obiect de clasificat Se pot construi multimi fuzzy corespunzatoare fiecarei dimensiuni (caracteristici) a datelor (acestea ar trebuie ordonate crescator)
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

Clasificarea substractiv

Algoritm rapid, ntr-o singur trecere, fr optimizare Determina numrul de grupuri i centrele grupurilor dintr-un set de date
Trebuie precizat valoarea unei raze ce specific domeniul de influen al centrului n fiecare dimensiune a datelor, presupunnd c datele se afl n interiorul unei hipercutii unitate
1. Presupune c fiecare punct de date este un potenial centru de grup i calculeaz probabilitatea ca acesta s defineasc un centru pe baza densitii punctelor nconjurtoare 2. Selecteaz punctul cu cel mai mare potenial ca fiind primul centru de grup

3. nltur toate punctele din vecintatea centrului determinat anterior (n conformitate cu raza precizat) n scopul determinrii urmtorului grup i a centrului ei 4. Continua acest proces pn cnd toate datele se afl n raza de influen a unui centru de grup.
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

Clasificare substractiva in Matlab

In Fuzzy Logic Toolbox exista functia subclust Functia intoarce: Centrele grupurilor in matricea C. Fiecare rand al lui C contine
coordonatele (pozitia) unui centru de grup Un vector S care contine valorile sigma ce specifica domeniul de influenta a unui centru in fiecare dimensiune (trasatura) a datelor Toate centrele de grupuri au aceleasi valori pentru sigma. Valoarea sigma reprezinta abaterea standard utilizata pentru a defini multimi fuzzy gaussiene, pe fiecare dimensiune a datelor

A( x ) = A ( x ) = e

( x c )2 2 2

c, > 0

Functia matlab genfis2 genereaza automat un slf, de tip TS pe baza rezultatelor furnizate de subclust. SLF generat poate fi utilizat cu rol de clasificator (sistem de recunoastere de forme)
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

SC

Multimile fuzzy pentru prima dimensiune a datelor (prima coloana)


x1 x2

x3

x4

x5

x6

x7

x8

x9

x10

Centrul fiecarui grup


coincide intotdeauna cu unul dintre obiectele de clasificat
Sisteme cu logica nuantata G. Oltean

Se pot construi multimi fuzzy corespunzatoare fiecarei dimensiuni (trasaturi) a datelor (acestea ar trebui ordonate crescator)

Gruparea (si clasificarea) fuzzy

Clasa 1 Clasa 2 Clasa 3

Clasificarea (recunoasterea)
Cine este clasificatorul ?? Care sunt intrarile? Care sunt iesirile?
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

Clasificatorul

clasa1

clasa2

clasa3

clasa

Nu suntem interesati de rezultatul defuzzificarii, ci de gradele de activare a fiecarei reguli, fiecare regula reprezentand o clasa

Sisteme cu logica nuantata

G. Oltean

Gruparea (si clasificarea) fuzzy

Clasificatorul

0.2911 0.1453 0.0228

Simulare matlab
Sisteme cu logica nuantata G. Oltean

Gruparea (si clasificarea) fuzzy

Sisteme cu logica nuantata

G. Oltean

S-ar putea să vă placă și