22
Gruparea (si clasificarea) fuzzy G. Oltean Sisteme cu logica nuantata Gruparea (si clasificarea) fuzzy a datelor Introducere Aspecte teoretice generale Gruparea tranșantă Metode fuzzy FCM SC Utilizarea metodelor fuzzy în matlab. Exemplificare

Grupare Clasificare Fuzzy

Embed Size (px)

DESCRIPTION

Gruparea (si clasificarea)fuzzya datelor

Citation preview

Page 1: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Gruparea (si clasificarea)fuzzy a datelor

IntroducereAspecte teoretice generaleGruparea tranșantăMetode fuzzy

FCMSC

Utilizarea metodelor fuzzy în matlab. Exemplificare

Page 2: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Introducere (1)• Obiectivul grupării datelor:

• împărțirea setului de date în grupuri (clustere, clase) de date similare

• Scopul gruparii este de a identifica grupurile naturale de date dintr-unset 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, clasede flori, regiuni ale unor functii neliniare multivariabile, etc.

• Împartirea in grupuri se realizează pe baza unei mulțimi de trăsături(caracteristici, atribute, proprietati) ce descriu fiecare formă sau obiect (ex. pentruflorile de iris: latimea si lungimea sepalei si latimea si lungimea petalei)

• În practica pot exista un număr mare de obiecte de grupat (eșantioane) descriseprin mai multe trasaturi ⇒ gruparea automată a datelor

Page 3: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

• Gruparea este una dintre metodele utilizate la identificarea sistemelor, adică dezvoltarea unui model al funcţionării sistemului cunoscând seturi de date intrare-ieşire.

• 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 datamining.• In actiunea de grupare a datelor nu avem la dispozitie valoarea dorita a iesirii,asadar gruparea datelor utilizează metode de invățare nesupervizată:

• identifica anumite structuri inerente prezente intr-un set de obiecte, pe bazaunei masuri de similitudine.

Introducere (2)• Rezultatul grupării: o structura fixa a datelor

• centrul grupurilor (localizarea grupurilor) • forma grupurilor• gradul de apartenentă al fiecarui obiect la fiecare grup

Page 4: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

• Împărțirea datelor trebuie sa aiba doua caracteristici:

• 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

Introducere (3)

grupare

Page 5: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Introducere (4)

• Gruparea datelor (clustering) – este procesul de descoperire agrupurilor si structurilor de date care sunt “similare” din intregul setul dedate, fara a utiliza structuri de date cunoscute apriori.

Împărțirea obiectelor în grupuri (clustere)

• Clasificarea datelor (classification) – este procesul de generalizare aunei structuri cunoscute pentru a fi aplicata la date noi.Repartizarea unui obiect nou la unul dintre grupuri (clustere).

Page 6: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Aspecte teoretice generaleDatele se reprezinta sub forma de vectori N-dimensionali

MiRxxxxx NiiNiii ...,,1,,]...,,,[ 21 =∈=

N – numarul de trasaturi ale fiecarui obiect (dimensiunea trasaturilor)

M – numarul de obiecte (dimensiunea setului de date)

⎥⎥⎥⎥

⎢⎢⎢⎢

=

MNMM

N

N

xxx

xxxxxx

X

L

MMMM

L

L

21

22221

11211

caracteristici, jobiecte

i

Kkxxxc kNkkK ...,,1,]...,,,[ 21 ==

Obiectivele gruparii sunt de a gasia) K vectori – centrele grupurilor

b) Matricea gradelor de apartenența, cu dimensiunile M x K (M linii, K coloane)

Page 7: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Gruparea tranșantăIn gruparea transanta un obiect apartine in totalitate sau nuapartine deloc unui grup, adica gradul său de apartenenta la unanumit grup este fie 1, fie 0.Pentru o partitionare in K grupuri, Ck, k=1, …, K

UK

kk XC

1=

=

KkXCKlkCC

k

lk

≤≤⊂⊂≤≠≤=∩

1,1,

φφ

Fiecare obiect apartine unui grup

• nu exista grupuri vide

• nu exista niciun grup care să contina toate obiectele.

Page 8: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Exemplificare• Grupare (partitionare in trei grupuri):

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

010100100100010010010001001001

U

321 G,G,G

321 GGG

matricea gradelor de apartenenta

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

Page 9: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Cele mai frecvente situatii reale nu permit o astfel de grupareclara, neambiguaș domeniile corespunzatoare claselor fiind maidegraba suprapuseIn aceste cazuri este de preferat o partitionare in care un obiectpoate apartine la mai multe grupuri in acelasi timp, cu gradediferite de apartenenta, in domeniul [0, 1]Exista 2 tipuri de astfel de partitionari:

fuzzyposibilistic

• 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

Page 10: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Masuri pentru distantaUn factor important ce determina rezultatul partitionarii dateloreste metoda de determinare a distantei dintre obiecte.

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

]...,,,[

;]...,,,[

21

21

qNqqq

pNppp

xxxx

xxxx

=

=

( )2

1

2qp

N

jqjpjpq xxxxD −=−= ∑

=

exemplificare pentru spatiul bidimensional al caracteristicilor

Page 11: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Fuzzy C-means (FCM)Fuzzy c-means (FCM) este o metoda de grupare a datelor in care fiecareobiect apartine unui grup intr-un anumit grad specificat de gradul deapartenentaMetoda a fost introdusa de Jim Bezdek in 1981Este o metoda care arata cum sa se grupeze obiectele ce populeaza unspatiu multidimensional intr-un numar specificat de grupuri diferite.functia fcm din Fuzzy Logic Toolbox porneste cu o estimare initiala acentrelor 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 deapartenenta la fiecare grupPrin actualizarea iterativa a centrelor grupurilor si a gradelor deapartenenta a tuturor obiectelor, fcm deplaseaza iterativ centrele inlocatiile cele mai potrivite setului de date.Aceasta iterare (optimizare) se bazeaza pe minimizarea functiei obiectivce reprezinta suma distantelor fiecărui obiect la fiecare centru degrup, ponderate cu gradele de apartenenta al obiectelor la grupuri.

Page 12: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Page 13: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Page 14: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Fuzzy C-means (FCM) in Matlab

In Fuzzy Logic Toolbox exista functia fcmFunctia întoarce:

Matricea centrelor: o matrice cu centrele grupurilor; fiecare randal matricii contine coordonatele unui centru de grupMatricea gradelor de apartenenta: matricea contine gradele deapartenenta a fiecarui punct (obiect) din setul de date la fiecaregrup; fiecare rand contine gradele de apartenenta a unui punct lafiecare grup (in ordinea grupurilor)

Functia matlab genfis3 genereaza automat un SLF (Sugeno sauMamdani) pe baza rezultatelor furnizate de fcm. Acest slf poatefi utilizat cu rol de clasificator (sistem de recunoastere aformelor)

Page 15: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

• Se pot construi multimi fuzzy corespunzatoare fiecarei dimensiuni (caracteristici) a datelor (acestea ar trebuie ordonate crescator)

• In general centrele grupurilor nu coincid cu nici un obiect de clasificat

FCM

Page 16: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Clasificarea substractivă

Trebuie precizată valoarea unei raze ce specifică domeniul de influenţăal centrului în fiecare dimensiune a datelor, presupunând că datele se află în interiorul unei “hipercutii unitate”

Algoritm rapid, într-o singură trecere, fără optimizareDetermina numărul de grupuri şi centrele grupurilor dintr-un set de date

1. Presupune că fiecare punct de date este un potenţial centru de grup şi calculează probabilitatea ca acesta să definească un centru pe baza densităţii punctelor înconjurătoare

2. Selectează punctul cu cel mai mare potenţial ca fiind primul centru de grup

3. Înlătură toate punctele din vecinătatea centrului determinat anterior (în conformitate cu raza precizată) în scopul determinării următorului grupşi a centrului ei

4. Continua acest proces până când toate datele se află în raza de influenţă a unui centru de grup.

Page 17: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Clasificare substractiva in MatlabIn Fuzzy Logic Toolbox exista functia subclustFunctia intoarce:

Centrele grupurilor in matricea C. Fiecare rand al lui C continecoordonatele (pozitia) unui centru de grupUn vector S care contine valorile sigma ce specifica domeniul de

influenta a unui centru in fiecare dimensiune (trasatura) a datelorToate centrele de grupuri au aceleasi valori pentru sigma.Valoarea sigma reprezinta abaterea standard utilizata pentru adefini multimi fuzzy gaussiene, pe fiecare dimensiune a datelor

Functia matlab genfis2 genereaza automat un slf, de tip TS pe bazarezultatelor furnizate de subclust. SLF generat poate fi utilizat cu rol declasificator (sistem de recunoastere de forme)

0;2

2

2 >==−

−σμ σ ,ce)x()x(A

)cx(

A

Page 18: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

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

• Centrul fiecarui grup coincide intotdeauna cu unul dintre obiectele de clasificat

Multimile fuzzy pentru prima dimensiune a datelor (prima coloana)x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

SC

Page 19: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Clasa 1Clasa 2Clasa 3

Cine este clasificatorul ??Care sunt intrarile?Care sunt iesirile?

Clasificarea (recunoasterea)

Page 20: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Clasificatorul

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

1 2 3 clasa

clasa1 clasa2 clasa3

Page 21: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata

Clasificatorul

0.2911

0.1453

0.0228

Simulare matlab

Page 22: Grupare Clasificare Fuzzy

Gruparea (si clasificarea) fuzzy

G. OlteanSisteme cu logica nuantata