Sunteți pe pagina 1din 72

10/17/2022

Facultatea de Electronică, Universitatea


AI Multimedia Lab
Telecomunicaţii şi Politehnica din

Organizare disciplină
Tehnologia Informaţiei https://www.aimultimedialab.ro/
Bucureşti

Prof. Bogdan Ionescu Dr. Șerban Carată

Tehnici de Analiză și Clasificare https://bionescu.aimultimedialab.ro/ https://serbancarata.ro/

Automată a Informației
Materiale curs:
https://bionescu.aimultimedialab.ro/courses.html#tacai
Prof. dr. ing. Bogdan IONESCU
https://bionescu.aimultimedialab.ro/
Punctaj:
- examen (scris) 50%;
- colocviu laborator (practic) 50%.

Bucureşti, 2022 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 2

1 2

Plan Curs Bibliografie


M1. Introducere (concept, aplicații)
[1] Curs
M2. Prelucrarea și reprezentarea datelor de intrare
[2] I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine
M3. Tehnici de clasificare ne-supervizată (“clustering”) Learning Tools and Techniques”, Morgan Kaufmann Publishers, 2011

[3] Internet
M4. Tehnici de clasificare supervizată (“classification”)
[găsiți punctual orice informație IEEE, ACM, Springer, etc.]
M5. Evaluarea performanței clasificatorilor

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 3 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 4

3 4

Informație

> volum imens de


> M1. Introducere date (Big Data) care
nu mai poate fi
1.1. [ Introducere ] “gestionat” (vizualizat,
analizat, înțeles,
1.2. [ Aplicații concrete ] prelucrat) de către
utilizator;
1.3. [ Conceptul de învățare ]
1.4. [ Terminologie ] + complexitatea
datelor depășește de
1.5. [ Tehnici existente ] multe ori puterea de
înțelegere și de
1.6. [ Utilitare ] procesare umană.

Exemplu date multimedia

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 5 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 6

5 6

1
10/17/2022

[sursă imagine Wikipedia]


Informație (cont.) Informație (cont.)

> în mod constant, apar


noi “generatori” de
informație, ex. dispozitive
purtabile, Internet-ul
lucrurilor, roboți etc.

Exemplu date multimedia

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 7 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 8

7 8

[sursă imagine Patrick Barry, Flickr]


Internet (de facto) Punerea problemei

știri
generare înțelegere
rețele sociale Informație informație

divertisment

“cunoaștere”
securitate
(-> acces la resurse)
date financiare
> “bridge the gap”, înțelegere și descoperire informație ascunsă
(șabloane) ce poate fi utilă și care nu este exploatată;
date medicale
[o problemă veche de când lumea: vânătorii încercau să înțeleagă
... comportamentul de migrare al animalelor, fermierii încercau să
înțeleagă comportamentul culturilor, etc]
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 9 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 10

9 10

Obiective clasificare informație Un exemplu, “weather problem”


[I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”]
> reducerea volumului informațional:
Date vreme
- regruparea unui ansamblu de date în grupuri omogene și
determinarea informație reprezentative; nr. vreme temperatură umiditate vânt sport
- eliminarea redundanței informaționale. 1 însorită foarte cald ridicată nu Nu
2 însorită foarte cald ridicată da Nu
> punerea în evidență a ”cunoașterii”:
3 înnorat cald ridicată da Da
- localizarea într-un volum mare de date a unor grupuri de
informații ce prezintă anumite caracteristici de interes; 4 ploioasă cald normală nu Da
- o nouă înțelegere a relațiilor existente între date. 5 ploioasă rece normală nu Da

> punerea în evidență a datelor atipice: > dispunem de patru atribute măsurabile: vreme (3), temperatură
- localizarea datelor ce nu corespund criteriilor considerate, în (3), umiditate (2) și vânt (2) și trebuie să determinăm automat dacă
particular interesante prin natura acestora. putem practica o activitate;
> conform datelor avem 3 x 3 x 2 x 2 = 36 de combinații posibile, din
> rezolvarea unor probleme de calcul.
care dispunem doar de 5 seturi de date.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 11 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 12

11 12

2
10/17/2022

Un exemplu, “weather problem” (cont.) Un exemplu, “weather problem” (cont.)


[I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”] [I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”]

Date vreme Dacă (vreme==însorită) && (umiditate==ridicată) -> sport=Nu;


nr. vreme temperatură umiditate vânt sport Dacă (vreme==ploioasă) && (vânt==da) -> sport=Nu;
1 însorită foarte cald ridicată nu Nu Dacă (vreme==înnorat) -> sport=Da;
2 însorită foarte cald ridicată da Nu Dacă (umiditate==normală) -> sport=Da;
3 înnorat cald ridicată da Da altfel -> sport=Da;
4 ploioasă rece normală da Nu > analizate în ordine clasifică corect toate exemplele din tabel?
5 ploioasă rece normală nu Da > scoase din context nu mai sunt adevărate ceea ce înseamnă că
un set de reguli depinde de modul în care este interpretat.
Dacă (vreme==însorită) && (umiditate==ridicată) -> sport=Nu;
Dacă (umiditate==normală) -> sport=Da;
Dacă (vreme==ploioasă) && (vânt==da) -> sport=Nu;
nr. vreme temperatură umiditate vânt sport
Dacă (vreme==înnorat) -> sport=Da;
Dacă (umiditate==normală) -> sport=Da; 4 ploioasă rece normală da Nu
altfel -> sport=Da; 5 ploioasă rece normală nu Da

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 13 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 14

13 14

Un exemplu, “weather problem” (cont.) Un exemplu, “weather problem” (cont.)


[I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”] [I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”]

Date vreme Date vreme


nr. vreme temperatură umiditate vânt sport nr. vreme temperatură umiditate vânt sport
1 însorită foarte cald ridicată nu Nu 1 însorită foarte cald ridicată nu Nu
2 însorită foarte cald ridicată da Nu 2 însorită foarte cald ridicată da Nu
3 înnorat cald ridicată da Da 3 înnorat cald ridicată da Da
4 ploioasă rece normală da Nu 4 ploioasă rece normală da Nu
5 ploioasă rece normală nu Da 5 ploioasă rece normală nu Da

> se poate merge mai departe, pe baza datelor să determinăm (1) date incomplete: sistemul trebuie să fie capabil de generalizare
reguli de asociere care corelează atributele: pentru exemple noi, exemplu folosind cele 5 să putem prezice restul
Dacă (temperatură==rece) -> umiditate=normală; de 31 de situații?
Dacă (umiditate==normală) && (vânt==nu) -> sport=da; nr. vreme temperatură umiditate vânt sport
Dacă (vreme==însorită) && (sport==nu) -> umiditate=ridicată; 6 însorită cald normală nu ?

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 15 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 16

15 16

Un exemplu, “weather problem” (cont.) Un exemplu, “weather problem” (cont.)


[I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”] [I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”]

Date vreme Date vreme


nr. vreme temperatură umiditate vânt sport nr. vreme temperatură umiditate vânt sport
1 însorită foarte cald ridicată nu Nu 1 însorită foarte cald ridicată nu Nu
2 însorită foarte cald - da Nu 2 însorită foarte cald 0 da Nu
3 înnorat - ridicată da Da 3 înnorat %&# ridicată da Da
4 ploioasă - - da Nu 4 ploioasă &@## 0 da Nu
5 ploioasă rece normală nu Da 5 ploioasă rece normală nu Da

(2) date incomplete: datele de intrare pot fi incomplete, sistemul


trebuie să fie capabil de generalizare și în acestă situație: (3) date eronate: regulile clasifică corect exemplele dar datorită
erorilor datelor (ex. zgomot) în realitate clasificatorul nu este capabil
nr. vreme temperatură umiditate vânt sport să clasifice corect chiar datele pe baza cărora a fost definit.
6 însorită cald normală nu ?

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 17 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 18

17 18

3
10/17/2022

Aplicații concrete Aplicații concrete (cont.)


> accentul se pune pe abilitatea de a generaliza pe date noi despre • Motoarele de căutare de pe Internet (cont.):
care nu avem nici o informație a priori;
> căutare
• Motoarele de căutare de pe Internet: după conținut
- învață folosind datele de la utilizator, ex. cuvintele folosite la date
căutare și gradul de satisfacție al utilizatorului; multimedia
(audio,
- învață care pagini sunt mai relevante, ex. PageRank de la Google imagini,
care definește “prestigiul” unei pagini în funcție de cât de corelată video);
este cu alte pagini care la rândul lor sunt “prestigioase” etc;

- învață din istoricul de navigare pentru a recomanda produse și


reclame, ex. platforme de comercializare cărți, filme, etc.

[I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”] Google Lens

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 19 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 20

19 20

Aplicații concrete (cont.) Aplicații concrete (cont.)


• Sisteme decizionale: ex. acordarea unui credit • Analiză imagistică:
- procedura tradițională: solicitantul furnizează o serie de date - satelitară;
personale și financiare iar creditorul foloseste metode statistice și
decizia umana pentru “accept” sau “refuz”;
- în X% din cazuri, datele nu se încadrează clar în cele două
clase iar decizia este luată de un operator uman (“bordeline clasificare automată tip de teren
cases”);
- în ~½ din cele X% cazuri, decizia se dovedește greșită
solicitantul creditat eșuând să returneze creditul -> problemă $;

- folosind clasificare: predicție comportament al celor X% cazuri detectare automată străzi


limită prin antrenare folosind date etichetate: cazuri limită din trecut
pentru care se știe rezultatul -> îmbunătățire decizie.
detecție automată incendii
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 21 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 22

21 22

Aplicații concrete (cont.) Aplicații concrete (cont.)


• Analiză imagistică (cont.): • Analiză imagistică (cont.):

- medicală; - securitate;

detecție automată persoane

detecție automată
fractură (raze X)

analiză automată (ultrasunete)


detecţie tumori

detecție automată probleme monitorizare automată trafic


circulație (termografie) detecție automată acțiuni

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 23 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 24

23 24

4
10/17/2022

Aplicații concrete (cont.) Aplicații concrete (cont.)


• Analiză imagistică (cont.): • Robotică:

- automatizări industriale;

roboți divertisment
roboți umanoizi

inspecţie automată contacte


puncte de sudură (optic)

roboți electrocasnici roboți manipulatori


detecţie automată defecte

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 25 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 26

25 26

Aplicații concrete (cont.) Două abordări conexe


• Diagnoză de sistem: > “machine learning”: schimbarea
comportamentului unui sistem astfel
- de regulă diagnoza defectelor este realizată de experți pe baza
încât acesta să obțină performanțe
observației “manuale” a corelației dintre anumiți parametri și
mai bune în viitor – concept legat
defectul în cauză (cunoștințe dobândite în timp ~ani de zile);
mai mult de performanță decât de
- exemplu: mentenanță sisteme electro-mecanice (motoare, cunoaștere.
generatoare) – monitorizare vibrații pentru diagnoză rulmenți
defecți, dezaliniere, slăbire componente, etc:
> “data mining”: implică procesul
- volum mare de date și echipamente, o fabrică are ~1000 de de învățare în sensul practic, non
dispozitive de monitorizat, ~600 tipuri posibile de defecte; teoretic – tehnici capabile să
identifice și să descrie tipare
- pe baza datelor furnizate de experți (cumulate în timp), structurale ale datelor ca mijloc de
antrenare sistem de clasificare automată. explicare a acelor date și pentru a
face predicții pe baza lor.
> orice sistem actual include decizii și clasificare!

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 27 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 28

27 28

Experimentul 1.1. Experimentul 1.1. (cont.)


> să se regrupeze datele similare:
Q1: care a fost criteriul de
decizie al numărului de clase
rezultate?

Q2: cum am decis că două date


sunt similare sau nu?

Q3: există o singură partiționare


“optimală”?

Q4: ce se întamplă cu datele


care nu aparțin practic niciunei
clase?
date de intrare date de intrare

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 29 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 30

29 30

5
10/17/2022

Experimentul 1.2. Experimentul 1.2. (cont)


> să se regrupeze datele similare:
Q1: care a fost criteriul de
decizie al numărului de clase
rezultate?

Q2: cum am decis că două date


sunt similare sau nu?

Q3: ce s-a schimbat față de


experimentul anterior (1.1.)?

Q4: a fost mai ușor să


partiționăm “optimal” datele în
această variantă?
date de intrare date de intrare

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 31 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 32

31 32

Concluzii experimentul 1.1. și 1.2. Experimentul 2.1.

- clasificare ne-supervizată, nu avem cunoștințe “a priori” despre


semnificația și apartenența datelor; clasa 1

- definitorii pentru partiționarea datelor au fost parametrii de


conținut ai acestora (= descriptori) – aumite proprietăți se
clasa 2
dovedesc a fi mai importante (= discriminatorii) decât altele
(ex. culoare vs. formă);

- un număr mai mare de descriptori tinde să fie mai relevant pentru clasa 3
succesul (optimizarea) partiționării datelor;

- procesul este guvernat de definirea unei metrici (măsuri de


distanță) pe baza cărei se evaluează similaritatea datelor; clasa 4

- există date atipice, ce nu aparțin niciunei clase.


date etichetate NB: notați caracteristicile claselor pe hârtie.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 33 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 34

33 34

Experimentul 2.2. Experimentul 2.2. (cont)


> să se regrupeze datele similare:
Q1: care a fost criteriul de
decizie al numărului de clase
clasa 1 rezultate?

Q2: cum am decis că două date


clasa 2 sunt similare sau nu?

Q3: există o singură partiționare


clasa 3 “optimală”?

Q4: ce se întamplă cu datele


clasa 4
care nu aparțin practic niciunei
clase?
date de intrare date de intrare

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 35 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 36

35 36

6
10/17/2022

Concluzii experimentul 2.1. și 2.2. Definiție învățare

- clasificare supervizată, sistemul este “antrenat” în prealabil să Definiție “learning”: a dobândi cunoștințe sau aptitudini prin studiu,
răspundă la anumite clase de date; practică, experimentare sau prin intermediul altor persoane.
[dicționar Merriam-Webster]
- se cunoaște numărul de clase de ieșire (sau se determină “a
priori” în funcție de datele de antrenare); Definiție “machine learning”: un sistem învață din experiența E cu
privire la o anumită clasă de cerințe T și o anumită măsură de
- definitorii pentru învățare (și astfel clasificare) au fost performanță P, dacă performanța acestuia la cerințele din T, așa cum
parametrii de conținut ai acestora (= descriptori); este măsurată de P, se îmbunătățește pe baza experienței din E.
[Rossen Dimov, Seminar A.I. Tools]
- procesul este guvernat de definirea unei metrici (măsuri de
distanță) pe baza cărei se evaluează similaritatea datelor; Exemplu:
- T = joc de șah;
- învățarea nu este perfectă, clasificarea acelorași date de - P = procentul de partide câștigate;
antrenare nu conduce la rezultate perfecte; - E = 1000 de înregistrări a unor jocuri de șah.

- există date atipice, acesta sunt asociate obligatoriu unei clase. > posibilitatea unui sistem de a “învăța” pe baza unor date;

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 37 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 38

37 38

[sursă imagini Wikipedia]


Definiție învățare (cont.) Terminologie

concept = ceea ce se dorește a fi învățat de către sistem;



set E [clasificare automată în funcție de date meteo a posibilității de a face sport]
web food autos

învățare

date black box

clasificator clasificare

clasificare
set de date descriere concept = ceeea ce produce sistemul de învățare
(ieșire sistem – reprezentare concept prin sistem);

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 39 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 40

39 40

[sursă imagini Wikipedia] [sursă imagine Wikipedia]


Terminologie (cont.) Terminologie (cont.)

dată = o entitate de informație unitară, exemplu: o imagine, o atribut (caracteristică, trăsătură) = o componenta a vectorului
secvență video, un document, o înregistrare a unor parametri etc. descriptor ce definește practic una dintre dimensiunile acestuia:

atribut 1: x1
descriptor (observație, vector de caracteristici) = reprezentarea X  [ x1 , x2 ,..., xn ] atribut 2: x2
unei date într-o formă mai compactă, de regulă vectorială. Valorile ...
descriptor
vectorului reprezintă măsurători ale unor proprietăți definitorii ale atribut n: xn
datei respective:
> descriptor = ansamblu de valori ale atributelor;
culoare1 culoaren

X  [ 10 , 5 ,..., 12 ]
X  [ x1 , x2 ,..., xn ]
dată descriptor (histogramă) dată descriptor (ex. histogramă)

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 41 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 42

41 42

7
10/17/2022

Terminologie (cont.) Terminologie (cont.)

spațiu de clasă = o sursă de date a căror distribuție în spațiul de caracteristici


caracteristici este guvernată de o anumită densitate de probabilitate specifică;
= spațiul definit de astfel, o clasă definește un anumit tip de date cu proprietăți similare
descriptorii datelor; din punct de vedere al unor anumite criterii:
axele acestuia sunt
definite de atributele clasa 1
descriptorului: (dreptunghi)
date x={R,G,B,X,Y,L,M,S}

În exemplu:
> data = pixel
imagine;
> atribute = clasa 2
proiectiile acestuia (triunghi)
pe diferite spații de
culoare; x={L*,a*,HLCH,CLCH,HHSV,SHSV} x={Y,L*,LLHC,IHSI }
spațiul inițial spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 43 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 44

43 44

Terminologie (cont.) Terminologie (cont.)

apartenență la clasă = asocierea unei date la o anumită clasă și apartenență la clasă = asocierea unei date la o anumită clasă și
astfel determinarea faptului că proprietățile acesteia sunt astfel determinarea faptului că proprietățile acesteia sunt
reprezentative pentru specificul clasei respective; reprezentative pentru specificul clasei respective;

> apartenență netă (hard): clasa 1 > apartenență graduală (soft –


(dreptunghi) grad de apartenență la fiecare clasa 1
clasă): (dreptunghi)
1 (da)
0.6

dată clasa 2
(triunghi) dată clasa 2
0 (nu)
0.3 (triunghi)

spațiul de caracteristici spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 45 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 46

45 46

Terminologie (cont.) Terminologie (cont.)

metrică (distanță, măsură de similaritate) = o măsură de evaluare set de date (bază de date) = ansamblul datelor ce urmează să fie
a gradului de similaritate între date diferite. De regulă returnează o analizate și clasificate;
valoare mică când datele sunt similare (ex. aparțin aceleiași clase)
și o valoare semnificativă când sunt diferite:
x2 date etichetate (ground truth) = o colecție de date pentru care se
Xa X i  [ xi ,1 , xi , 2 ,..., xi ,n ], i  {a , b, c} cunoaște “a priori” apartenența la clase; acestea sunt de regulă
Xb obținute pe baza expertizei umane:
xn descriptori
X3
x1 n X1 X 1  clasa 1 X 3  clasa ?
X2
Xc d( Xi, X j )  (x
k 1
i ,k  x j ,k ) 2
X4 X5 X7 X 2  clasa 1 X 6  clasa ?
x3 X8 X 4  clasa 2 ...
spațiul de caracteristici metrică (ex. distanța Euclidiană) X6 X9
Xn X 5  clasa 2
d(Xa, Xb) <? d ( Xb, X c ) <? d(Xa, Xc) X 7  clasa 3
set de date

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 47 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 48

47 48

8
10/17/2022

Terminologie (cont.) Terminologie (cont.)


> rezumat: set de date > rezumat (cont.): atribute

nr. vreme temperatură umiditate vânt sport nr. vreme temperatură umiditate vânt sport

1 însorită cald normală da Da 1 însorită cald normală da Da

2 însorită foarte cald ridicată nu Nu 2 însorită foarte cald ridicată nu Nu

3 ploioasă cald ridicată nu ? 3 ploioasă cald ridicată nu ?

4 înnorat rece normală da ? 4 înnorat rece normală da ?

set de date atribute

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 49 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 50

49 50

Terminologie (cont.) Terminologie (cont.)


> rezumat (cont.): atribut clasă > rezumat (cont.): instanță

nr. vreme temperatură umiditate vânt sport nr. vreme temperatură umiditate vânt play

1 însorită cald normală da Da 1 însorită cald normală da Da

2 însorită foarte cald ridicată nu Nu 2 însorită foarte cald ridicată nu Nu

3 ploioasă cald ridicată nu ? 3 ploioasă cald ridicată nu ?

4 înnorat rece normală da ? 4 înnorat rece normală da ?

atribut clasă instanță (dată)

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 51 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 52

51 52

[sursă imagine Wikipedia]


Terminologie (cont.) Tehnici existente
> rezumat (cont.): date etichetate 1. Tehnici de clasificare nesupervizată (clustering)

nr. vreme temperatură umiditate vânt play - metode ierarhice: cut

1 însorită cald normală da Da [datele de intrare sunt


grupate într-un număr
2 însorită foarte cald ridicată nu Nu variabil de clase sub
clase

forma unui arbore


3 ploioasă cald ridicată nu ? (dendrogram) pornind de
4 înnorat rece normală da ? la toate elementele într-o
clasă și finalizând cu
fiecare element într-o
clasa separată] adâncime

date etichetate
Metode: Hierarchical Clustering cu diferite variante, agglomerative -
"bottom up“ sau divisive - "top down“.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 53 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 54

53 54

9
10/17/2022

Tehnici existente (cont.) Tehnici existente (cont.)


1. Tehnici de clasificare nesupervizată (cont.) 1. Tehnici de clasificare nesupervizată (cont.)

- metode partiționale: - o altă clasificare globală:


[produc o singură partiție și depind de alegerea numărului de clase
• acumulative vs. partiționale: clasificarea pornește de la o
de ieșire. Partiționarea se face folosind un criteriu de optimizare
anumită partiție în clase, clase care pe parcursul algoritmului sunt
căutându-se prin încercări partiționarea optimală. Algoritmul este
fuzionate iterativ până când este satisfăcut un anumit criteriu de
de regulă rulat repetitiv cu diferite puncte de plecare a partițiilor
convergență vs. clasificarea pornește de la o singură clasă care este
alegându-se în final varianta cea mai bună]
divizată iterativ până când criteriul de convergență este satisfăcut;

Metode:
- square error: k-means, ISODATA; • politetice vs. monotetice: la stabilirea claselor sunt folosite toate
- graph-theoretic: Minimal Spanning Tree (MST); atributele de intrare vs. atributele de intrare sunt folosite în mod
- mixture resolving: Expectation Maximization (EM); secvențial pentru a constitui progresiv clasele, ex. atributul x1 este
- nearest neighbor; folosit pentru a diviza datele în două clase, mai departe, atributul x2
- fuzzy: fuzzy c-means (FCM). este folosit pentru divizarea claselor anterioare, și așa mai departe;

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 55 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 56

55 56

Tehnici existente (cont.) Tehnici existente (cont.)


1. Tehnici de clasificare nesupervizată (cont.) 2. Tehnici de clasificare supervizată (classification)
- o altă clasificare globală (cont.): - bazate pe criteriul Bayes:
• nete vs. fuzzy: datele sunt alocate unei singure clase, [clasificator probabilistic, de regulă binar (două clase), ce se
apartenența fiind binară (1 sau 0) vs. datele au un grad de bazează pe o ipoteză de independență a atributelor de intrare
apartenență la una sau mai multe clase - cu cât valoarea este mai (naivă); fiecărei clase i se asociază o probabilitate, p (Ck | x1 ,..., xn )
mare cu atât este mai probabil să aparțină clasei respective; unde Ck – clasa k iar x sunt datele de clasificat; ieșirea
clasificatorului este clasa cea mai probabilă (optimizare în funcție
• deterministe vs. stohastice: optimizarea claselor este de datele de antrenare)]
deterministă pe baza unui algoritm determinist vs. se folosește o
căutare aleatoare în spațiul format de toate clasificările posibile; Metode:
- Naive Bayes; p (Ck ) p ( x | Ck )
• incrementale vs. non-incrementale: volum foarte mare de date
- Bayes Networks;
p(Ck | x ) 
(ex. Big Data) - minimizare număr de citiri al datelor, reducere p( x )
- AODE, etc.
număr de repartiții în clase analizate, reducere date, partiționare
progresivă crescând setul de date.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 57 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 58

57 58

[sursă imagine Wikipedia] [sursă imagine Wikipedia]


Tehnici existente (cont.) Tehnici existente (cont.)
2. Tehnici de clasificare supervizată (cont.) 2. Tehnici de clasificare supervizată (cont.)
- bazate pe funcții: - metode “leneșe”:
[problema clasificării este modelată cu ajutorul unei reprezentări [antrenarea propriu-zisă este de fapt realizată cu întârziere de abia
funcționale a datelor de intrare, reprezentare ce este optimizată în momentul clasificării unei date noi; clasificarea este optimizată
folosind datele de antrenare] local, pentru fiecare dată nouă, ceea ce le face adaptabile la
date de antrenare modificarea domeniului datelor]
Metode:
- Support Vector Machines – date de antrenare
optimizează un hiperplan de separație Metode:
a datelor din spațiul de caracteristici; - k-Nearest Neighbours;
- Radial Basis Function network – - Locally Weighted Learning (LWL);
rețea neuronală a cărei ieșire este o etc.
combinație funcțională a intrării; k=3
- Linear Regression – asocierea optimală a unor funcții liniare date de clasificat
perechilor de date de intrare-ieșire (date de antrenare), etc.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 59 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 60

59 60

10
10/17/2022

[sursă imagine Wikipedia]


Tehnici existente (cont.) Tehnici existente (cont.)
2. Tehnici de clasificare supervizată (cont.) 2. Tehnici de clasificare supervizată (cont.)
- bazate pe reguli de decizie: - bazate pe arbori:
[se bazează pe generarea și optimizarea unui set de reguli de [reprezintă informația sub formă arborescentă, unde clasele sunt
decizie de tip “dacă – atunci” folosind datele de antrenare; regulile reprezentate de frunzele arborelui, nodurile corespund atributelor
nu sunt neapărat exclusive] datelor iar ramurile reprezintă relaționarea valorilor atributelor
vârstă=16, prescripție=“miopie”, astigmatism=0, lacrimi=“reduse” - lentile=0; pentru a ajunge la un anumit nod]
vârstă=14, prescripție=“miopie”, astigmatism=1, lacrimi=“reduse” - lentile=0;
… Metode: atribute
dacă (vârstă>14 && vârstă<16) && (prescripție==“miopie”) && - Functional Trees;
(lacrimi==“reduse”) atunci lentile=0; - Random Trees;
- Random Forests;
Metode: - C4.5, etc.
- Decision Table; probabilitate și
- RIpple-DOwn Rule learner (RIDOR); % observații
etc.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 61 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 62

61 62

[sursă imagine Wikipedia]


Tehnici existente (cont.) Tehnici existente (cont.)
2. Tehnici de clasificare supervizată (cont.) 3. Tehnici de clasificare semi-supervizată
- meta-metode: - se poziționează între tehnicile de clasificare nesupervizată și cele
[reunesc mai mulți clasificatori existenți; de regulă învață în mod supervizate;
iterativ un set de clasificatori “slabi” și îi adaugă progresiv la - idee: folosirea de date ne-
clasificatorul global; pe măsură ce sunt adăugați, datele sunt re- etichetate în corelație cu date
ponderate, datelor clasificate eronat li se crește ponderea în timp etichetate (datele etichetate
ce datelor clasificate corect le scade ponderea; astfel încât sunt limitate și necesită un
următorul clasificator slab se va focaliza pe datele clasificate greșit] efort considerabil pentru a fi
obținute);
date etichetate
Metode:
- AdaBoost;
- LogitBoost;
date ne-etichetate
- AnyBoost, etc.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 63 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 64

63 64

Utilitare Utilitare (cont.)

- Neural Network Toolbox;


- platformă generală de computer vision ce include și
- Bioinformatics Toolbox (Support Vector Machines);
facilități de clasificare, “open source”, în C++;
- Statistics Toolbox (Hierarchical Clustering, K-
- Machine Learning Library (MLL): Statistical Models,
Means, Gaussian Mixture Models, Naive Bayes,
Bayes Classifier, K-Nearest Neighbors, Support
Discriminant Analysis, Nearest Neighbors,
Vector Machines, Decision Trees, Boosting,
Classification Trees, Ensemble Classifiers, etc);
Expectation Maximization, Neural Networks;
- poate fi completat cu alți clasificatori (Internet).
- poate rula multi-procesor.
- platformă specializată, “open source”, în Java;
- furnizează tot lanțul de prelucrare: pregătire date, - platformă specializată, comercială;
selecție atribute, clasificare supervizată și - mod de operare vizuală, fără programare;
nesupervizată, evaluare performanțe, analiză - folosită la nivel global de companii care prelucrează
rezultate, etc; și analizează date (ex. financiare);
- poate rula în linie de comandă (batch processing); - pachet de utilitare “puternice”, validate.
- poate rula multi-procesor.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 65 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 66

65 66

11
10/17/2022

> Sfârşit M1

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 67

67

12
10/24/2022

Facultatea de Electronică, Universitatea


AI Multimedia Lab
Telecomunicaţii şi Politehnica din

Plan Curs
Tehnologia Informaţiei https://www.aimultimedialab.ro/
Bucureşti

M1. Introducere (concept, aplicații)


Tehnici de analiză și clasificare M2. Prelucrarea și reprezentarea datelor de intrare
automată a informației
M3. Tehnici de clasificare ne-supervizată (“clustering”)

Prof. dr. ing. Bogdan IONESCU M4. Tehnici de clasificare supervizată (“classification”)
https://bionescu.aimultimedialab.ro/
M5. Evaluarea performanței clasificatorilor

Bucureşti, 2022 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 2

1 2

Reprezentarea datelor
> exemplu date meteo:

> M2. Prelucrarea și nr. vreme temperatură umiditate vânt sport

reprezentarea datelor de intrare 1 însorită cald normală da Da

2.1. [ Reprezentarea datelor ] 2 însorită foarte cald ridicată nu Nu

2.2. [ Descrierea conținutului ] 3 ploioasă cald ridicată nu ?

2.3. [ Normalizarea datelor ] 4 innorat rece normală da ?

2.4. [ Decorelarea datelor ]

set de date atribute

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 3 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 4

3 4

Reprezentarea datelor (cont.) Reprezentarea datelor (cont.)


> exemplu date meteo (cont.): > exemplu date meteo (cont.):

nr. vreme temperatură umiditate vânt sport nr. vreme temperatură umiditate vânt sport

1 însorită cald normală da Da 1 1 30 50 15 1

2 însorită foarte cald ridicată nu Nu 2 0.9 39 90 1 0

3 ploioasă cald ridicată nu Da 3 0.5 30 90 0 0

4 înnorat rece normală da Nu 4 0.1 17 50 17 1

> prin valori numerice, ex. atributul vreme=[0;1], temperatură=


> prin valori simbolice, ex. Atributul vreme={“însorită”, ”ploioasă”, [15;40]○, umiditate=[40;100]%, vânt=[0;30]km/h, sport={0,1}; de
”înnorat”} sau vânt={“da”,”nu”}, etc; regulă datele au o semnificație fizică (ex. grade, procent, etc).

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 5 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 6

5 6

1
10/24/2022

Reprezentarea datelor (cont.) Reprezentarea datelor (cont.)


> exemplu date meteo (cont.): > cazuri particulare:

nr. vreme temperatură umiditate vânt sport a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16

0 0 0 0 0 10 0 0 0 0 0 1 0 0 0 0
1 însorită 30 50 15 Da
2 0 0 0 0 0 0 7 0 0 0 0 0 6 0 0
2 însorită 39 90 1 Nu
0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
3 ploioasă 30 90 0 Da
0 0 0 0 0 0 12 2 0 0 0 0 0 0 0 0
4 înnorat 17 50 17 Nu
> ce se observă în mod particular la aceste date?
> prin valori mixte, numeric - simbolic; > “sparse data” – “date rarefiate”: foarte multe dintre valori sunt 0
iar valorile utile sunt împrăștiate; necesită metode de prelucrare
adaptate datorită influențării modului de calcul al similarității;

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 7 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 8

7 8

Reprezentarea datelor (cont.) Reprezentarea datelor (cont.)


> cazuri particulare (cont.): > cazuri particulare (cont.):

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16

1 2 1 0 10 7 3 5 4 1 1 1 2 6 1 999 2 1 0 10 7 3 5 4 4 1 1 1 2 6

2 0 0 2 3 1 7 6 4 5 4 4 6 2 1 2 0 0 2 3 1 878 7 6 4 5 4 4 6 2 1

0 0 1 3 2 2 6 6 8 8 9 2 3 2 0 0 1 3 2 2 6 6 8 8 4 9 2 3 0 2

1 0 5 4 6 12 2 5 6 8 2 3 5 5 8 2 0 0 2 3 1 878 7 6 4 5 4 4 6 2 1

> ce se observă în mod particular la aceste date? > ce se observă în mod particular la aceste date?

> “missing data”: datele lipsă au o semnficație aparte și pot > “innacurate data”: date eronate ce pot surveni din erori umane,
survenii din diferite motive, ex. nu sunt înregistrate, nu sunt introduse deliberat (ex. nu se cunoaște valoare) sau din cauza
relevante (în afara scalei), nu sunt cunoscute, sunt voluntare zgomotului de măsurare; vizibile ca “outliers” (deviază semnificativ
(decizia de a nu măsura un atribut), etc. de la plaja de valori uzuală) sau date duplicat.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 9 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 10

9 10

Reprezentarea datelor (cont.) Reprezentarea datelor (cont.)


> cazuri particulare (cont.): > cazuri particulare (cont.):

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16

0.1 999 -10 0 0 10 -50 5 5 0.1 4 1 -99 1 2 64 1 1 2 3 5 8 13 4 17 21 21 42 45 90 91 90

0 630 -4 5 3 1 40 7 6 0.4 5 4 99 6 2 63 2 3 5 8 9 9 18 27 26 53 52 99 99 99 99 99

0.5 123 5 3 2 2 -30 6 8 0.2 4 9 0 3 2 65 0 1 1 2 3 5 8 13 21 34 55 89 90 4 3 4

1 546 10 1 3 1 46 7 6 0.5 5 4 40 6 2 61 1 2 3 4 5 6 7 8 9 10 11 11 12 14 14 16

> ce se observă în mod particular la aceste date?


> ce se observă în mod particular la aceste date?
> atributele tind să fie corelate între ele ceea ce înseamnă că
> atributele au valori în plaje foarte diferite dar totuși sunt folosite anumite valori pot fi deduse unele din altele – reprezentare
unitar sub formă de descriptor; acest lucru va influența evaluarea ineficientă – decorelare?
similarității între acestea – normalizare?
concluzie: datele trebuie verificate preliminar (vizual, grafic)!

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 11 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 12

11 12

2
10/24/2022

Descrerea conținutului datelor Descrierea conținutului datelor multimedia


> în practică, de cele mai multe ori informația de analizat nu poate fi
reprezentată în forma în care a fost “înregistrată”, ex. imagini:
200 255 80 90  200 255 80 90  200 255 80 90 
150 200 67 0  150 200 67 0  150 200 67 0 
     
160 30 45 0  160 30 45 0  160 30 45 0 
     
0 0 200 200 0 0 200 200 0 0 200 200
200 255 80 90  200 255 80 90  200 255 80 90 
150 200 67 0  150 200 67 0  150 200 67 0 
     
160 30 45 0  160 30 45 0  160 30 45 0 
     
0 0 200 200 0 0 200 200 0 0 200 200

date informația înregistrată


(valori pixeli pe 8 biți)
> motivație: valorile nu sunt reprezentative pentru conținutul
semantic al datelor; necesară o reprezentare cât mai discriminativă;

descriptor (observație, vector de caracteristici) = reprezentarea


unei date într-o formă mai compactă, de regulă vectorială. Valorile
vectorului reprezintă măsurători ale unor proprietăți definitorii ale
datei respective. [sursă platformă YouTube]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 13 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 14

13 14

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: imagini/video (revisited) A. informația vizuală: imagini/video (cont.)

i
elementul de bază al unei imagini 2D
imagine se numeşte pixel = picture element.

lumea reală infinită spaţial şi spectral j imagine

fiecare pixel al imaginii este caracterizat prin:


imagine digitală = ansamblu de valori plasate după o formă spaţială - valoare  legată de “culoarea” transmisă (ex. alb, roşu, etc.)
într-un spaţiu cel puţin bidimensional (matrice) - poziţie în imagine  informaţie spaţială.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 15 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 16

15 16

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: imagini/video (cont.) A. informația vizuală: surse de informație disponibile
1. informația de culoare;
imagini = valoarea unui pixel este un vector:

R G B
- cea mai frecvent folosită pentru descrierea conținutului imaginilor;
sistemul vizual uman este bazat pe prelucrarea informației de
= + + culoare (unde luminoase de diverse frecvențe).

> alegerea modului de reprezentare al culorilor: Red-Green-Blue


imagine color RGB
(8+8+8 biţi/pixel)

video = o succesiune temporală de imagini: gri

...
img.1 img.2 img.3 img.4 img.5 img.6 timp
RGB

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 17 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 18

17 18

3
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
1. informația de culoare (cont.); 1. informația de culoare (cont.);
> alegerea modului de reprezentare al culorilor: YCbCr (separare > alegerea modului de reprezentare al culorilor: L*a*b* (distanța
intensitate de crominanță) perceptuală dintre culori ~ distanța matematică)

Y  0,299 R + 0,587 G + 0,114 B 116  y1/ 3  16 daca y  0.008856


L*  
Cb  a1  ( R  Y )  b1  ( B  Y )  903.3  y altfel
Cr  a2  ( R  Y )  b2  ( B  Y ) X Y Z
a*  500  [ f ( x )  f ( y )] unde: x  , y , z
 YIQ: NTSC (National Television XW YW ZW
System Commitee, 30 imagini/s),
 YUV: PAL (Phase Alternating Line, b*  200  [ f ( y )  f ( z )] iar (XW, YW, ZW) = alb de referinţă
50Hz întreţesut),
 YDbDr: SECAM (Séquentiel Couleur  t 1/ 3 t  0.008856
à Mémoire, 25 imagini/s)
f (t )  
[sursă imagine Wikipedia]
7.787  y  0.137931 altfel

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 19 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 20

19 20

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
1. informația de culoare (cont.); 1. informația de culoare (cont.);
> alegerea modului de reprezentare al culorilor: L*a*b* (cont.) > alegerea modului de reprezentare al culorilor: HSV (separare
informație de nuanță, saturație și intensitate)
alb

în general proprietăţile unei culori sunt


galben definite de trei informaţii:

nuanţă (hue) = un alt cuvânt pentru


culoare, “pigmentul”, culoarea pură, etc.

roşu negru nuanţe


albastru verde

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 21 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 22

21 22

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
1. informația de culoare (cont.); 1. informația de culoare (cont.);
> alegerea modului de reprezentare al culorilor: HSV (cont.) > alegerea modului de reprezentare al culorilor: HSV (separare
informație de nuanță, saturație și intensitate)

saturaţie (saturation) = intensitatea  0 max  min


culorii, grad de puritate, cum arată  g b
în condiţii de iluminare diferită.  60  max  min  0 max  r , g  b
saturaţie: max,  slab  g b
 60   360 max  r , g  b
intensitate (intensity, value) = gradul
hHSV  max  min
de luminozitate, de strălucire.  br
 60  max  min  120 max  g
amestec cu gri a unei nuanţe pure  rg
 ton de culoare, 60   240 max  b
intensitate: >luminoase, <luminoase
 max  min

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 23 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 24

23 24

4
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
1. informația de culoare (cont.); 1. informația de culoare (cont.);
> alegerea modului de reprezentare al culorilor: HSV (cont.) > alegerea modului de reprezentare al culorilor: HSV (cont.)

 0 max  0 alb
s HSV   max  min
altfel
 max
hHSV  [0;360]
v HSV  max
s HSV , vHSV  [0;1]
R G B
unde: r , g , b
255 255 255
max  max{r , g , b},
min  min{r , g , b} negru

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 25 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 26

25 26

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
1. informația de culoare (cont.); 1. informația de culoare (cont.);
> descriptori uzuali: > descriptori uzuali (cont.):

- histograme de culoare calculate în diverse spații de culoare,


histograme ponderate, culori predominante, varianța de culoare,
parametri de intesitate, descrierea repartiției spațiale a culorilor,
prezența culorii pielii (prezență umană);

1 X 1 Y 1
1 x  0
h( D ) 
X Y
  ( A( x, y )  D),
x 0 y 0
 ( x)  
0 x  0
unde D este un nivel de gri (sau culoare), D=0,...,L-1 (sau ia valori în
paleta de culoare considerată), XY dimensiunea imaginii, A() este
funcţia imagine. Histograme de culoare (RGB)

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 27 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 28

27 28

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
1. informația de culoare (cont.); 1. informația de culoare (cont.);
> exemplu: histograma color > exemplu: histograma color (cont.)
R R
- 16.777.216 culori posibile
(8x8x8 biți), cuantizare la un număr
mai mic de valori;
- alegere n bini pentru
G G
fiecare axă: R, G și B
(n x n x n valori);
- exemplu: n=3,
imagine (RGB) bin 1 – [0 - 84],
B bin 2 – [85 - 170], B
bin 3 – [171 - 255].

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 29 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 30

29 30

5
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
1. informația de culoare (cont.); 2. informația relativă la forme;
> exemplu: histograma color (cont.) - caracterizarea proprietăților obiectelor prezente în scenă din
bin 1 – [0 - 84], R perspectiva proprietăților geometrice ale acestora.
bin 2 – [85 - 170],
bin 3 – [171 - 255].
> presupune detecția în prealabil a obiectelor din
R G B nr.val.
scenă; realizată folosind tehnici de segmentare
1 1 1 0
G (ex. bazate pe contur):
1 1 2 0
1 1 3 0

3 2 1 1
3 2 2 6
B
3 2 3 0

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 31 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 32

31 32

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
2. informația relativă la forme (cont.); 2. informația relativă la forme (cont.);
> descriptori uzuali: > descriptori uzuali (cont.): [Y. Mingqiang et al., Pattern Recognition, 2008]

(a) centrul de greutate (eșantionare uniformă contur); (c) raportul de circularitate (arie obiect raportat la aria cercului
(b) parametri de elongație în funcție de rata de aspect (W/L); de același perimetru);
(d) convexitate (cea mai mică regiune convexă ce include obiectul).
[Y. Mingqiang et al., Pattern Recognition, 2008]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 33 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 34

33 34

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
2. informația relativă la forme (cont.); 2. informația relativă la forme (cont.);
> descriptori uzuali (cont.): > exemplu: semnătură distanță față de centroid

- suprafață, orientarea axelor principale ale obiectului, convexitate,


curbură, lungime;
cât de
- momente statistice invariante;
similare sunt
- parametri spectrali (Fourier sau wavelet);
cele două
- reprezentarea sub formă de coduri (descompunerea conturului în
forme?
secvențe de segmente de dimensiune unitate și codarea acestora);
- descompunerea în poligoane;
formă1 formă2
- reprezentări de tip ”scale-space” (conturul este caracterizat la
mai multe niveluri de scală);
- etc. sig1  [2, 5,2 2, 5 ,2, 5 ,2 2 , sig2  [3, 10,2 2 , 10,3, 10,2 2 ,
5,2, 5,2 2 , 5,2, 5,2 2, 5 ] 10,3, 10,2 2 , 10,3, 10,2 2, 10 ]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 35 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 36

35 36

6
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
2. informația relativă la forme (cont.); 3. informația relativă la textură;
> exemplu: semnătură distanță față de centroid (cont.)
- caracterizarea proprietăților materialelor prezente în imagini (atât
analiză de culoare cât și de contur).
- simetrie formă se
transformă în periodicitate textură = o regiune din imagine ce prezintă caracteristici omogene,
semnătură; precum un motiv de bază ce se repetă (domeniu spațial/frecvențial).
- limitări?
formă1 formă2

texturi

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 37 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 38

37 38

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
3. informația relativă la textură (cont.); 3. informația relativă la textură (cont.);
> descriptori uzuali: > exemplu: Local Binary Patterns (LBP)

- analiza statistică a distribuției spațiale a intensităților pixelilor din p1: imaginea este imparțită în N macro-blocuri (ex. 16x16, 32x32);
imagine; ex. probabilitatea de co-ocurență a unei anumite intensități p2: pentru fiecare macro-bloc, fiecare pixel este comparat cu
în diverse direcții și distanțe față de un punct de referință; cei 8 vecini astfel:
- analiza proprietăților geometrice ale elementelor texturii, precum - intensitate >, se scrie valoare 0;
arie, formă, lungime și a modului de distribuție al acestora într-o - intensitate <, se scrie valoare 1;
anumită rețea;
- analiză pe bază de modele al căror parametri descriu proprietățile
esențiale ale acestuia (modelare pe bază de puncte întunecate
sau luminoase, tranziții verticale sau orizontale, linii, etc);
- analiză pe bază de filtre, ex. operatorii de derivare (Laplacian,
Roberts) sau filtrele Gabor.
p3: pixelul curent va avea asociat astfel un șablon binar (pattern);

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 39 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 40

39 40

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
3. informația relativă la textură (cont.); 4. informația relativă la mișcare;
> exemplu: Local Binary Patterns (cont.) [PRACE Summer of HPC 2013]
- caracterizarea schimbărilor (spațiale) survenite într-o secvență
p4: pentru macro-blocul de imagini (mișcare obiecte, mișcare scenă, etc).
curent se realizează o
histogramă a frecvenței > presupune detecția în prealabil a acestor schimbări:
șabloanelor pixelilor (1) detecția de mișcare (exemplu diferență cadre succesive);
(număr de valori 28);
unde Ik este
p5: pentru imagine, LBP
... imaginea la
este dat de momentul k,
Ik I k 1 I k 2 I k  N 1 IkN dk,k+1 este
concatenarea tuturor
histogramelor macro- diferența dintre
blocurilor (dim. N*28). d k , k 1 d k 1,k  2 d k  2,... d k  N 1,k  N Ik și Ik+1
LBP pentru comparare imagini cu fețe

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 41 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 42

41 42

7
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
4. informația relativă la mișcare (cont.); 4. informația relativă la mișcare (cont.);
(1) detecția de mișcare (exemplu diferență cadre succesive; cont.); (2) estimarea mișcării;

decizie: dacă dk,k+1(n) > 


 pixelul n=(x,y) se mișcă;

Ik

Exemplu de vectori de mișcare (imagine film “Matrix”)


exemplu mască,  = 25 mască,  = 50

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 43 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 44

43 44

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
4. informația relativă la mișcare (cont.); 4. informația relativă la mișcare (cont.);
(2) estimarea mișcării (exemplu metode pe blocuri de pixeli); (2) estimarea mișcării (exemplu metode pe blocuri de pixeli; cont.);
fereastra S

It It It+l

- imaginea curentă analizată la momentul t, It, este împărţită în - pentru fiecare bloc din It se caută noua sa poziţie în imaginea
blocuri disjuncte de pixeli de dimensiune BxB; următoare la momentul t+l (căutarea se face doar într-o
fereastră S de (2B+1)x(2B+1) pixeli);

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 45 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 46

45 46

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
4. informația relativă la mișcare (cont.); 4. informația relativă la mișcare (cont.);
(2) estimarea mișcării (exemplu metode pe blocuri de pixeli; cont.); (2) estimarea mișcării (exemplu metode pe blocuri de pixeli; cont.);
fereastra S
Mean Absolute Difference (MAD)
X Y
1
MAD(b1 , b2 ) 
X Y
 | b ( x, y )  b ( x, y ) |
x 1 y 1
1 2

unde b1 şi b2 reprezintă două blocuri de pixeli iar X şi Y


dimensiunile imaginii.

It It+l Mean Square Difference (MSD)


- noua poziţie a blocului curent este determinată pe baza 1 X Y
 [b ( x, y )  b ( x, y )]
2
minimizării unei funcţii de cost, FC, ce estimează eroarea de MSD (b1 , b2 ) 
X Y
1 2
aproximare a blocului curent cu blocurile din fereastra S. x 1 y 1

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 47 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 48

47 48

8
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
4. informația relativă la mișcare (cont.); 4. informația relativă la mișcare (cont.);
(2) estimarea mișcării (exemplu metode pe blocuri de pixeli; cont.); > descriptori uzuali:
> demo: - traiectora obiectelor din scenă,
a. HDuncomp: frame 17; - identificarea tipului de mișcare a camerei video (apropiere/
b. The Holiday frame 31623; depărtare, rotație, translație);
frame 45796;
frame 109038; - activitate de mișcare prin cuantizarea varianței amplitudinii
frame 1; vectorilor de mișcare;
frame 7636.
- imagini MHI de ”istorie a mișcării”
(Motion History Images);
- histograme de intensitate a mișcării,
etc

[http://alpha.imag.pub.ro/VideoIndexingRP2/]
imagine MHI (normalizare)

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 49 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 50

49 50

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
5. informația relativă la structura temporală; 5. informația relativă la structura temporală (cont.);
- caracterizarea proprietăților structurale-temporale ale unei > presupune segmentarea temporală în prealabil a secvenței =
secvențe de imagini. detecția tranzițiilor video (ex. cut, fade, dissolve, wipes, etc):

imagine1 ... imaginei T imaginei+1 ... imaginej ... imagineN >un cut reprezintă concatenarea directă a două plane video vecine
temporal: cut

plan1 T plan2 ... plani ... planM ... ...


- imagine (frame) = “atomul” secvenţei; imagineai imagineai+1 imagineai+2 imagineai+3

- plan video (video shot)= secvenţa continuuă de imagini înregistrată planulj planulj+1
de la pornirea camerei până la oprirea acesteia;
- tranziţie video (video transition, T) = un efect vizual de scurtă durată
ce face legătura între planele video vecine temporal; [film animaţie Gazoon, CITIA-Annecy]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 51 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 52

51 52

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
5. informația relativă la structura temporală (cont.); 5. informația relativă la structura temporală (cont.);
> presupune segmentarea temporală în prealabil a secvenței = cuts fade-in fade-out dissolves e.g.blitz
detecția tranzițiilor video, exemplu (cont.):

> dissolve reprezintă efectul de dizolvare progresivă a unei imagini


în alta (~transformarea graduală a unei imagini în alta);

... ... ... ... ...


timp
imagineai imagineai+10 imagineai+15 imagineai+20

planulj planulj+1

Plan 1 Plan 2 Plan 3 Plan 4 Plan 5 timp


[film de animaţie Coeur de Secours, CITIA-Annecy]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 53 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 54

53 54

9
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
5. informația relativă la structura temporală (cont.); 5. informația relativă la structura temporală (cont.);
> descriptori uzuali: activitate vizuală > descriptori uzuali: activitate vizuală (cont.)
fereastră T
j vT  E{T (i)}
i ... timp

T (i ) numărul de schimbări de plan ce au loc în fereastra temporală de


dimensiune T (ex. 5s) începând cu cadrul la momentul i;

> evaluând valorile lui T (i ) pentru întreaga secvenţă (ex. ferestre documentare ştiri muzică
suprapuse cu un pas p), determinăm ritmul vizual mediu al secvenţei:
v  0.2
T
*
vT  0.24* vT  0.56*
vT  E{T (i)} ~ tempo mediu.
[*valori medii pentru 30 de exemple de secvenţe.]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 55 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 56

55 56

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
5. informația relativă la structura temporală (cont.); 5. informația relativă la structura temporală (cont.);
> descriptori uzuali: acțiune > demo:
plane de acţiune

cuts
plan video

1 if  T  5 s (i )  2 .8 timp
HA shot (i )  
0 otherwise ground truth
1 if  T  5 s (i )  0.7
LA shot (i )  
0 otherwise [http://alpha.imag.pub.ro/VideoIndexingRP2/]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 57 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 58

57 58

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
6. informația relativă la trăsături; 6. informația relativă la trăsături (cont.);
- un caz particular de caracterizare a proprietăților unei clase > punct de interes (formalizare)
particulare de puncte de contur (“features”). - au o definiție matematică bine precizată;
- au o poziție bine definită în imagine;
> punct de interes = o regiune de
pixeli (de dimensiuni reduse) a - informația locală din jurul punctului de interes este bogată
căror proprietăți o fac informațional (definite de context);
reprezentativă pentru înțelegerea - invariante la perturbații locale și globale (deformări datorate
conținutului structural al imaginii: transformărilor de perspectivă, schimbarea unghiului de
vizualizare, schimbări de scală, rotații, translații, variații de
iluminare, etc).
> descrierea punctelor de interes presupune detecția în prealabil a
http://webvision.med.utah.edu/book/
acestora și apoi reprezentarea informației specifice;

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 59 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 60

59 60

10
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
6. informația relativă la trăsături (cont.); 6. informația relativă la trăsături (cont.);
> detectori uzuali: Harris detector (detector de colțuri) > detectori uzuali: Harris detector (cont.)
- bazat pe derivatele de ordin 1 ale imaginii: Ix - derivata pe oX şi p1. pentru fiecare pixel din imagine, într-o fereastră, calculăm:
Iy - derivata pe oY;
 I2 IxI y 
imagine contur fereastră analiză M   w( x, y )  x 
x, y  I x I y I y2 
unde w(x,y) o funcţie de ponderare ce poate fi uniformă, iar x,y iau
valori în fereastra considerată (Ix - derivata pe oX, Iy - derivata pe oY).

zonă uniformă = nici o contur = nici o schimbare colţ = schimbări importante


schimbare în nici o direcţie de-a lungul conturului pe toate direcţiile [Robert Collin,
fereastră derivată oX derivată oY CSE486 Penn State]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 61 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 62

61 62

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
6. informația relativă la trăsături (cont.); 6. informația relativă la trăsături (cont.);
> detectori uzuali: Harris detector (cont.) > detectori uzuali: Harris detector (cont.)
p1. pentru fiecare pixel din imagine, într-o fereastră, calculăm M. p2. estimăm gradul de variaţie al pixelilor în fereastra considerată:
R  det( M )  k  Tr 2 ( M )
unde k este o constantă iar Tr() este operatorul “trace” ce returnează
suma elementelor de pe diagonala principală;
- valori mari pentru colțuri;
fereastră derivată oX derivată oY
- valori negative mari pentru contur;
- valori mici în modul pentru regiuni omogene.

p3. punctele de interes sunt obţinute pe baza filtrării valorilor lui R:


fereastră derivată oX [Robert Collin, dacă (R>) && (R == max local)  colţ obiect
derivată oY
CSE486 Penn State]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 63 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 64

63 64

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
6. informația relativă la trăsături (cont.); 6. informația relativă la trăsături (cont.);
> detectori uzuali: Harris detector (cont.) > detectori uzuali: Harris detector (cont.)

imagine R<-10.000 imagine R>10.000

[Robert Collin, CSE486 Penn State] [Robert Collin, CSE486 Penn State]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 65 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 66

65 66

11
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
6. informația relativă la trăsături (cont.); 6. informația relativă la trăsături (cont.);
> detectori uzuali: Harris detector (cont.) > detectori uzuali: Harris detector (cont.)

imagine iniţială cu roşu sunt marcate colţurile estimate


imagine -10.000<R<10.000

[Robert Collin, CSE486 Penn State]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 67 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 68

67 68

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
6. informația relativă la trăsături (cont.); 6. informația relativă la trăsături (cont.);
> descriptori uzuali: Histograms of oriented Gradients (HoG) > descriptori uzuali: Histograms of oriented Gradients (HoG; cont.)
histograma p1. imaginea este împărțită în blocuri disjuncte de pixeli;
p2. pentru fiecare bloc se calculează o histogramă de orientări
0 0
ale gradientului pixelilor;
11 1 1 1 1 1
p3. descriptor = concatenarea tuturor histogramelor normalizate.
0 0

imagine dx2 dy2 90º orientare …


dy
d  dx  dy ,   arctan
2 2
Descriptor HoG
dx
imagine

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 69 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 70

69 70

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
A. informația vizuală: surse de informație disponibile A. informația vizuală: surse de informație disponibile
6. informația relativă la trăsături (cont.); 6. informația relativă la trăsături (cont.);
> descriptori uzuali: Histograms of oriented Gradients (HoG; cont.) > detectori/descriptori uzuali (cont.)
Detectori:
- Harris Laplace (Harris reprezentat la diverse niveluri de scală);
imagine - reprezentări “scale-space”: Laplacian of Gaussian (LoG),
Difference of Gaussian (DoG), Determinant of Hessian (DoH),
Maximally Stable Extremum Regions (MSER), Scale Invariant
Feature Transform (SIFT), Speeded Up Robust Features (SURF);
- reprezentări spațio-temporale: Harris 3D, Cuboid, Hessian 3D,
histogramă SURF 3D, etc.
orientări Descriptori:
- reprezentări Bag-of-VisualWords (BoW), Histograms of Optical
Flow (HoF), Vector of Locally Aggregated Descriptors (VLAD),
Fisher Kernel (FK), etc.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 71 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 72

71 72

12
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
B. informația audio B. informația audio (cont.)
1. reprezentare temporală;
amplitudine

Descriptorii sunt calculați la nivel de cadrul audio și apoi agreagați la


nivel de înregistrare folosind reprezentări statistice, ex. medie,
varianță, median, “skewness”, kurtosis (momente statistice).

50% > descriptori uzuali: Zero Crossing Rate (ZCR)


cadru1 cadru2 ... timp

1 T 1
sunet digital = o secvență de eșantioane (valori de amplitudine ale
undelor sonore) înregistrate în timp.
ZCR   II {st st 1  0}
T  1 t 1
unde s este un semnal de durată T iar II{.} este operatorul care
cadru (audio) = o secvență temporală ce conține un anumit număr de returnează valoarea 1 dacă argumentul este adevărat și 0 altfel.
eșantioane (ex. 1024 de eșantioane).

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 73 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 74

73 74

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
B. informația audio (cont.) B. informația audio (cont.)
1. reprezentare temporală (cont.); 1. reprezentare temporală (cont.);
> descriptori uzuali: secvență vorbire > descriptori uzuali: energia semnalului (Root Mean Square of
Zero Crossing Rate vorbire
ZCR (normalizat)
Signal Energy - RMS)
(ZCR; cont.)
RMS 
n
x1  x22  ...  xn2 
1 2

unde xi este valoarea semnalului la un moment dat. frecvență

x
a
RMS 
2
a sin(2ft )
timp (s)

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 75 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 76

75 76

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
B. informația audio (cont.) B. informația audio (cont.)
1. reprezentare temporală (cont.); 1. reprezentare temporală (cont.);
> descriptori uzuali: energia semnalului (RMS; cont.) > descriptori uzuali (cont.): rata de absență a sunetului,
coeficienții de autocorelație ai semnalului, etc.
x
2. reprezentare frecvențială;
RMS  a
> transformata Fourier 1D discretă (revisited)
a daca ft  0.5;a altfel ft  0.5 > eșantionare:
x
a u (m)  f ( x0  m  x)
RMS  unde f(x) este semnalul continuu, x0 reprezintă coordonata de la care
3 începe eşantionarea (uzual x0=0), Δx este pasul de eşantionare iar
2aft  a m=0,...,N-1 reprezintă coordonata discretă.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 77 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 78

77 78

13
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
B. informația audio (cont.) B. informația audio (cont.)
2. reprezentare frecvențială (cont.); 2. reprezentare frecvențială (cont.);
> transformata Fourier 1D discretă (revisited) | v ( k ) | Re 2 ( k )  Im 2 ( k )
j ( k )
N 1 2jmk v ( k ) | v ( k ) | e  Im( k )  unde Re şi Im sunt
1 
v(k ) 
N
 u( m)  e
m 0
N  (k )  atan 
 Re( k ) 
părţile reale şi
imaginare ale lui v.

unde k=0,...,N-1 reprezintă frecvenţa discretă. spectrograma de amplitudine

N 1 2jmk
1
u( m) 
N
 v(k )  e
k 0
N

unde m=0,...,N-1 reprezintă coordonata discretă.


transformata Fourier cadru audio

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 79 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 80

79 80

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
B. informația audio (cont.) [B. Ionescu et al., C. informația textuală
SPIE Journal of
2. reprezentare frecvențială (cont.); Electronic Imaging] text = o secvență de caractere, de regulă grupate în cuvinte și propoziții.
Logarithmic Fluctuation Pattern Reprezintă practic datele cele mai apropiate de nivelul de percepție
> descriptori uzuali:
uman (conținut semantic).

- distribuția energiei semnalului, > informație generată (<> nu este înregistrată), surse:
centroizii frecvențelor, lărgimea
de bandă, ”pitch”, ”loudness”, - utilizatorul: descrieri informație, documente, metadate, etc;
coeficienți cepstrali (Mel- - imagini: textul încrustat în imagini, subtitrări - transformate
Frequency Cepstral Coefficients în text folosind OCR - Optical Character Recognition;
– MFCC).
- sunet: narațiune, dialoguri, monologuri – transformate în text
folosind ASR - Automatic Speech Recognition.
frecvență

> de regulă este o informație foarte redundantă și de dimensiune


semnificativă (ex. repetiție cuvinte).
periodicitate
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 81 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 82

81 82

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
C. informația textuală (cont.) C. informația textuală (cont.)
> descriptori uzuali: Term Frequency-Inverse Document Frequency; > descriptori uzuali: TF-IDF (cont.)
TF-IDF = statistică ce reflectă importanța cuvintelor într-un - term frequency, tf(t,d):
document sau o colecție de documente (= corpus). = de câte ori apare termenul t în documentul d;

- inverse document frequency, idf(t,D):


= o măsură a “cantității” de informație furnizată de cuvântul
t - dacă este rar sau comun în corpus (necesită evaluarea
într-o colecție de date);
N
idf (t , D )  log
| {d  D : t  d } |
unde D este un corpus ce conține N documente iar numitorul se
date textuale importanță cuvinte traduce prin numărul de documente în care apare termenul t.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 83 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 84

83 84

14
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
C. informația textuală (cont.) C. informația textuală (cont.)
> descriptori uzuali: TF-IDF (cont.) > descriptori uzuali: TF-IDF (cont.)

- term frequency-inverse document freq., tfidf(t,d,D): > exemplu (cont.):

tfidf (t , d , D )  tf (t , d )  idf (t , D ) termen (t) tf(t,d1) termen (t) tf(t,d2)


“this” 1 “this” 1
> sunt filtrate cuvintele care sunt comune (valoare mică idf);
… … … …
> exemplu: “sample” 1 “example” 3
d1=“This is a sample.”
2
d2=“This is another example and another situation. Example idf (" this" , D )  log 0
one and example two are relevant.” 2
D=“This is a sample. This is another example and another tfidf (" this" , d1 , D )  1  0  0  tfidf (" this" , d 2 , D )
situation. Example one and example two are relevant.”

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 85 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 86

85 86

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
C. informația textuală (cont.) C. informația textuală (cont.)
> descriptori uzuali: TF-IDF (cont.) > descriptori uzuali: TF-IDF (cont.)
> exemplu (cont.): > abordare practică:
- pentru datele de intrare (=corpus) se extrag cuvintele;
termen (t) tf(t,d1) termen (t) tf(t,d2) - pentru fiecare cuvânt dintr-o instanță (=dată) se calculează tfidf;
“this” 1 “this” 1 - descriptorul este dat de concatenarea valorilor tfidf (se folosește
… … … … același set de cuvinte);
“sample” 1 “example” 3 > ce dimensiune are descriptorul rezultat?
2
idf (" example" , D )  log  0.3 > ce particularitate au datele reprezentate în acest fel?
1 (indicație - setul de cuvinte este același pentru toate datele,
tfidf (" example" , d 2 , D )  3  0.3  0.9 indiferent de dimensiunea acestora)
tfidf (" example" , d1 , D )  0  0.3  0
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 87 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 88

87 88

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
C. informația textuală (cont.) C. informația textuală (cont.)
> descriptori uzuali: Bag-of-Words > descriptori uzuali: Bag-of-Words (cont.)
> permite reprezentarea datelor de dimensiuni diferite cu 2. pe baza datele de intrare se construiește un dicționar comun
descriptori de dimensiune fixă; (= reuniunea exclusivă a cuvintelor dintre “pungile” de cuvinte);

> abordare: dicționar: 3. descriptorul este dat de reprezentarea sub


1 – “John”; formă de histogramă a frecvenței de apariție
1. datele de intrare sunt reprezentate drept mulțimi de cuvinte 2 – “likes”; a cuvintelor din dicționar:
(“pungi”), ignorând astfel semantica acestora; 3 – “to”;
4 – “watch”;
d1=“John likes d2=“John also 5 – “movies”; d1=“John likes to watch movies. Mary likes
to watch 6 – “also”; movies too.”
likes to watch
7 – “football”;
movies. Mary football
likes too likes 8 – “games”;
likes movies games.” descd1=[1 2 1 1 2 0 0 0 1 1]
9 – “Mary”;
too.” 10 – “too”.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 89 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 90

89 90

15
10/24/2022

Descrierea conținutului datelor multimedia (cont.) Descrierea conținutului datelor multimedia (cont.)
C. informația textuală (cont.) Nivelul semantic de reprezentare al informației
> descriptori uzuali: Bag-of-Words (cont.) > descriere de nivel scăzut (“low-level”)
2. pe baza datele de intrare se construiește un dicționar comun - descrieri numerice (~sintactica datelor);
(= intersecția cuvintelor dintre “pungile” de cuvinte); - exemplu: histograme, vectori de mișcare, etc.
dicționar: 3. descriptorul este dat de reprezentarea sub
1 – “John”; formă de histogramă a frecvenței de apariție > descriere de nivel intermediar (“mid-level”)
2 – “likes”; a cuvintelor din dicționar (cont.):
3 – “to”; - descrieri simbolice;
4 – “watch”; - exemplu: denumirea culorilor, detectarea prezenței umane în scenă, etc.
d2=“John also likes to watch football games.”
5 – “movies”;
6 – “also”; > descriere de nivel semantic (“high-level”)
7 – “football”;
8 – “games”; descd2=[1 1 1 1 0 1 1 1 0 0] - de regulă descrieri textuale care codează interpretarea datelor pentru
9 – “Mary”; a servi unei aplicații specifice;
10 – “too”. > se poate aplica acest principiu la imagini?

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 91 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 92

91 92

Descrierea conținutului datelor multimedia (cont.) Normalizarea datelor


Nivelul semantic de reprezentare al informației (cont.) > descriptori diferiți implică plaje de valori diferite;

desc  [ a 1 , a 2 ,..., a n , b 1 , b 2 ,..., b m , c 1 , c 2 ,..., c p ]


desc1 desc2 desc3

0.2 0 ... 0.9 0 5 ... 10  5 5 0


...
 0 0.6 ... 1 10 0 ... 2 4 3...  5
 
0.1 0.2 ... 0.1  5 ... 1 
date

5 9 ... 10 2
 
0.1 1 ... 0 1 1 ... 0 1  2 ... 3 
 1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5 

> care este plaja de valori? ai - [ 0 ; 1 ], bi - [ 0 ; 10 ], ci - [ -5 ; 5 ]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 93 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 94

93 94

Normalizarea datelor (cont.) Normalizarea datelor (cont.)


> compararea (ex. evaluare similaritate) datelor cu valori în același • normalizarea min-max (cont.);
interval este mai eficientă (corectă) -> normalizare: xi  min{xi }
desc  [ x1 , x2 ,..., xn ], xi' 
• normalizarea min-max; max{xi }  min{xi }
desc  [ x1 , x2 ,..., xn ] 0.2 0 ... 0.9 0 5 ... 10  5 5 ... 0
xi  min{xi }  0 0.6 ... 1 10 0 ... 2 4 3 ...  5
xi'   
max{xi }  min{xi } 0.1 0.2 ... 0.1  5 ... 1
date

5 9 ... 10 2
 
unde i=1,...,n, max{xi} și min{xi} reprezintă operatorii ce returnează 0.1 1 ... 0 1 1 ... 0 1  2 ... 3
valoarea minimă și respectiv maximă a tuturor valorilor descriptorilor
(instanțelor) pentru atributul xi.
 1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5 
0.6  0
> care este plaja de valori rezultată? [0;1] xi'   0.6
1 0
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 95 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 96

95 96

16
10/24/2022

Normalizarea datelor (cont.) Normalizarea datelor (cont.)


• normalizarea min-max (cont.); • normalizarea min-max (cont.);
xi  min{xi } xi  min{xi }
desc  [ x1 , x2 ,..., xn ], x  '
i desc  [ x1 , x2 ,..., xn ], xi' 
max{xi }  min{xi } max{xi }  min{xi }
0.2 0 ... 0.9 0 5 ... 10  5 5 ...0 0.2 0 ... 0.9 0 5 ... 10  5 5 0
...
 0 0.6 ... 1 10 0 ... 2 4 3 ...  5  0 0.6 ... 1 10 0 ... 2 4 3 ...  5
   
0.1 0.2 ... 0.1  5 ... 1  0.1 0.2 ... 0.1  5 ... 1 
date

date
5 9 ... 10 2 5 9 ... 10 2
   
0.1 1 ... 0 1 1 ... 0 1  2 ... 3  0.1 1 ... 0 1 1 ... 0 1  2 ... 3 
 1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5   1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5 
90 25
xi'   0.9 xi'   0.3
10  0 5 5
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 97 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 98

97 98

Normalizarea datelor (cont.) Normalizarea datelor (cont.)


• normalizarea min-max (cont.); • normalizarea min-max (cont.);
0.2 0 ... 0.9 0 5 ... 10  5 5 ... 0
0 0.6 ... 1 10 0 ... 2 4 3 ...  5 plajă de valori plajă de valori
 
Date

0.1 0.2 ... 0.1 5 9 ... 10 2  5 ... 1


 
0.1 1 ... 0 1 1 ... 0 1  2 ... 3
 1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5 
0.2 0 ... 0.9 0 0.5 ... 1 0 1 ... 0.5
0 0
Date normalizate

0.6 ... 1 1 0 ... 0.2 0.9 0.8 ...


 
0.1 0.2 ... 0.1 0.5 0.9 ... 1 0.7 0 ... 0.6
instanțe instanțe
 
0.1 1 ... 0 0.1 0.1 ... 0 0.6 0.3 ... 0.8
Date de intrare Date normalizate
 1 0.4 ... 0.5 0.4 1 ... 0.4 1 0.9 ... 1 
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 99 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 100

99 100

Normalizarea datelor (cont.) Normalizarea datelor (cont.)


• normalizarea z-score; • normalizarea z-score (cont.);
xi  medie{xi }
desc  [ x1 , x2 ,..., xn ] desc  [ x1 , x2 ,..., xn ], xi' 
 {xi }
xi  medie{xi }
xi'  0.2 0 ... 0.9 0 5 ... 10  5 5 ... 0
 {xi }  0 0.6 ... 1 10 0 ... 2 4 3 ...  5
 
0.1 0.2 ... 0.1  5 ... 1
date

unde i=1,...,n, medie{xi} și σ{xi} reprezintă operatorii ce returnează 5 9 ... 10 2


valoarea medie și respectiv abaterea pătratică medie a tuturor valorilor  
descriptorilor (instanțelor) pentru atributul xi.
0.1 1 ... 0 1 1 ... 0 1  2 ... 3
 1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5 
> care este plaja de valori rezultată? medie 0 și dispersie 1 0.6  0.44
xi'   0.4159
0.3847
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 101 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 102

101 102

17
10/24/2022

Normalizarea datelor (cont.) Normalizarea datelor (cont.) medie=0


• normalizarea z-score (cont.); σ=1
• normalizarea z-score (cont.);
xi  medie{xi } 0.2 0 ... 0.9 0 5 ... 10  5 5 ...0
desc  [ x1 , x2 ,..., xn ], xi'  0 0.6 ... 1 10 0 ... 2 4 3 ...  5
 {xi }  

Date
0.1 0.2 ... 0.1 5 9 ... 10 2  5 ... 1 
0.2 0 ... 0.9 0 5 ... 10  5 5 ... 0  
 0 0.6 ... 1 0.1 1 ... 0 1 1 ... 0 1  2 ... 3 
10 0 ... 2 4 3 ...  5
   1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5 
0.1 0.2 ... 0.1  5 ... 1
date

5 9 ... 10 2
  0.2 1.1 ... 0.9 1 0 ... 1 1.6 0.9 ... 0.2
 2 ... 0.7 0.7 0.5 ... 1.5

Date normalizate
0.1 1 ... 0 1 1 ... 0 1 3 0.4 ... 1.1 1.5 1.1 ... 0.7
 1 0.4 ... 0.5  
4 10 ... 4 5 4 ... 5  0.4 0.6 ... 0.9 0.2 0.9 ... 1 0.1 1.4 ... 0 
 2 1  
xi'   0.6975 0.4 1.5 ... 1.1 0.8 0.9 ... 1.1 0.1 0.7 ... 0.6 
4.3012  1.8 0.1 ... 0 0 1.1 ... 0.3 0.9 0.7 ... 1.1 
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 103 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 104

103 104

Normalizarea datelor (cont.) Normalizarea datelor (cont.)


• normalizarea z-score (cont.); • normalizarea zecimală;

plajă de valori plajă de valori desc  [ x1 , x2 ,..., xn ]


xi
xi'  , p  log10 (max | xi |)
10 p
unde i=1,...,n, max{xi} și |xi| reprezintă operatorii ce returnează valoarea
maximă și respectiv absolută a tuturor valorilor descriptorilor
(instanțelor) pentru atributul xi iar p este cel mai mic întreg pentru care
max(|x’i|)<=1.

instanțe instanțe
> care este plaja de valori rezultată? mișcă punctul zecimal, |.|<=1
Date de intrare Date normalizate

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 105 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 106

105 106

Normalizarea datelor (cont.) Normalizarea datelor (cont.)


• normalizarea zecimală (cont.); • normalizarea zecimală (cont.);
x xi
desc  [ x1 , x2 ,..., xn ], x  ip , p  log10 (max | xi |)
'
i
desc  [ x1 , x2 ,..., xn ], xi'  , p  log10 (max | xi |)
10 10 p
0.2 0 ... 0.9 0 5 ... 10  5 5 ... 0 0.2 0 ... 0.9 0 5 ... 10  5 5 ... 0
 0 0.6 ... 1 10 0 ... 2 4 3 ...  5  0 0.6 ... 1 10 0 ... 2 4 3 ...  5
   
0.1 0.2 ... 0.1  5 ... 1 0.1 0.2 ... 0.1  5 ... 1
date

date

5 9 ... 10 2 5 9 ... 10 2
   
0.1 1 ... 0 1 1 ... 0 1  2 ... 3 0.1 1 ... 0 1 1 ... 0 1  2 ... 3
 1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5   1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5 
0.6 9
xi'   0.6 xi'   0.9
100 101
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 107 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 108

107 108

18
10/24/2022

Normalizarea datelor (cont.) Normalizarea datelor (cont.)


• normalizarea zecimală (cont.);
• normalizarea zecimală (cont.);
xi 0.2 0 ... 0.9 0 5 ... 10  5 5 ... 0
desc  [ x1 , x2 ,..., xn ], xi'  , p  log10 (max | xi |) 0 0.6 ... 1 10 0 ... 2 4 3 ...  5
10 p  

Date
0.1 0.2 ... 0.1 5 9 ... 10 2 5 ... 1 
0.2 0 ... 0.9 0 5 ... 10  5 5 ... 0  
 0 0.6 ... 1 0.1 1 ... 0 1 1 ... 0 1  2 ... 3 
10 0 ... 2 4 3 ...  5
   1 0.4 ... 0.5 4 10 ... 4 5 4 ... 5 
0.1 0.2 ... 0.1  5 ... 1
date

5 9 ... 10 2 0 ... 0.9 0 0.5 ... 1 1 1


  0.2 ... 0 
 2 ... 0 ... 1

Date normalizate
0.1 1 ... 0 1 1 ... 0 1 3 0.6 ... 1 1 0 ... 0.2 0.8 0.6
 1 0.4 ... 0.5  
4 10 ... 4 5 4 ... 5  0.1 0.2 ... 0.1 0.5 0.9 ... 1 0.4 1 ... 0.2
2 2  
0.1 1 ... 0 0.1 0.1 ... 0 0.2  0.4 ... 0.6
xi'  0.699   0.4
10 5  1 0.4 ... 0.5 0.4 1 ... 0.4 1 0.8 ... 1 
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 109 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 110

109 110

Normalizarea datelor (cont.) Normalizarea datelor (cont.)


• normalizarea zecimală (cont.); • normalizarea cu funcții sigmoide;

plajă de valori plajă de valori desc  [ x1 , x2 ,..., xn ]


1
 2 i 
x t
xi'  1  e r 
 
unde i=1,...,n, t este de
regulă valoarea medie a
distribuției valorilor
descriptorului iar r=r1 dacă t
instanțe instanțe xi<t și r=r2 altfel.

Date de intrare Date normalizate

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 111 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 112

111 112

Decorelarea datelor Decorelarea datelor (cont.)


> valorile atributele tind să fie corelate între ele ceea ce înseamnă > Principal Component Analysis (cont.);
că anumite valori pot fi deduse unele din altele -> reprezentare
ineficientă; • covarianță:

> decorelarea datelor prin Principal Component Analysis (PCA); > măsură a variației a două dimensiuni față de medii, una în
funcție de cealaltă;
1 n 1
  
• dispersie (“variance”):
cov( X , Y )   xi  x y i  y
var( X )   2 
1 n 1

 xi  x
n i 0
2 n i0
unde X și Y sunt doi parametri, fiecare cu n valori măsurate (ex. două
dimensiuni/atribute ale unui descriptor multi-dimensional).
unde xi, i=0,...,n-1, reprezintă un set de valori ai unui parametru
(vector X) iar x este valoarea medie a setului. - valori pozitive: X și Y cresc sau descresc împreună;

- valori negative: fie X crește iar Y scade sau invers;


> măsură a dispersiei valorilor față de valoarea medie;
- valoare 0: X este independent de Y.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 113 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 114

113 114

19
10/24/2022

Decorelarea datelor (cont.) Decorelarea datelor (cont.)


> Principal Component Analysis (cont.); > Principal Component Analysis (cont.);
• matrice de covarianță (ex. 3 dimensiuni): • vectori și valori proprii:

 cov( X , X ) cov( X , Y ) cov( X , Z )  Av   v


S   cov( Y , X ) cov( Y , Y ) cov( Y , Z )  unde A este o matrice de dimensiune n x n, v este un vector de
  dimensiune n x 1 iar λ este un scalar;
 cov( Z , X ) cov( Z , Y ) cov( Z , Z )  - λ reprezintă valoarea proprie a lui A;
- v reprezintă vectorul propriu al lui A.
unde X, Y și Z sunt trei parametri, fiecare cu n valori măsurate (ex. trei
dimensiuni/atribute ale unui descriptor multi-dimensional).
> având matricea A, vectorii și valorile proprii se calculează
- pe diagonală cov(X,X)=var(X), dispersii; ca soluție a ecuației:
unde I este matricea unitate iar det(.)
- cov(Y,X)=cov(X,Y), matrice simetrică. det( A    I )  0 returnează determinantul unei matrice.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 115 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 116

115 116

Decorelarea datelor (cont.) Decorelarea datelor (cont.)


> Principal Component Analysis (cont.); > Principal Component Analysis (cont.);
• vectori și valori proprii (cont.): exemplu • vectori și valori proprii (cont.): exemplu

 0 1  (A    I)v  0
A
 2  3 ( A  1  I )  v1  0
 0 1  1 0   1 1   v1,1    1
det( A    I )  det       v1  k1  
  2  3 0 1    2 
 2   v1, 2 
0
  1

   1  1   1 v1,1  v1, 2  0
  1
det     2  3  2 v2  k 2  
 3    
similar:
  2 2   2  2 v1,1  2 v1, 2  0  2

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 117 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 118

117 118

Decorelarea datelor (cont.) Decorelarea datelor (cont.)


> Principal Component Analysis (cont.); > Principal Component Analysis (cont.);
- de ce este importantă varianța:
obiectiv: determinarea unei modalități prin care cele n atribute de [J. Shlens, 2003]
intrare să fie modificate astfel încât să obținem cea mai
reprezentativă descriere a datelor curente;

- reprezentative =
• nu depind de celelalte atribute (decorelate);
x2
• nu sunt perturbate de zgomot;
x1 crește redundanța
• prezintă o variație importantă a valorilor.

- cum putem reprezenta datele astfel încât să obținem ceea ce - în care dintre cazuri avem o redundanță maximă a datelor?
ne dorim? -> transformare a bazei de reprezentare;
- ce transformare a bazei permite maximizare varianță?

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 119 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 120

119 120

20
10/24/2022

Decorelarea datelor (cont.) Decorelarea datelor (cont.)


> Principal Component Analysis (cont.); > Principal Component Analysis (cont.);
[J. Shlens, 2003]

var ~ 0 var   algoritm: găsirea acelei transformări care permite diagonalizarea


matricei de covarianță (= maximizare dispersie valori – valori
~ 0 var   var diagonală; minimizare redundanță – valori de lângă diagonală);
   
X ' P  X
x2
unde X sunt datele de intrare, P este matricea transformării care
este determinată astfel încât să diagonalizeze matricea de
x1 covarianță S a lui X’;

> soluția este dată de P având ca linii vectorii proprii ai matricei


- cum arată matricea de  var(X1) cov(X1, X 2 ) de covarianță a lui X;
covarianță pentru cazurile de cov(X , X ) var(X 2 ) 
mai sus?  2 1 > vectorii proprii definesc o nouă bază ortonormată.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 121 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 122

121 122

Decorelarea datelor (cont.) Decorelarea datelor (cont.)


> Principal Component Analysis (cont.); > Principal Component Analysis (cont.);
> algoritm (exemplu numeric): > algoritm (exemplu numeric):
p1: pregătire date de intrare; p2: extragere valori medii -> medie 0;

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16

1 1 2 3 5 8 13 4 17 21 21 42 45 90 91 90 0 -0.75 -0.75 -1.25 -0.5 1 1.5 -9 -1.25 -8.5 -13.75 -18.25 -16.5 38.25 39.25 37.75

2 3 5 8 9 9 18 27 26 53 52 99 99 99 99 99 1 1.25 2.25 3.75 3.5 2 6.5 14 7.75 23.5 17.25 38.75 37.5 47.25 47.25 46.75

-1 -0.75 -1.75 -2.25 -2.5 -2 -3.5 0 2.75 4.5 20.25 28.75 28.5 -47.75 -48.75 -48.25
0 1 1 2 3 5 8 13 21 34 55 89 90 4 3 4

1 2 3 4 5 6 7 8 9 10 11 11 12 14 14 16 0 0.25 0.25 -0.25 -0.5 -1 -4.5 -5 -9.25 -19.5 -23.75 -49.25 -49.5 -37.75 -37.75 -36.25

matrice XT de intrare (T reprezintă transpusa) matrice XT de intrare (centrată)

*pentru a respecta sensul matematic, în calculele următoare datele sunt


reprezentate ca având atributele pe linii și instanțele pe coloane.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 123 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 124

123 124

Decorelarea datelor (cont.) Decorelarea datelor (cont.)


> Principal Component Analysis (cont.); > Principal Component Analysis (cont.);
8.04 0 0 ... 0
> exemplu numeric (cont.): > exemplu numeric (cont.):  0 3.67 0 ... 0
 
p3: calcul matrice de covarianță a lui X; p6: transformare X prin P cov( X ' )   0 0 0.07 ... 0
 
-> X’=PX (cont.).  ... ... .. ... 0
p4: calcul valori și vectori proprii matrice de covarianță X;  0 0 0 0 0

λ1 λ2 λ3 λ4 λ5 λ6 λ7 λ8 λ9 λ10 λ11 λ12 λ13 λ14 λ15 λ16 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16

8042.97 3668.96 67.64 0 0 0 0 0 0 0 0 0 0 0 0 0 51.28 -51.69 -8.98 0 0 0 0 0 0 0 0 0 0 0 0 0

99.27 28.91 7.34 0 0 0 0 0 0 0 0 0 0 0 0 0


p5: ordonare vectori proprii in ordinea descrescătoare a varianței
-62.84 71.55 -4.95 0 0 0 0 0 0 0 0 0 0 0 0 0
(= a valorilor proprii λ) -> matrice P;
-87.71 -48.76 6.60 0 0 0 0 0 0 0 0 0 0 0 0 0
p6: transformare X prin P -> X’=PX.
matrice (X’)T

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 125 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 126

125 126

21
10/24/2022

Decorelarea datelor (cont.) Decorelarea datelor (cont.)


1 1   2
var1  var1& 2 
 i  i
> Principal Component Analysis (cont.); > Principal Component Analysis (cont.);

> exemplu numeric (cont.): i > exemplu numeric (cont.): i

p7: reducere dimensiuni prin eliminare atribute cu variabilitate p7: reducere dimensiuni prin eliminare atribute cu variabilitate
scăzută; scăzută (cont.);

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16

51.28 -51.69 -8.98 0 0 0 0 0 0 0 0 0 0 0 0 0 51.28 -51.69 -8.98 0 0 0 0 0 0 0 0 0 0 0 0 0

99.27 28.91 7.34 0 0 0 0 0 0 0 0 0 0 0 0 0 99.27 28.91 7.34 0 0 0 0 0 0 0 0 0 0 0 0 0

-62.84 71.55 -4.95 0 0 0 0 0 0 0 0 0 0 0 0 0 -62.84 71.55 -4.95 0 0 0 0 0 0 0 0 0 0 0 0 0

-87.71 -48.76 6.60 0 0 0 0 0 0 0 0 0 0 0 0 0 -87.71 -48.76 6.60 0 0 0 0 0 0 0 0 0 0 0 0 0

matrice (X’)T matrice (X’)T


păstrează 68.27% din variabilitatea datelor inițiale; păstrează 99.43% din variabilitatea datelor;
Cum am calculat?

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 127 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 128

127 128

Decorelarea datelor (cont.) Decorelarea datelor (cont.)


1  2  3
var1& 2& 3 
 i
> Principal Component Analysis (cont.); > “albirea” datelor (whitening);

> exemplu numeric (cont.): i > în urma PCA obținem decorelarea atributelor și astfel o matrice
de covarianță diagonală;
p7: reducere dimensiuni prin eliminare atribute cu variabilitate
scăzută (cont.); > valorile dispersiei nu sunt constante și nici egale astfel că
datele nu sunt distribuite uniform;
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16
idee: obținerea unei distribuții uniforme a datelor; whitening =
51.28 -51.69 -8.98 0 0 0 0 0 0 0 0 0 0 0 0 0
transformarea datelor astfel încât să aibă o matrice de covarianță
99.27 28.91 7.34 0 0 0 0 0 0 0 0 0 0 0 0 0 diagonală și de dispersii constante, egale cu 1;
-62.84 71.55 -4.95 0 0 0 0 0 0 0 0 0 0 0 0 0

1 unde x’i reprezintă valorile unui atribut în


-87.71 -48.76 6.60 0 0 0 0 0 0 0 0 0 0 0 0 0
x iw   x 'i urma PCA, λi este valoarea proprie (matrice
matrice (X’)T i   de covarianță) ce corespunde acestuia iar ε
păstrează 100% din variabilitate; este un parametru de regularizare;
Care este rolul lui ε? evitare /0.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 129 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 130

129 130

Decorelarea datelor (cont.) 1 Decorelarea datelor (cont.) Date de intrare


x iw   x 'i
> “albirea” datelor (whitening; cont.); i   > exemplu;

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16


51.28 -51.69 -8.98 0 0 0 0 0 0 0 0 0 0 0 0 0
99.27 28.91 7.34 0 0 0 0 0 0 0 0 0 0 0 0 0
-62.84 71.55 -4.95 0 0 0 0 0 0 0 0 0 0 0 0 0

-87.71 -48.76 6.60 0 0 0 0 0 0 0 0 0 0 0 0 0

1 2 3 matrice (X’)T

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11
1 0 0
a12 a13 a14 a15
... 0
a16
0 1 0 ... 00
0.57 -0.85 -1.09 0 0 0 0 0 0 0 0 0 0 0 0 
0 X 0 )  00 ... 00
w
1.10 0.47 0.89 0 0 0 0 0 0 0 cov( 00 1 0
 
... ... .. ... 00
-0.70 1.18 -0.60 0 0 0 0 0 0 0 0 0 0 0 0

-0.97 -0.80 0.80 0 0 0 0 0 0 0 0 0


00 00 0 0 0 0
0

matrice (Xw)T

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 131 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 132

131 132

22
10/24/2022

Decorelarea datelor (cont.) Date de intrare centrate (medie 0) Decorelarea datelor (cont.) Reprezentare PCA

> exemplu > exemplu


(cont.); (cont.);

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 133 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 134

133 134

Decorelarea datelor (cont.) Reprezentare PCA cu whitening

> exemplu
(cont.);

> Sfârşit M2

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 135 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 136

135 136

23
11/21/2022

Facultatea de Electronică, Universitatea


AI Multimedia Lab
Telecomunicaţii şi Politehnica din

Plan Curs
Tehnologia Informaţiei https://www.aimultimedialab.ro/
Bucureşti

M1. Introducere (concept, aplicații)


Tehnici de analiză și clasificare M2. Prelucrarea și reprezentarea datelor de intrare
automată a informației
M3. Tehnici de clasificare ne-supervizată (“clustering”)

Prof. dr. ing. Bogdan IONESCU M4. Tehnici de clasificare supervizată (“classification”)
https://bionescu.aimultimedialab.ro/
M5. Evaluarea performanței clasificatorilor

Bucureşti, 2022 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 2

1 2

Clasificare ne-supervizată (clustering) - principiu

clustering = partiționarea datelor de intrare în mulțimi similare fără


> M3. Tehnici de clasificare a dispune de informații a priori despre acestea (date de antrenare);

ne-supervizată
3.1. [ Introducere ]
3.2. [ Analiza similarității datelor ] clasa 1

3.3. [ Clasificarea ierarhică ]


3.4. [ k-means ] clasa 2
3.5. [ Gaussian Mixture Models ]

date de intrare clasa 3

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 3 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 4

3 4

Clasificare ne-supervizată (clustering) - principiu (cont.) Clasificare ne-supervizată (clustering) - principiu (cont.)

clustering = partiționarea datelor de intrare în clase fără a dispune întreg procesul depinde de modul de definire al conceptului de
de exemple de partiționări (cont. exemplu); similaritate între date;

- similaritate = un
concept foarte
clasa 1 subiectiv;
sau?
- la nivel uman, este
greu de definit dar il
clasa 2
recunoaștem atunci
când il vedem;

date de intrare clasa 3


clasa 4

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 5 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 6 1
5 6
11/21/2022

Analiza similarității datelor Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor 1. Similaritatea descriptorilor (cont.)
determinarea gradului de asemănare dintre doi descriptori;
distanța Minkovski
X 1  [ x1,1 , x1, 2 ,..., x1, n ] n
... d(Xi, X j)  ? d Mink ( X i , X j )  r | x i ,k  x j ,k |r
X m  [ xm ,1 , xm , 2 ,..., xm ,n ] k 1

unde Xi şi Xj sunt două instanțe de intrare, xi,k cu k=1,...,n


instanțe de intrare
reprezintă valorile atributelor pentru instanța Xi iar |.|
Dacă d(.) este metrică presupune: reprezintă modulul.
- simetrie: d( Xi, X j )  d( X j, Xi )
distanța Manhattan (r=1)
- valoare minimă (0): d (Xi, Xi ) n
d Manh ( X i , X j )   | xi ,k  x j ,k |
- respectă: d ( X i , X k )  d ( X i , X j )  d ( X j , X k ) i , j , k k 1

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 7 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 8

7 8

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.)

distanța Euclidiană (r=2) distanța Canberra


n n
| xi ,k  x j ,k |
d Euclid ( X i , X j )  | x i ,k  x j ,k |2 d Canb ( X i , X j )  
k 1 k 1 | xi ,k |  | x j ,k |

> pentru a evita dependența de unitatea de măsură, datele


pot fi standardizate = fiecare atribut să aibă pondere ~egală: distanța Bray-Curtis
n

n | x i ,k  x j ,k |
d wEuclid ( X i , X j )   wk  | xi ,k  x j,k |2 d B C ( X i , X j )  k 1
n
k 1

unde wk sunt o serie de ponderi.


| x
k 1
i ,k  x j ,k |

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 9 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 10

9 10

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.)

distanța între date binare (valori 0 sau 1) distanța între histograme de valori

rs n
d bin ( X i , X j )  d inter ( X i , X j )   min{ xi ,k , x j ,k }
qrst k 1
unde xi,k cu k=1,…,n (bini) reprezintă valorile histogramei iar
unde:
min{.} returnează valoarea minimă a unei mulțimi.
- q este numărul de atribute ce au valoarea 1 pentru ambele
instanțe,
- t este numărul de atribute cu valoare 0 pentru ambele d hist ( X i , X j )  ( X i  X j )T  A  ( X i  X j )
instanțe,
- s + r reprezintă numărul de atribute de valori diferite pentru unde X reprezintă o histogramă, T este operația de
cele două instanțe (0 vs. 1 și respectiv 1 vs. 0). transpusă iar A=[ak,l] cu k,l=1,…,n este o matrice pătratică
ce indică corelația dintre binii k și l.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 11 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 12 2
11 12
11/21/2022

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.)

distanța Bhattacharyya (între distribuții de probabilitate) distanța Hausdorff (între mulțimi de valori) - Xi
1 d Haus ( X i , X j )  max{sup ( inf ( d ( xi ,k , x j ,l ) ) ), x - Xj
d Bhatta ( X i , X j )  (  X i   X j )T  ( X i , X j ) 1  (  X i   X j )  l
8 k

  sup (inf ( d ( xi ,k , x j ,l ) ) )} x
1 det(  Xi ,X j ) k
  ln  l

2  det(  X i )  det(  X j )  unde:


  - k,l=1,…,n;
- inf(.) și sup(.) sunt infimum și x x
unde μX este vectorul medie al distribuției de probabilitate a
respectiv supremum al unei mulțimi;
instanței X, ΣX este matricea de covarianță a distribuției lui X,
- d(.) este o metrică;
ΣXi,Xj este media aritmetică a matricelor de covarianță pentru x
- max{.} returnează valoarea maximă x
distribuțiile lui Xi și Xj, T este transpusa unei matrice iar det(.)
a unei mulțimi.
returnează determinantul unei matrice. inf ( d ( xi ,k , x j ,l ) )
l

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 13 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 14

13 14

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.)

distanța Hausdorff (între mulțimi de valori; cont.) - Xi distanța Hausdorff (între mulțimi de valori; cont.) - Xi

d Haus ( X i , X j )  max{sup ( inf ( d ( xi ,k , x j ,l ) ) ), x - Xj d Haus ( X i , X j )  max{sup ( inf ( d ( xi ,k , x j ,l ) ) ), x - Xj


k l k l

sup (inf ( d ( xi ,k , x j ,l ) ) )} x sup (inf ( d ( xi ,k , x j ,l ) ) )} x


l k l k

unde: unde:
- k,l=1,…,n; - k,l=1,…,n;
- inf(.) și sup(.) sunt infimum și x x - inf(.) și sup(.) sunt infimum și x x
respectiv supremum al unei mulțimi; respectiv supremum al unei mulțimi;
- d(.) este o metrică; - d(.) este o metrică;
- max{.} returnează valoarea maximă x - max{.} returnează valoarea maximă x
x x
a unei mulțimi. sup( inf ( d ( xi ,k , x j ,l ) ) ) a unei mulțimi. inf ( d ( xi ,k , x j ,l ) )
k l k

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 15 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 16

15 16

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.)

distanța Hausdorff (între mulțimi de valori; cont.) - Xi distanța Hausdorff (între mulțimi de valori; cont.) - Xi

d Haus ( X i , X j )  max{sup ( inf ( d ( xi ,k , x j ,l ) ) ), x - Xj d Haus ( X i , X j )  max{sup ( inf ( d ( xi ,k , x j ,l ) ) ), x - Xj


k l k l

sup (inf ( d ( xi ,k , x j ,l ) ) )} x sup (inf ( d ( xi ,k , x j ,l ) ) )} x


l k l k

unde: unde:
- k,l=1,…,n; - k,l=1,…,n;
- inf(.) și sup(.) sunt infimum și x x - inf(.) și sup(.) sunt infimum și x x
respectiv supremum al unei mulțimi; respectiv supremum al unei mulțimi;
- d(.) este o metrică; - d(.) este o metrică;
- max{.} returnează valoarea maximă x - max{.} returnează valoarea maximă x
x x
a unei mulțimi. sup ( inf ( d ( xi,k , x j,l ) ) ) a unei mulțimi.
l k max{}

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 17 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 18 3
17 18
11/21/2022

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.)

distanța cosinus distanța Baddeley (între obiecte)


1
Xi  X j  1 q
d cos ( X i , X j ) 
|| X i ||  || X j || d Badd ( I i , I j )    | d Ii ( p )  d I j ( p ) | 
q

M N pS 
unde ◦ reprezintă produsul scalar iar ||.|| reprezintă norma
unde: S
unui vector, astfel:
- I este o imagine binară, dIi dIj
n
- S reprezintă setul de puncte din
|| X ||2   xk2 imagine (MxN puncte),
k 1 - dI(p) reprezintă o anumită
unde X=[x1,x2,…,xn]. metrică de la punctul p la cel mai
apropiat punct al obiectului din Ii Ij
> distanța este practic cosinusul unghiului celor doi vectori
imaginea I,
normalizați. - q este exponentul (ex. q=2).

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 19 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 20

19 20

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.)

distanța Earth Mover’s Distance (între date de dimensiuni distanța Earth Mover’s Distance (cont.)
diferite) m n
> reprezintă practic “volumul de muncă”
 d k ,l  f k ,l necesar transformării unei instanțe în
d EMD ( X i , X j )  k 1 l 1
m n cealaltă;
 f
k 1 l 1
k ,l
> exemplu, fie:
unde Xi și Xj au dimensiuni diferite (m, n), dk,l reprezintă X  [( x1 , w1 ), ( x 2 , w2 ),..., ( x n , wn )]
distanța dintre valorile xi,k și xj,l iar fk,l este o funcție de cost
ce cuantizează deplasarea între xi,k și xj,l determinată ca
minimizând valoarea costului total:
Y  [( y1 , u1 ), ( y 2 , u 2 ),..., ( y n , u n )]
m n unde X și Y sunt două instanțe de comparat iar w și u
 d
k 1 l 1
k ,l  f k ,l reprezintă ponderile atributelor (~masă);

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 21 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 22

21 22

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.)
distanța Earth Mover’s Distance (cont.) distanța Earth Mover’s Distance (cont.)
> exemplu (cont.) - presupunem ponderi egale, Σw= Σu; > exemplu (cont.) - presupunem ponderi egale, Σw= Σu;

x2 w2=0.26 u1=0.23 - calculăm necesarul x2 w2=0.26 u1=0.23 work1,1 = f1,1 * d1,1 =


y1 de muncă ca să y1 0.23 * 155
transformăm X în Y
(mutăm masa de la X
u3=0.51 u3=0.51 work1,3 = f1,3 * d1,3 =
la Y);
y3 w1=0.74 y3 w1=0.74 0.51 * 252
x1 work2,2 = f2,2 * d2,2 = x1
0.26 * 316
u2=0.26
y2 x2 y2
[S. Cohen, 1999] [S. Cohen, 1999]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 23 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 24 4
23 24
11/21/2022

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 1. Similaritatea descriptorilor (cont.) twork = 222
distanța Earth Mover’s Distance (cont.) distanța Earth Mover’s Distance (cont.)
> exemplu (cont.) - presupunem ponderi egale, Σw= Σu; > exemplu (cont.) - presupunem ponderi egale, Σw= Σu;
- optimal:
twork = 0.23 * 155 +
x2 w2=0.26 u1=0.23 work2,3 = f2,3 * d2,1 =
0.51 * 252 +
y1 x1 y1 0.26 * 198
0.26 * 316 = 246
work1,1 = f1,1 * d1,1 =
Este corect ca u3=0.51 0.23 * 155
y3 x1 w1=0.74 măsură de distanță ? y3 w1=0.74 work1,2 = f1,2 * d1,2 =
x1 Nu au fost alese x1 0.26 * 277
costurile optimale! u2=0.26 work1,3 = f1,3 * d1,3 =
x2 y2 y2 0.25 * 252
[S. Cohen, 1999] [S. Cohen, 1999]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 25 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 26

25 26

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


1. Similaritatea descriptorilor (cont.) 2. Similaritatea la nivel de structură

> cât de mult determinarea gradului de asemănare a două obiecte la nivel


contează alegerea structural (ex. aranjare spațială, structurare text, etc);
adecvată a măsurii
> exemplu, compararea a două documente video;
de distanță adaptată
datelor? > idee, reprezentare textuală a structurii temporale (vezi M2):
- “s” – plan video;
măsură de - “c” – tranziție de tip cut;
performanță - “w” – tranziție de tip wipe;
(valoare > - “d” – tranziție de tip dissolves;
performanță >;
maxim 1 – 100%) > documentul video este reprezentat ca o secvență de litere:
“scswsdcs”
[I. Mironică et al., EUSIPCO 2012]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 27 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 28

27 28

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


2. Similaritatea la nivel de structură (cont.) 3. Similaritatea semantică

> exemplu, compararea a două documente video (cont.); determinarea gradului de asemănare la nivel de concepte
(reprezentare semantică a informației);
distanța de editare
> ontologii de informații:
costul minim de transformare a instanței Xi în instanța Xj, unde
Xi și Xj au n și respectiv m caractere ce pot lua valori într-un - mod formal de reprezentare a cunoașterii sub formă de
alfabet Σ iar E definește setul de operații de editare și costurile concepte și a relațiilor dintre acestea;
acestora. - folosesc următoarele componente:
- obiecte/instanțe de date;
Xi=“scswsdcs” 2 înlocuiri +
d(Xi,Xj)= =1+1+1=3 - clase (mulțimi, colecții, concepte);
Xj=“sdswscscs” 1 inserare - atribute (proprietăți);
- relații (între clase și instanțe);
Σ={c,w,d,s}
- restricții;
E={“inserare”,”ștergere”,”înlocuire”} (costuri egale, 1) - reguli (de tip “if-then”);
- evenimente (modul de schimbare al atributelor).

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 29 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 30 5
29 30
11/21/2022

Analiza similarității datelor (cont.) Analiza similarității datelor (cont.)


3. Similaritatea semantică (cont.) 3. Similaritatea semantică (cont.)
> ontologii de informații (cont.): - structură irarhică de > ontologii de informații (cont.):
reprezentare a distanța între concepte - datele sunt reprezentate pe
informației; bază de ontologii semantice;
- clase subordonate
moștenesc - exemplu: distanța dintre
proprietățile claselor instanța c1 și respectiv c2
superioare; (descriptori) = numărul de
pași din arbore necesari
- obiectele sunt descrise pentru a ajunge de la
de atribute, exemplu: conceptul C1 (definește c1) la
-nume “Ford Explorer”; conceptul C2 (definește c2);
ontologie clasă “mașină” (simplificat) -ușă (4);
-motor (4l); - număr de pași = număr de
-transmisie (6v). ontologie laturi (3 în exemplu).

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 31 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 32

31 32

Clasificarea ierarhică (hierarchical clustering) Clasificarea ierarhică (hierarchical clustering; cont.)

datele de intrare sunt regrupate în funcție de similaritatea acestora 1. Aglomerativă


într-un număr variabil de clase (1-n), sub formă arborescentă; > date de intrare, Xi=[xi,1,…,xi,n], i=1,...,m;
[sursă imagine Wikipedia]
> algoritm:
- complexitate de calcul redusă;
p1. fiecare dintre instanțe este asociată unei clase
- numărul de clase rezultate poate fi -> X1 ϵ clasa1, …, Xm ϵ clasam ;
adaptat în funcție de scenariu; clasa1 clasa2 ... clasam
adâncime

clasa1
cut p2. se calculează
- aglomerativ sau “bottom up” – de pentru fiecare  0 d(1,2) ... d(1, m)
jos în sus (în figura de alături); pereche de clase o  d(2,1) 0 ... d(2, m)
măsură de ...  
- diviziv sau “top down” – de sus în similaritate între  ... ... ... ... 
 
clasam

acestea;
d(m,1) ... d(m, m1)
jos (în figura de alături). 0 
n clase

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 33 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 34

33 34

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
clasa1&2 clasa3 ... clasam > exemplu:
clasa1&2

> algoritm (cont.):

p3. cele mai  0 d(1&2,3) ... d(1&2,m)


similare două  d(3,1&2) 0 ... d(3,m) 
 
...

clase sunt
fuzionate  ... ... ... ... 
 
clasam

într-una d(m,m1)
singură; d(m,1&2) ... 0 

p4. dacă numărul de clase obținute <> 1, mergi la pasul 2 (se


re-calculează similaritatea între noile clase și se fuzionează în
continuare);

p5. STOP -> dendrograma claselor. spațiul de caracteristici


[sursă L. Shan, Clustering Techniques]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 35 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 36 6
35 36
11/21/2022

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> exemplu (cont.): iterația 1 > exemplu (cont.): iterația 2

1 1 2

spațiul de caracteristici spațiul de caracteristici


[sursă L. Shan, Clustering Techniques] [sursă L. Shan, Clustering Techniques]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 37 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 38

37 38

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> exemplu (cont.): iterația 3 > exemplu (cont.): iterația 4
3 3
1 2 1 2

spațiul de caracteristici spațiul de caracteristici


[sursă L. Shan, Clustering Techniques] [sursă L. Shan, Clustering Techniques]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 39 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 40

39 40

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> exemplu (cont.): iterația 5 > exemplu (cont.): iterația k
3 3 9
1 2 6 1 2
5 5
8
4 4
7

spațiul de caracteristici spațiul de caracteristici


[sursă L. Shan, Clustering Techniques] [sursă L. Shan, Clustering Techniques]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 41 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 42 7
41 42
11/21/2022

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> exemplu (cont.): iterația 11 > cum evaluăm similaritatea între clase?
3 9 > single link =
6 1 2
5 distanța dintre cele
8 mai apropiate două
4 instanțe ale claselor;
7
-> clasele rezultate
tind să fie subțiri și
lungi.

spațiul de caracteristici spațiul de caracteristici


[sursă L. Shan, Clustering Techniques] [sursă H. Lin, 15-381 Artificial Intelligence]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 43 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 44

43 44

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> cum evaluăm similaritatea între clase? (cont.) > cum evaluăm similaritatea între clase? (cont.)

> complete link = > average link =


distanța dintre cele distanța medie dintre
mai depărtate două toate instanțele celor
instanțe ale claselor; două clase;

-> clasele rezultate -> robustețe la


tind să fie foarte zgomot.
apropiate.

spațiul de caracteristici spațiul de caracteristici


[sursă H. Lin, 15-381 Artificial Intelligence] [sursă H. Lin, 15-381 Artificial Intelligence]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 45 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 46

45 46

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> exemplu real (imagini, descriptor - culoare, metrică - Euclidiană, > exemplu real (imagini, descriptor - culoare, metrică - Euclidiană,
similaritate - average link): 10 clase similaritate - average link; cont.) - 9 clase

[credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”] [credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 47 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 48 8
47 48
11/21/2022

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> exemplu real (imagini, descriptor - culoare, metrică - Euclidiană, > exemplu real (imagini, descriptor - culoare, metrică - Euclidiană,
similaritate - average link; cont.) - 8 clase similaritate - average link; cont.) - 7 clase

[credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”] [credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 49 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 50

49 50

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> exemplu real (imagini, descriptor - culoare, metrică - Euclidiană, > exemplu real (imagini, descriptor - culoare, metrică - Euclidiană,
similaritate - average link; cont.) - 6 clase similaritate - average link; cont.) - 5 clase

[credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”] [credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 51 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 52

51 52

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 1. Aglomerativă (cont.)
> exemplu real (imagini, descriptor - culoare, metrică - Euclidiană, > exemplu real (imagini, descriptor - culoare, metrică - Euclidiană,
similaritate - average link; cont.) - 4 clase similaritate - average link; cont.) - 3 clase

[credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”] [credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 53 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 54 9
53 54
11/21/2022

Clasificarea ierarhică (hierarchical clustering; cont.) Clasificarea ierarhică (hierarchical clustering; cont.)
1. Aglomerativă (cont.) 2. Divizivă
> exemplu real (imagini, descriptor - culoare, metrică - Euclidiană, > date de intrare, Xi=[xi,1,…,xi,n], i=1,...,m;
similaritate - average link; cont.) - 2 clase
> algoritm:

p1. toate instanțele sunt asociate unei singure clase


-> X1,..., Xm ϵ clasa1;

p2. clasele curente sunt divizate în două subclase folosind


orice algoritm de partiționare;

p3. dacă numărul de clase <> m se repetă pasul 2;

p4. STOP -> dendrograma claselor.


[credit B. Boteanu, 2015; sursă imagini Flickr, “Casa Batllo”]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 55 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 56

55 56

Clasificarea ierarhică (hierarchical clustering; cont.) k-means


> care dintre cele două abordări (“top down” vs. “bottom up”) partiționarea iterativă a datelor în k clase în funcție de proximitatea
este mai complexă? acestora față de reprezentanții claselor (centroizi);
= top down pentru că necesită o altă metodă de clustering;
> date de intrare:
> care dintre cele două abordări tinde să fie mai eficientă? - instanțe de clasificat în k clase:
= top down, complexitate liniară funcție de numărul de clase X  { X 1 , X 2 ,..., X m }  c1 ,..., c k ;
(folosind k-means pentru partiționare);
vs. bottom up, cel puțin pătratică. - un dicționar de k instanțe:

> care dintre cele două abordări tinde să fie mai precisă? V  {V1 , V2 ,..., Vk }
- bottom up – deciziile de agreagare sunt luate local fără a ține - o matrice de partiționare:
cont de distribuția globală (deciziile inițiale nu mai pot fi
1 X i  cl
schimbate ulterior);
  [ l ,i ],  l ,i  
- top down – țin cont de distribuția globală. 0 altfel
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 57 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 58

57 58

k m [sursă http://util.io/k-means]
k-means (cont.) optimizare E ( ,V )    li || X i  Vl ||2 k-means (cont.)
> algoritm: l 1 i 1 > exemplu:
p1. se alege o valoare pentru k (numărul de clase);
X  { X 1 ,..., X 23 }
p2. se inițializează vocabularul V cu k instanțe din datele de
intrare X. Acestea definesc o partiție inițială a claselor (centroizi); k3
p3. fiecare instanță este atribuită clasei celei mai apropiate
c1 , c2 , c3
(ca distanță față de centroidul clasei);

p4. se calculează matricea Γ de partiționare în clase;

p5. se re-calculează vocabularul, fiecare vector fiind înlocuit


de centroidul (= media) clasei respective;

p6. se reia pasul 3 până când nici o instanță nu-și mai schimbă
apartenența la clase (Γ nu se modifică). spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 59 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 60 10
59 60
11/21/2022

[sursă http://util.io/k-means] [sursă http://util.io/k-means]


k-means (cont.) k-means (cont.)
> exemplu (cont.): > exemplu (cont.):

- se alege - se recalculează
vocabularul din V1 vectorii V pentru V1
instanțele de fiecare clasă ca
intrare; fiind centroizii
claselor curente
- acesta definește (medie);
cele 3 clase; V2 V3 V2 V3
- instanțele sunt
asociate claselor
cele mai
apropiate.

spațiul de caracteristici spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 61 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 62

61 62

[sursă http://util.io/k-means] [sursă http://util.io/k-means]


k-means (cont.) k-means (cont.)
> exemplu (cont.): > exemplu (cont.):

- instanțele sunt V1 ' - se repetă pașii V1 '


asociate claselor anteriori ...;
celor mai
apropiate pe baza
noilor centroizi;

V2 ' V2 '
V3 ' V3 '

spațiul de caracteristici spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 63 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 64

63 64

[sursă http://util.io/k-means] [sursă http://util.io/k-means]


k-means (cont.) k-means (cont.)
> exemplu (cont.): > exemplu (cont.):

- etc; V1' ' - etc; V1' '

V2 ' ' V2 ' '

V3' ' V3' '

spațiul de caracteristici spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 65 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 66 11
65 66
11/21/2022

[sursă http://util.io/k-means]
k-means (cont.) k-means (cont.)
> exemplu (cont.): > avantaje:
- simplu de implementat;
- în acest moment V1' ' '
nu se mai - optimizează în mod intuitiv similaritatea intra-clasă;
schimbă repartiția
în clase a V2 ' ' ' - relativ eficient, complexitate O(m x k x nr.iterații).
instanțelor;
> dezavantaje:
- necesită definirea noțiunii de centroid ca medie instanțe;

V3' ' ' - optimizare locală – depinde practic de alegerea (bună) a


vocabularului inițial pentru clase;
- numărul de clase trebuie anticipat;
- sensibil la date atipice;
spațiul de caracteristici - nu este eficient pentru clustere cu forme non-convexe.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 67 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 68

67 68

k-means (cont.) k-means (cont.)


> date atipice (outliers): > clustere cu forme non-convexe?
- potențială soluție: k-medoids, centrele claselor sunt alese ca - potențială soluție: kernel trick;
fiind chiar unele dintre instanțe și nu mediile;
- funcția de cost standard de
date clasificate greșit minimizat este:
k m
E ( ,V )    li || X i  Vl ||2
l 1 i 1

- idee: transformăm X printr-o funcție (nucleu – kernel):


outlier ce outlier ce k m
deplasează deplasează E ( ,V )    li ||  ( X i )   (Vl ) ||2
centroidul centroidul l 1 i 1
clasei clasei m
1
 (Vl ) 
ml
   ( X ), m este numărul de instanțe din clasa l.
i 1
li i l
spațiul de caracteristici [sursă L. Shan, Clustering Techniques]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 69 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 70

69 70

k-means (cont.) k-means (cont.)


> clustere cu forme non-convexe (cont.) > clustere cu forme non-convexe (cont.)
- potențială soluție: kernel trick (cont.); - potențială soluție: kernel trick (cont.);
k m
E ( ,V )    li ||  ( X i )   (Vl ) ||2
l 1 i 1

||  ( X i )   (Vl ) ||2   ( X i )T   ( X i )   ( X i )T   (Vl ) 


  (Vl )T   ( X i )   (Vl )T   (Vl )
- funcția nucleu este dată de:  ( X i )T  ( X j )  K ( X i , X j )
||  ( X i )   (Vl ) ||  K ( X i , X i )  2 K ( X i ,Vl )  K (Vl ,Vl )
2

 q||X i  X j ||
K( Xi , X j )  e (Gaussian); fără funcții nucleu kernel trick (ce tip de nucleu?)
- exemple de nuclee:
spațiul de caracteristici
K ( X i , X j )  ( c  X iT  X j )d (polinomial).
[sursă R. Chitta, Kernel K-Means]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 71 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 72 12
71 72
11/21/2022

k-means (cont.) k-means (cont.)


> cum putem decide în mod “automat” numărul de clase? > cum putem decide în mod “automat” numărul de clase (cont.)
> idee: pentru setul de date, încercăm mai multe valori pentru k: > idee: pentru setul de date, încercăm mai multe valori pentru k:

min{E ( ,V )}  873 min{E ( ,V )}  173

date de intrare k=1 date de intrare k=2


spațiul de caracteristici [sursă H. Lin, 15-381 Artificial Intelligence] spațiul de caracteristici [sursă H. Lin, 15-381 Artificial Intelligence]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 73 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 74

73 74

k-means (cont.) k-means (cont.)


> cum putem decide în mod “automat” numărul de clase (cont.) > cum putem decide în mod “automat” numărul de clase (cont.)
> idee: pentru setul de date, încercăm mai multe valori pentru k: > idee: pentru setul de date, încercăm mai multe valori pentru k:

min{E ( ,V )}  133 E(Γ,V)

metoda “elbow finding”

date de intrare k=3


spațiul de caracteristici [sursă H. Lin, 15-381 Artificial Intelligence] [sursă H. Lin, 15-381 Artificial Intelligence]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 75 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 76

75 76

Gaussian Mixture Models Gaussian Mixture Models (cont.)


abordare bazată pe modele; clasele sunt considerate a avea • funcția de densitate de probabilitate:
distribuții Gaussiene ale căror parametri sunt optimizați astfel încât
să se potrivească cel mai bine datelor; dF X ( x )
f X ( x)  , f X ( x)  0
dx
• funcția de repartiție:
unde d/dx reprezintă derivata de ordinul 1.
F X ( x )  P{ X  x } x

unde X este o variabilă aleatoare, x reprezintă o valoare iar P{}


P{ X  x }  F X ( x ) 

f X ( t ) dt
reprezintă probabilitatea în sensul statistic.
> aria de sub graficul format de densitatea de probabilitate.
> reprezintă probabilitatea ca realizarea particulară a variabilei x2
aleatoare X să fie mai mică sau egală decât x. P{ x1  X  x 2 }  f
x1
X ( t ) dt
0  FX ( x )  1
P{ X  x}  f X ( x ) dx  P{ x  X  x  dx }
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 77 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 78 13
77 78
11/21/2022

[sursă imagine Wikipedia] [sursă imagine Wikipedia]


Gaussian Mixture Models (cont.) Gaussian Mixture Models (cont.)
• densitate de probabilitate normală, Gaussiană (1D): • densitate de probabilitate normală, Gaussiană (nD):
( x   )2 1
1  1  ( X  )T 1 ( X  )
N ( X ; , ) : f ( x) 
2
e 2 2 N ( X ; , ) : f ( x1,..., xk )  e 2

 2 (2 )k det()
unde X=[x1,…,xk]
unde μ reprezintă media
reprezintă o variabilă f(X) k=2
valorilor și σ este f(x) aleatoare k dimensională,
abaterea pătratică
μ=[μ1,…, μk] reprezintă
medie.
μ vectorul medie (μi este
> 68% din valori sunt media lui xi), Σ este
matricea de covarianță
în intervalul [μ-σ; μ+σ];
(dimensiune k x k),
T reprezintă transpusa,
> 99% din valori sunt -1 reprezintă inversa iar x2
în intervalul x1
det() returnează
[μ-3σ; μ+3σ]. determinantul.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 79 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 80

79 80

Gaussian Mixture Models (cont.) Gaussian Mixture Models (cont.)


> ipoteza GMM: > clasificator: determinarea optimală a acestor distribuții ce se
potrivesc cel mai bine repartiției datelor de intrare în spațiul de
- se presupune faptul caracteristici (amestec de Gaussiene - GMM);
că avem la îndemână k s1 s2
surse de date; μ1 > optimizare = algoritm Expectation-Maximization (EM);
- fiecare sursă i μ2
> date de intrare:
generează date de
medie μi și matrice de - instanțele de clasificat în k clase:
covarianță Σi (distribuție
μk
X  { X 1 , X 2 ,..., X m }  c1 ,..., c k ;
Gaussiană);
sk - probabilitățile celor k surse:
- astfel, pentru o sursă
i, de probabilitate pi,
spațiul de caracteristici p1 ,..., p k
datele generate de - valorile medii și matricele de covarianță:
aceasta au distribuție ~N(μi,Σi).
1 ,...,  k ,  1 ,...,  k
[Andrew W. Moore]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 81 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 82

81 82

Gaussian Mixture Models (cont.) Gaussian Mixture Models (cont.)


> algoritm GMM + EM: > algoritm GMM + EM (cont.):

p1. se alege numărul de surse k (= numărul de clase); p3. sunt calculate clasele estimate (Expectation-step; cont):
p2. se inițializează parametrii de intrare, pi, μi, Σi cu i=1,...,k P { X j | c i ,  }  P {c i |  }
(ex. valori aleatorii); P {c i | X j ,  } 
  {1 ,...,  k ,  1 ,...,  k , p1 ,..., p k } P{ X j |  }

p3. sunt calculate clasele estimate (Expectation-step): P { X j | c i ,  }  P {c i |  }  P { X j | c i ,  i ,  i }  p i


P { X j | c i ,  }  P {c i |  }
P {c i | X j ,  }  se eval. k

P{ X j |  } N(Xj;μi,Σi) P{ X j |  }   P{ X
i 1
j | ci ,  i ,  i }  p i
se eval.
P { X j | c i ,  }  P {c i |  }  P { X j | c i ,  i ,  i }  p i N(Xj;μi,Σi)

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 83 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 84 14
83 84
11/21/2022

Gaussian Mixture Models (cont.) Gaussian Mixture Models (cont.)


> algoritm GMM + EM (cont.): > algoritm GMM + EM (cont.):
p4. sunt maximizate mediile și sunt recalculați parametrii p4. sunt maximizate mediile și sunt recalculați parametrii
(Maximization-step): (Maximization-step; cont.):
m

 P {c | X j, }  X m

 P {c | X j , }
i j
j 1
i  m j 1
i

pi 
 P {c
j 1
i | X j, } m
m
p5. dacă parametrii de intrare, în urma actualizării, se schimbă
 P {c
j 1
i | X j ,  }[ X j   i ][ X j   i ]T foarte puțin -> STOP;
i  m
p6. altfel se repetă procesul cu pasul 3.
 P {c
j 1
i | X j,}

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 85 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 86

85 86

Gaussian Mixture Models (cont.) Gaussian Mixture Models (cont.)


> exemplu: iterația 0 > exemplu: iterația 1
- inițializare: - în urma actualizării
se redistribuie
- k=3;
probabilitățile claselor,
- probabilități surse medii și matricea de
egale (0.33); covarianță ...

- medii;

- matrice de
covarianță.

- calcul probabilități de
apartenență la
distribuții;
spațiul de caracteristici [sursă Andrew W. Moore] spațiul de caracteristici [sursă Andrew W. Moore]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 87 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 88

87 88

Gaussian Mixture Models (cont.) Gaussian Mixture Models (cont.)


> exemplu: iterația 2 > exemplu: iterația 3

- în urma actualizării - în urma actualizării


se redistribuie se redistribuie
probabilitățile claselor, probabilitățile claselor,
medii și matricea de medii și matricea de
covarianță ... covarianță ...

spațiul de caracteristici [sursă Andrew W. Moore] spațiul de caracteristici [sursă Andrew W. Moore]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 89 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 90 15
89 90
11/21/2022

Gaussian Mixture Models (cont.) Gaussian Mixture Models (cont.)


> exemplu: iterația 4 > exemplu: iterația 5

- în urma actualizării - în urma actualizării


se redistribuie se redistribuie
probabilitățile claselor, probabilitățile claselor,
medii și matricea de medii și matricea de
covarianță ... covarianță ...

spațiul de caracteristici [sursă Andrew W. Moore] spațiul de caracteristici [sursă Andrew W. Moore]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 91 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 92

91 92

Gaussian Mixture Models (cont.) Gaussian Mixture Models (cont.)


> exemplu: iterația 6 > exemplu: iterația 20

- în urma actualizării - în urma actualizării


se redistribuie se redistribuie c1 c2
probabilitățile claselor, probabilitățile claselor,
medii și matricea de medii și matricea de
covarianță ... covarianță ...

- rezultă repartiția
optimală în clase de
distribuție normală.
c3

spațiul de caracteristici [sursă Andrew W. Moore] spațiul de caracteristici [sursă Andrew W. Moore]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 93 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 94

93 94

Gaussian Mixture Models (cont.)

> avantaje:
- interpretabilitate: determină un model de generare a datelor
(se pot genera date noi);
- relativ eficient, complexitate O(m x k x nr.iterații); > Sfârşit M3
- extensibil la alt tip de distribuții de date.

> dezavantaje:
- EM conduce de regulă la un minim local – depinde de
inițializare;
- numărul de clase trebuie determinat a priori;

- mai puțin eficient pentru clase de formă ne convexă.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 95 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 96 16
95 96
12/5/2022

Facultatea de Electronică, Universitatea


AI Multimedia Lab
Telecomunicaţii şi Politehnica din

Plan Curs
Tehnologia Informaţiei https://www.aimultimedialab.ro/
Bucureşti

M1. Introducere (concept, aplicații)


Tehnici de analiză și clasificare M2. Prelucrarea și reprezentarea datelor de intrare
automată a informației
M3. Tehnici de clasificare ne-supervizată (“clustering”)

Prof. dr. ing. Bogdan IONESCU M4. Tehnici de clasificare supervizată (“classification”)
https://bionescu.aimultimedialab.ro/
M5. Evaluarea performanței clasificatorilor

Bucureşti, 2022 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 2

1 2

Clasificare supervizată (classification) - principiu

classification = partiționarea datelor de intrare în mulțimi similare


> M4. Tehnici de clasificare pe baza unor exemple a priori de astfel de partiții (date de antrenare);

supervizată (“classification”)
4.1. [ Introducere ] clasa 1

4.2. [ k-NN ]
+ clasa 2
4.3. [ Support Vector Machines ]
4.4. [ Arbori de decizie ]
clasa 3

clasa 4
date de intrare date de antrenare

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 3 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 4

3 4

Clasificare supervizată (classification) – principiu (cont.) Clasificare supervizată (classification) – principiu (cont.)

classification = partiționarea datelor de intrare în mulțimi similare classification = partiționarea datelor de intrare în mulțimi similare
pe baza unor exemple a priori de astfel de partiții (date de antrenare); pe baza unor exemple a priori de astfel de partiții (date de antrenare);

clasa 1 clasa 2

date de intrare partiționare date de intrare partiționare

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 5 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 6

5 6

1
12/5/2022

Clasificare supervizată (classification) - principiu (cont.) Clasificare supervizată (classification) - principiu (cont.)

classification = partiționarea datelor de intrare în mulțimi similare classification = partiționarea datelor de intrare în mulțimi similare
pe baza unor exemple a priori de astfel de partiții (date de antrenare); pe baza unor exemple a priori de astfel de partiții (date de antrenare);

clasa 3 clasa 4

date de intrare partiționare date de intrare partiționare

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 7 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 8

7 8

Clasificare supervizată (classification) - principiu (cont.) k-NN

classification = partiționarea datelor de intrare în mulțimi similare datele de intrare sunt clasificate pe baza unui vot majoritar cu privire
pe baza unor exemple a priori de astfel de partiții (date de antrenare); la clasa de apartenență a celor mai apropiați k vecini;

> date de intrare:


- date de antrenare:
[Y1 ϵ c1,Y2 ϵ c2, ... ,Ym ϵ cm], Yj=[yj,1,…,yj,n], cj ϵ {1,…,C}

- date de clasificat:
Xi=[xi,1,…,xi,n], i=1,...,n;

> algoritm:

p1. se alege o valoare pentru k (ex. 1, 3, 5 etc);

> antrenare:
date de intrare p2. sunt stocate datele etichetate (lazy classifier);

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 9 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 10

9 10

k-NN (cont.) k-NN (cont.)


> algoritm (cont.): > exemplu 1 (k=3): date de antrenare

> clasificare:
p3. pentru fiecare instanță de clasificat, Xi, se calculează
distanța către toate datele de antrenare, Yj, j=1,...,m;
dată de clasificat
p4. se determină cele mai apropiate k date de antrenare;
Yj
p5. instanța Xi este clasificată ca aparținând clasei
predominante din cele k date deja etichetate (vot majoritar);

p6. procesul se repetă până când sunt clasificate toate


instanțele de intrare.
spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 11 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 12

11 12

2
12/5/2022

k-NN (cont.) k-NN (cont.)


> exemplu 1 (k=3; cont.): date de antrenare > exemplu 2 (k=5): date de antrenare

dată de clasificat dată de clasificat


Yj Yj

> Obs.: număr


egal pentru
albastru și
spațiul de caracteristici spațiul de caracteristici verde?

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 13 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 14

13 14

[sursă imagine Wikipedia] [sursă imagine Wikipedia]


k-NN (cont.) k-NN (cont.)
> exemplu 3: date de antrenare > exemplu 3 (cont.): harta de clasificare, k=1

spațiul de caracteristici spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 15 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 16

15 16

[sursă imagine Wikipedia]


k-NN (cont.) k-NN (cont.)
> exemplu 3 (cont.): harta de clasificare, k=5 > alegere valoare k;

- ce se întâmplă dacă k este prea mic?


[alegerea clasei este sensibilă la “zgomot” – clase
ne-majoritare pot influența decizia ] vecinătate

- ce se întâmplă dacă k este


prea mare?
[alegerea clasei poate fi
influențată de o altă
clasă predominantă dar
care este la o distanță
semnificativă]
- “rule of thumb”
data de
spațiul de caracteristici k m clasificat
date de antrenare

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 17 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 18

17 18

3
12/5/2022

k-NN (cont.) k-NN (cont.)


> îmbunătățire decizie (exemplu 2, k=5); date de antrenare > avantaje:
dată de clasificat - poate fi aplicat datelor de orice tip de distribuție (ex. nu
neapărat linear separabile);
> număr egal de - simplu și intuitiv;
clase
“majoritare” ? - eficient când numărul de date de antrenare este foarte mare.
Yj > îmbunătățire: > dezavantaje:
ponderarea
contribuției - alegerea valorii lui k;
vecinilor la votul - complexitate matematică ridicată - nu există o etapă
majoritar:
preliminară de antrenare (care poate fi realizată offline);
w 1
- pentru o bună performanță necesită un număr semnificativ de
spațiul de caracteristici d ( X ,Y )2
i j exemple (avantaj și dezavantaj).

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 19 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 20

19 20

Support Vector Machines Support Vector Machines (cont.)

Datele de intrare sunt împărțite în două clase prin optimizarea - clasificator liniar: se determină o funcție liniară (cont.):
ecuației unui hiperplan astfel încât distanța la date este maximă;  0 clasa( 1)
f (X )  
> date de intrare: f (X )  0 f (X )  0  0 clasa( 1) f (X )  0
- date de antrenare: Yj - funcția reprezintă ecuația
[Y1 ϵ c1, ... ,Ym ϵ cm], unui hiperplan: Y3
cj ϵ {+1,-1}, Yj=[yj,1,…,yj,n];
f ( X )  wT  X  b
- date de clasificat: b
unde w și b reprezintă vectorul
Xi=[xi,1,…,xi,n], i=1,...,n; normal la hiperplan și respectiv || w ||
decalajul față de origine; Y6
- clasificator liniar: se
determină o funcție liniară: f (Y3 )  wT  Y3  b  0
 0 clasa( 1) w
f (X )   f (Y6 )  wT  Y6  b  0
 0 clasa( 1) spațiul de caracteristici f (X )  0 spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 21 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 22

21 22

Support Vector Machines (cont.) Support Vector Machines (cont.)


- formulare clasificator: având la dispoziție datele de antrenare, - alegere hiperplan;
să se determine parametrii w și b ai hiperplanului care separă - datele de antrenare
cel mai bine datele; cele mai apropiate de
ρ
- clasificarea datelor noi se hiperplan se numesc
face prin: vectori suport;
Yj
f ' ( X i )  sgn(wT  X i  b) Yj - distanța dintre vectorii
suport definesc o
1 x0 margine ρ;
sgn( x )  
 1 x  0 - soluție: separarea
datelor se face cu
- cum determinăm hiperplanul ce
hiperplanul care separă cel maximizează pe ρ;
mai bine datele?
spațiul de caracteristici
spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 23 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 24

23 24

4
12/5/2022

Support Vector Machines (cont.) Support Vector Machines (cont.)


- alegere hiperplan (cont.); - alegere hiperplan (cont.);
- dacă: - cum determinăm
valoarea lui ρ?
ρ wT  X  b  0 ρ
Y wT  Y  b
Y+ atunci și: Y+
 
c( w  X  b)  0
T
d || w ||
astfel, putem normaliza wT  Y  b 2
 
valorile astfel încât: || w || || w ||
Y+ Y+
wT  Y  b  1
- care este distanța de la
wT  Y  b  1 un vector Y la hiperplan?
Y- Y-
unde Y+ și respectiv Y- wT  Y  b
sunt vectorii suport din d
spațiul de caracteristici planul + și respectiv -; spațiul de caracteristici || w ||

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 25 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 26

25 26

Support Vector Machines (cont.) Support Vector Machines (cont.)


- clasificatorul rezultat (formulare matematică): - clasificatorul rezultat (formulare matematică; cont.):
- având m date de antrenare, {(Yj,cj)}, cu j=1,…,m, - pentru fiecare vector suport, Yjs, inegalitate devine egalitate:
Yj=[yj,1,…,yj,n] și cjϵ{-1;+1}, acestea sunt separate de un

hiperplan de margine ρ; c j ( w T  Y js  b ) 
2
- pentru fiecare set {(Yj,cj)}, avem:
- astfel, distanța de la Yjs la hiperplan devine:

wT Y j  b   dacă c j  1 c j ( w T  Y js  b ) 1
2 d  
|| w || || w ||

wT Y j  b  dacă c j  1
2 - deci marginea ρ este:

 2
 c j ( wT Y j  b)   
2 || w ||

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 27 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 28

27 28

2
Support Vector Machines (cont.)   Support Vector Machines (cont.)
|| w ||
- clasificatorul rezultat (formulare matematică; cont.): - clasificatorul rezultat (formulare matematică; cont.):

- în aceste condiții antrenarea clasificatorului poate fi să se determine w și b astfel încât să fie minimizat ||w||2=wTw, cu
condiția că pentru toate {(Yj,cj)}: c j ( w  Y j  b )  1
T
formulată ca:
normalizare la ρ/2
să se determine w și b astfel încât să fie maximizat ρ, cu condiția că
pentru toate datele de antrenare {(Yj,cj)}: c j ( w  Y j  b )  1
T
- soluție folosind multiplicatorii Lagrange:
normalizare la ρ/2
să se determine α1,..., αm astfel încât să maximizăm:
- și mai departe reformulată ca (minimizare):
1
să se determine w și b astfel încât să fie minimizat ||w||2=wTw, cu
i
i     i  j c i c jY i T Y j
2 i j
condiția că pentru toate {(Yj,cj)}: c j ( w  Y j  b )  1
T
cu următoarele ipoteze:
normalizare la ρ/2 (1)   j c j  0
j
= o problemă de optimizare pătratică (bine studiată în literatură); (2)  i  0 pentru   i

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 29 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 30

29 30

5
12/5/2022

Support Vector Machines (cont.) Support Vector Machines (cont.)


- clasificatorul rezultat (formulare matematică; cont.): - SVM liniar “hard margin”:

să se determine α1,..., αm astfel încât să maximizăm: w  j c jY j


1
i  i  2 i j  i j ci c jYi T Y j
j

b  ck   j c jY jT Y k   k  0
cu următoarele ipoteze: j
(1)   j c j  0 - fiecare valoare α non-nulă indică un vector suport;
j

(2)  i  0 pentru   i - clasificatorul este dat de:

 w  j c jY j f linSVM ( X i )  j
j c jY jT X i  b
j
unde Xi=[xi,1,…,xi,n], i=1,...,n, sunt datele de clasificat;
 b  ck   j
j c jY jT Y k   k  0

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 31 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 32

31 32

Support Vector Machines (cont.) Support Vector Machines (cont.)


- SVM “soft margin”: - SVM “soft margin” (cont.):
- ce putem face în - formulare “hard margin”:
această situație?
ρ
să se determine w și b astfel încât să fie minimizat ||w||2=wTw, cu
condiția că pentru toate {(Yj,cj)}: c j ( w  Y j  b )  1
T
Yj - o variantă este aceea
ζj normalizare la ρ/2
de a adauga un set de
ζk variabile (soft) care să-mi - formulare “soft margin”:
permită să reduc
clasificările greșite,
să se determine w și b astfel încât să fie minimizat w T w  C 
j
j

dificile sau afectate de cu condiția că pentru toate {(Yj,cj)}: c j ( w  Y j  b )  1   j ,  j  0


T

zgomot
normalizare la ρ/2
= “soft margin” SVM;
- parametrul C poate fi văzut ca o modalitate de a controla
adaptarea excesivă la datele de antrenare (“overfitting”):
spațiul de caracteristici compromis între maximizare margine și adaptare la date.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 33 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 34

33 34

Support Vector Machines (cont.) Support Vector Machines (cont.)


- SVM “soft margin” (cont.): - SVM “soft margin” (cont.):
- soluție folosind multiplicatorii Lagrange (acceași formulare):
w  j c jY j
să se determine α1,..., αm astfel încât să maximizăm: j

 i 
1
   i c c jY i T Y j
j i
b  c k (1   k )   j c jY jT Y k   k  0
i 2 i j
j
- fiecare valoare α non-nulă indică un vector suport;
cu următoarele ipoteze:
(1)   j c j  0
j - clasificatorul este dat de:
(2)  i  0 pentru   i
f softSVM ( X i )   c jY jT X i  b
  j c jY j
j
 w j
j
unde Xi=[xi,1,…,xi,n], i=1,...,n, sunt datele de clasificat;
 b  c k (1   k )  
j
j c jY jT Y k   k  0

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 35 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 36

35 36

6
12/5/2022

Support Vector Machines (cont.) Support Vector Machines (cont.)


- ce se întâmplă dacă datele nu sunt liniar separabile? - abordare neliniară;
[transformare a spațiului astfel încât separabilitatea să fie posibilă]
f linSVM ( X i )   j
j c jY jT X i  b
produse XTX
unde Xi=[xi,1,…,xi,n], i=1,...,n, sunt datele de clasificat;

X → φ(X)
b  ck  
j
j c jY jT Y k

- “kernel trick” (vezi și M3, k-means) - produsele XTX sunt


transformate printr-o funcție neliniară:

K (Y j , Y k )  Y jT Y k K ( Y j , Y k )   ( Y j ) T  (Y k )
spațiul de caracteristici
[liniar] [neliniar]
[sursă Machine Learning Group, Univ. of Texas]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 37 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 38

37 38

Support Vector Machines (cont.) Support Vector Machines (cont.)


- abordare neliniară: “kernel trick” (cont.); - abordare neliniară: “kernel trick” (cont.);

- funcțiile nucleu trebuie să fie semi-pozitiv definite și simetrice; să se determine α1,..., αm astfel încât să maximizăm:
1
- exemple de funcții uzuale folosite pentru SVM:
i
i     i j c i c j K ( Y i , Y j )
2 i j
K (Y j , Y k )  Y jT Y k liniar cu următoarele ipoteze:
(1)   j c j  0
K (Y j , Y k )  (1  Y jT Y k ) p polinomial j

(2)  i  0 pentru   i
||Y j  Y k ||2
 Gaussiană
K (Y j , Y k )  e 2 2
- clasificatorul este dat de:
(Radial Basis Function)
n
( y j ,i  y k ,i ) 2 f neliniarSV M (Xi)   j c j K (Y j , X i )  b
K (Y j , Y k )  1  2  Chi-Square j

i 1 ( y j ,i  y k ,i ) unde Xi=[xi,1,…,xi,n], i=1,...,n, sunt datele de clasificat;

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 39 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 40

39 40

Support Vector Machines (cont.) Support Vector Machines (cont.) cum luăm decizia de
clasificare?
- ce se întâmplă dacă datele de clasificat sunt multi-clasă? - clasificare multi-clasă (cont.):
arg maxc1,...,C { f SVMc ( X i )}
(SVM este nativ un clasificator binar)
[formăm un clasificator multiclasă] abordare 1 - one-vs.-all

- sunt creați C Xi f SVM1 ( X i )   j c jY jT X i  b


> date de intrare: SVM1 j
clasa 1 clasificatori SVM (câte
- date de antrenare: unul pentru fiecare
{(Yj,cj)}, j=1,…,m, clasă); Xi f SVM2 ( X i )   j c jY jT X i  b
Yj=[yj,1,…,yj,n], SVM2 j
clasa 2 - clasificatorii sunt
cjϵ{1,...,C}; antrenați cu datele de
antrenare modificate ca, ...
- date de clasificat: ... exemplu SVM2:
Xi=[xi,1,…,xi,n], i=1,...,n; Xi f SVMC ( X i )   j c jY jT X i  b
{(Yj,+1)} dacă cj=2 SVMC j

clasa C {(Yj,-1)} altfel

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 41 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 42

41 42

7
12/5/2022

Support Vector Machines (cont.) cum luăm decizia de Arbori de decizie (Decision Trees)
clasificare? vot majoritar
- clasificare multi-clasă (cont.): Datele sunt clasificate prin asocierea observațiilor (date de antrenare)
{(Yj,1)} → {(Yj,+1)} cu o serie de concluzii privind valorile acestora (predicție), ceea ce
abordare 2 - one-vs.-one {(Yj,2)} → {(Yj,-1)} conduce la o reprezentare arborescentă;
+1vot
- sunt creați C’ clasa +1 (real 1)
Xi - punerea problemei, un exemplu simplu:
SVM1,2 sau
clasificatori SVM, câte
clasa -1 (real 2) - să presupunem că avem posibilitatea să realizăm patru
unul pentru fiecare
+1vot activități de weekend:
combinație de două clasa +1 (real 1)
Xi {“cumparături”,“film”,“tenis”,“nimic”}
( C  1) C SVM1,3 sau
clase = x SVM; clasa -1 (real 3) (reprezintă clasele);
2
... - aceste activități depind de o serie de variabile:
- clasificatorii sunt “vreme” ϵ {“vânt”,“ploaie”,“soare”}
etc
antrenați doar cu datele “buget”ϵ {“bogat”,“sărac”}
Xi clasa +1 (real C-1)
de antrenare aferente SVM(C-1),C sau “vizită părinți”ϵ {“da”,“nu”}
celor două clase; clasa -1 (real C) (reprezintă atributele datelor);
[Simon Colton, lectures, 2004]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 43 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 44

43 44

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
- punerea problemei, un exemplu simplu (cont.): - punerea problemei, un exemplu simplu (cont.):
- pe baza cunoștințelor actuale putem asocia valorile atributelor - pentru o serie de valori noi ale atributelor, folosind arborele
unor decizii de activități (clase): ~ etapă de antrenare; creat putem lua o decizie: ~ etapă de clasificare;
nodurile arborelui
da vizită părinți da vizită părinți Sâmbătă 16 Mai:
reprezintă atributele;
“vizită părinți” = “nu”
film nu film nu “vreme” = “soare”
ramurile arborelui
soare vreme ploaie reprezintă soare vreme ploaie
Duminică 17 Mai:
relaționarea valorilor
tenis vânt nimic tenis vânt nimic “vizită părinți” = “nu”
atributelor;
“vreme” = “vânt”
bogat buget sărac frunzele arborelui bogat buget sărac “buget” = “sărac”
reprezintă clasele;
cumpărături film cumpărături film
[Simon Colton, lectures, 2004] [Simon Colton, lectures, 2004]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 45 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 46

45 46

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
- antrenarea arborelui (metoda ID3 - Iterative Dichotomiser 3); - antrenarea arborelui (metoda ID3; cont.);
- cum selectăm atributele care să fie asociate nodurilor și cum • entropie: în cazul a C clase, unde setul de exemple S are pi %
alegem ordinea (prioritatea) acestora? exemple clasificate în clasa ci, atunci:
C
• entropie: având la dispoziție un sistem binar de clasificare și
un set de exemple S în care p+ % exemple sunt clasificate în
entropy ( S )    p log
i 1
i 2 ( pi )
clasa1 (pozitive) și respectiv p- % în clasa2 (negative) atunci:
• câștig informațional (“information gain”): pentru un atribut A,
entropy ( S )   p  log 2 ( p  )  p  log 2 ( p  ) cu mulțimea de valori posibile {A}, notând cu Sa subsetul de
exemple din S în care atributul A are valoarea a, atunci:
> este o măsură a “purității” datelor pentru o colecție de exemple
| Sa |
(puritate = datele sunt fie toate în clasă sau clasa este goală); gain ( S , A)  entropy ( S )  
a{ A} | S |
entropy ( S a )
p  0  log 2 ( p ) mare, negativ; p log 2 ( p )  0
unde operatorul |.| returnează numărul de elemente al unui set.
p  1  log 2 ( p ) mic,  0; p log 2 ( p )  0 > este o măsură a reducerii entropiei datorată valorii lui A;

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 47 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 48

47 48

8
12/5/2022

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
- antrenarea arborelui (metoda ID3; cont.); atribute - antrenarea arborelui (metoda ID3; cont.);
> date de intrare: > algoritm (cont.): ymax
- date de antrenare S: {(Yj,cj)}, j=1,…,m, Yj=[yj,1,…,yj,n], cjϵ{1,...,C}; > antrenare (cont.): ...
- date de clasificat: Xi=[xi,1,…,xi,n], i=1,...,n; p3. pentru fiecare ramură
calculăm Sv (cu v valoarea cdefault c
> algoritm: ymax asociată ramurii);
> antrenare: ... p4. dacă Sv este mulțimea vidă atunci determinăm clasa
p1. atributul y=ymax pentru care
cdefault care are cele mai multe exemple în setul de antrenare
avem valoarea maximă a
S; aceasta definește frunza ce închide această ramură;
information gain, gain(S,y), relativ
la S este ales drept rădăcină;
p5. dacă Sv conține doar date dintr-o clasă c atunci definim cu
p2. pentru fiecare valoare posibilă a lui ymax (din mulțimea această clasă frunza ce închide ramura;
{ymax}) creăm o ramură;

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 49 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 50

49 50

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
- antrenarea arborelui (metoda ID3; cont.); - antrenarea arborelui (metoda ID3; cont.);
> algoritm (cont.): ymax > algoritm (cont.):
> antrenare (cont.): v > clasificare: ymax
...
p6. dacă Sv nu este conform p4 - pentru un vector X de intrare
și p5 atunci: c v ...
cdefault nu trebuie decât să parcurg
- ymax este eliminat din lista arborele în funcție de valorile cdefault c
potențialelor atribute care atributelor;
definesc noduri; ymax2
- clasa de apartenență a lui X
- determinăm atributul y=ymax2 ... ymax2
este dată de frunza arborelui la
pentru care avem information gain
care ajung în final; ...
maxim relativ la Sv, gain(Sv,y);
- acesta crează un nod nou; ymax3 - procesul de clasificare este
imediat.
- se repetă algoritmul cu pasul 2. ...

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 51 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 52

51 52

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
> exemplu numeric: > exemplu numeric (cont.):
- date de intrare (setul S): - p1: alegere nod rădăcină:
C

  p log
nr. vreme vizită părinți buget decizie C ϵ {film, tenis,
entropy ( S )  i 2 ( pi )
#1 soare da bogat film cumpărături, nimic}
i 1
#2 soare nu bogat tenis
#3 vânt da bogat film entropy ( S )   p film log 2 ( p film )  ptenis log 2 ( p tenis ) 
#4 ploaie da sărac film  p cumparatur i log 2 ( p cumparatur i )  p nimic log 2 ( p nimic )
#5 ploaie nu bogat nimic
#6 ploaie da sărac film
6  6  2  2  1  1 
#7 vânt nu sărac film  log 2    log 2    log 2  
#8 vânt nu bogat cumpărături
10  10  10 10
  10  10 
#9 vânt da bogat film 1  1 
#10 soare nu bogat tenis  log 2    1 .571
10  10 
[Simon Colton, lectures, 2004]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 53 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 54

53 54

9
12/5/2022

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
> exemplu numeric (cont.): A ϵ {vreme, vizită > exemplu numeric (cont.):
părinți, buget}
- p1: alegere nod rădăcină (cont.): - p1: alegere nod rădăcină (cont.):
|S |
gain ( S , A)  entropy ( S )   a entropy ( S a ) gain ( S , vreme )  1 .571 
3
entropy ( S soare ) 
a{ A} | S | 10
3 4 3
gain ( S , vreme )  1 .571  entropy ( S soare )  entropy ( S vant )  entropy ( S ploaie )
10 10 10
4 3
entropy ( S vant )  entropy ( S ploaie )
10 10 entropy ( S ploaie )  0 .918

2 2 1 1 entropy ( S vant )  0 .811 gain ( S , vreme )  0 .7


entropy ( S ploaie )   log 2    0  0  log 2   
3  3 3  3
entropy ( S soare )  0 .918
 0 .918

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 55 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 56

55 56

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
> exemplu numeric (cont.): > exemplu numeric (cont.):

- p1: alegere nod rădăcină (cont.): - p1: alegere nod rădăcină (cont.):

5 7
gain ( S , vizita parinti )  1 . 571  entropy ( S da )  gain ( S , buget )  1 . 571  entropy ( S bogat ) 
10 10
5 3
entropy ( S nu ) entropy ( S sarac )
10 10

entropy ( S da )  0 entropy ( S bogat )  1 .842


gain ( S , vizita parinti ) gain ( S , buget )
entropy ( S nu )  1 .922  0 .61 entropy ( S sarac )  0  0 .2816

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 57 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 58

57 58

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
> exemplu numeric (cont.): > exemplu numeric (cont.):
- p1: alegere nod rădăcină (cont.): vreme - p4: Sploaie, Ssoare, Svânt sunt mulțimea vreme
gain ( S , vreme )  0 .7 vidă? nu;
vânt soare vânt
gain ( S , vizita parinti )  0 .61 soare ploaie - p5: Sploaie, Ssoare, Svânt conțin ploaie
date doar dintr-o clasă? nu; ?
gain ( S , buget )  0 .2816
- p2: creăm ramurile pentru nodul vreme; - p6: determinăm atributul (altul decât vreme) pentru
care obținem information gain maxim:
- p3: calculăm:
entropy ( S soare )   p film log 2 ( p film )  p tenis log 2 ( p tenis ) 
S ploaie  {# 4 , # 5, # 6}, | S ploaie | 3;
 p cumparatur i log 2 ( p cumparatur i )  p nimic log 2 ( p nimic )
S soare  {#1, # 2 , #10}, | S soare | 3;
- valorile sunt calculate pe Ssoare doar;
S vant  {# 3, # 7 , #8, # 9}, | S vant | 4 .

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 59 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 60

59 60

10
12/5/2022

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
> exemplu numeric (cont.): > exemplu numeric (cont.):

- p6: determinăm atributul pentru vreme - p6: determinăm atributul pentru vreme
care obținem information gain care obținem information gain
maxim (cont.): soare vânt maxim (cont.): soare vânt
ploaie ploaie
? ?
entropy ( S soare )  gain ( S soare , vizita parinti ) 
 p film log 2 ( p film )  ptenis log 2 ( p tenis )  1 2
0 .918  entropy ( S da )  entropy ( S nu )
 p cumparatur i log 2 ( p cumparatur i )  p nimic log 2 ( p nimic ) 3 3

1 1 2 2 entropy ( S da )  0


entropy ( S soare )   log 2    log 2    0  0 gain ( S soare , vizita parinti )
3  3 3  3
entropy ( S nu )  0  0 . 918
 0 .918

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 61 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 62

61 62

Arbori de decizie (Decision Trees; cont.) Arbori de decizie (Decision Trees; cont.)
> exemplu numeric (cont.): > exemplu numeric (cont.):
- p6: determinăm atributul pentru vreme - p6: determinăm atributul pentru vreme
care obținem information gain care obținem information gain
maxim (cont.): soare vânt maxim (cont.): soare vânt
ploaie ploaie
? gain ( S soare , vizita parinti ) vizită
gain ( S soare , buget )  părinți
 0 .918
3 0 gain ( S soare , buget )  0
0 .918  entropy ( S bogat )  entropy ( S sarac )
3 3 da nu
- p2: creăm ramurile pentru nodul vizită părinți;
entropy ( S bogat )  0 .918 - p3: calculăm:
gain ( S soare , buget )  0 S da  soare  {#1}, | S da | 1;
entropy ( S sarac )  0
S nu  soare  {# 2 , #10}, | S nu | 2 .

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 63 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 64

63 64

Arbori de decizie (Decision Trees; cont.)


> exemplu numeric (cont.):
- p4: Sda, Snu sunt mulțimea vreme
vidă? nu;
soare vânt
- p5: Sda, Snu conțin date doar ploaie > Sfârşit M4
dintr-o clasă? vizită
părinți
- da, Sda este in categoria film;
da nu
- da, Snu este in categoria tenis;
film tenis

- ... pentru valorile vânt și ploaie se procedează similar ...

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 65 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 66

65 66

11
12/12/2022

Facultatea de Electronică, Universitatea


AI Multimedia Lab
Telecomunicaţii şi Politehnica din

Plan Curs
Tehnologia Informaţiei https://www.aimultimedialab.ro/
Bucureşti

M1. Introducere (concept, aplicații)


Tehnici de analiză și clasificare M2. Prelucrarea și reprezentarea datelor de intrare
automată a informației
M3. Tehnici de clasificare ne-supervizată (“clustering”)

Prof. dr. ing. Bogdan IONESCU M4. Tehnici de clasificare supervizată (“classification”)
https://bionescu.aimultimedialab.ro/
M5. Evaluarea performanței clasificatorilor

Bucureşti, 2022 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 2

1 2

Evaluarea performanței unui sistem - principiu

Având la dispoziție un sistem de clasificare și un set de parametri de


> M5. Evaluarea performanței intrare, cum putem evalua performanța acestuia?

clasificatorilor
5.1. [ Introducere ]
clasa 1
5.2. [ Măsuri de performanță ]
5.3. [ Evaluarea performanței ] clasificator 1

5.4. [ Exemple de sisteme de clasificare ] clasa 2

date de intrare clasa 3

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 3 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 4

3 4

Evaluarea performanței unui sistem – principiu (cont.) Evaluarea performanței unui sistem – principiu (cont.)

clasa 1 clasa 1

clasificator 2 clasificator n

clasa 2
clasa 2

date de intrare clasa 3 date de intrare clasa 3


clasa 4

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 5 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 6

5 6

1
12/12/2022

Evaluarea performanței unui sistem – principiu (cont.) Evaluarea performanței unui sistem – principiu (cont.)

> Observație: poate fi vorba de același clasificator > Observație: poate fi vorba de același clasificator
clasificator 1 dar pentru diferite valori ale parametrilor, exemplu clasificator 1 dar pentru diferite valori ale parametrilor, exemplu
nucleu SVM, valoare k pentru k-NN, etc nucleu SVM, valoare k pentru k-NN, etc

Idee 1: pentru evaluarea rezultatelor folosesc un Idee 2: am nevoie de o măsură matematică prin
clasificator 2 operator uman care analizează manual clasele; clasificator 2 care să verific corespondența dintre apartenența
[evaluare subiectivă] reală la clase a datelor și cea determinată în mod
automat de clasificator; [evaluare obiectivă]
... ...
- înseamnă că știu deja rezultatul pentru
datele de clasificat?
clasificator n clasificator n
clasa 2
clasa 3
clasa 1
$$$

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 7 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 8

7 8

Evaluarea performanței unui sistem – principiu (cont.) Evaluarea performanței unui sistem – principiu (cont.)

1. determin un subset de date (S)


4. clasificatorul este optimizat
pentru care cunosc/determin
(alegere parametri) folosind
apartenența la clase
Santrenare pentru antrenare și
(ground truth)
verificare performanță pe Stestare;
> suficient de mare cât să fie
reprezentativ pentru restul 5. odată clasificatorul optimizat
Stestare datelor; acesta este aplicat datelor
Stestare
2. determin un subset Santrenare pe necunoscute de clasificat
Santrenare care voi antrena clasificatorul; Santrenare (sperând cel puțin să mențină
performanța obținută pe setul S);
3. clasificatorul este testat pe
- cum evaluăm performanța la
date de clasificat S - Santrenare = Stestare
date de clasificat pasul 3 & 4? calculul unor erori;
(dependente de aplicație) (cunosc ground truth);
(dependente de aplicație)

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 9 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 10

9 10

Măsuri de performanță Măsuri de performanță (cont.)


> să considerăm cazul unul clasificator binar, ciϵ{1,2};
clasa 1
- date de antrenare (Santrenare):
{(Yj,cj)}, j=1,…,m, TP, FP, TN, FN
Yj=[yj,1,…,yj,n],
clasa 2 realitate (gound truth)
cjϵ{1,...,C};
urma clasificării

clasificator c1* c2
rezultat în

- date de clasificat (Stestare): ... c1 TP


{(Xi,ci)}, i=1,…,n,
Xi=[xi,1,…,xi,n], c2
ciϵ{1,...,C}; clasa C

{(Xi,c’i)},
i=1,…,n, TP – True Positive, clasificare corectă, în realitate data este în
c1 iar în urma clasificării am obținut aceeași clasă;
comparare

*clasa principală vizată de clasificator (ex. da vs. nu).


Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 11 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 12

11 12

2
12/12/2022

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.); > să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.);

TP, FP, TN, FN (cont.) TP, FP, TN, FN (cont.)


realitate (gound truth) realitate (gound truth)
urma clasificării

urma clasificării
c1 * c2 c1* c2
rezultat în

rezultat în
c1 TP FP c1 TP FP

c2 c2 FN

FP – False Positive, clasificare falsă, în realitate data este în FN – False Negative, non detecție, în realitate data este în c1
c2 iar în urma clasificării am obținut că ar fi în c1; iar în urma clasificării am obținut că ar fi în c2;

*clasa principală vizată de clasificator (ex. da vs. nu). *clasa principală vizată de clasificator (ex. da vs. nu).
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 13 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 14

13 14

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.); > să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.);

TP, FP, TN, FN (cont.) Precision/Recall


realitate (gound truth) realitate (gound truth)
urma clasificării

urma clasificării
c1* c2 c1* c2
rezultat în

rezultat în

c1 TP FP c1 TP FP

c2 FN TN c2 FN TN

TP - măsură a falselor clasificări;


TN – True Negative, clasificare corectă pentru clasa opusă, în
Precision 
realitate data este în c2 iar în urma clasificării obținem tot c2; TP  FP - FP=0 rezultă 100%.

*clasa principală vizată de clasificator (ex. da vs. nu). *clasa principală vizată de clasificator (ex. da vs. nu).
Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 15 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 16

15 16

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.); > să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.);

TP TP
Precision/Recall (cont.) Precision/Recall (cont.) Precision  , Recall 
TP  FP TP  FN
realitate (gound truth)
- exemplu numeric #1 (c1 = film, c2 = nimic);
urma clasificării

c1* c2
rezultat în

nr. vreme vizită părinți buget decizie ground truth


#1 soare da bogat film film
c1 TP FP
#2 soare nu bogat nimic nimic
c2 FN TN #3 vânt da bogat nimic film
#4 ploaie nu bogat film nimic
#5 ploaie da sărac film film
TP - măsură a non-detecțiilor;
Recall  #6 vânt nu sărac film film
TP  FN - FN=0 rezultă 100%. #7 vânt nu bogat film nimic

*clasa principală vizată de clasificator (ex. da vs. nu). TP = 3 , FP = 2 , FN = 1 , Precision = 60% , Recall = 75%

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 17 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 18

17 18

3
12/12/2022

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.); > să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.);

TP TP TP TP
Precision/Recall (cont.) Precision  , Recall  Precision/Recall (cont.) Precision  , Recall 
TP  FP TP  FN TP  FP TP  FN
- exemplu numeric #2 (c1 = film, c2 = nimic); - ce este mai important, precision sau recall?
nr. vreme vizită părinți buget decizie ground truth
- ce este mai important să obținem, cât mai puține clasificări false
#1 soare da bogat film film sau cât mai puține non-detecții?
#2 soare nu bogat film nimic
#3 vânt da bogat film film
- depinde de aplicație!
#4 ploaie nu bogat film nimic • web: ex. sistem de căutare a informației; cât de important este
#5 ploaie da sărac film film să găsim toate datele de un anumit tip de pe tot Internet-ul?
#6 vânt nu sărac film film
• forensics: ex. sistem de căutare a unei persoane pe baza
#7 vânt nu bogat film nimic profilului; cât de important este să găsim toate persoanele care
TP = 4 , FP = 3 , FN = 0 , Precision = 57% , Recall = 100% corespund profilului căutat?

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 19 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 20

19 20

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.); > să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.);

F-measure Accuracy

- există o măsură care combină precision și recall într-un - o măsură a numărului de clasificări corecte:
mod unitar: realitate (gound truth)
Precision  Recall
urma clasificării

F - measure  (1   ) 2 2
c1* c2
rezultat în

  Precision  Recall
unde β este o constantă: c1 TP FP

Precision  Recall [contribuție egală, c2 FN TN


  1  F1  2
Precision  Recall medie armonică]

Precision  Recall TP  TN - TP + FP + FN + TN =
  2  F2  5
[pondere mai mare Accuracy 
4  Precision  Recall Recall] TP  FP  FN  TN numărul total de date;

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 21 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 22

21 22

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.); > să considerăm cazul unul clasificator binar, ciϵ{1,2} (cont.);

Mean Average Precision (MAP) Mean Average Precision (MAP; cont.)


- o măsură a preciziei medii; spre deosebire the Precision și
Recall, MAP ține cont de ordinea în care sunt clasate datele (mai n unde #rel reprezintă numărul de date
important să avem rezultate corecte în primele rezultate);  P(k )  rel(k ) relevante existente în clasa curentă, n
reprezintă numărul de date de clasificat, P(k)
AP  k 1
reprezintă Precision calculat pentru primele k
- o metrică adaptată unui scenariu de tip “information retrieval” în # rel
date, rel(k) = 1 dacă data de pe poziția k este
care rezultatele sunt ordonate în ordinea descrescătoare a
relevantă pentru clasă și 0 altfel;
asemănării cu datele căutate (echivalent clasă);

- cum poate fi adaptată pentru problema clasificării? Q unde q reprezintă clasele (adoptat din notație
1
[reprezentăm datele clasificate în ordinea descrescătoare a MAP 
Q
 AP ( q )
q 1
inițială unde reprezenta “query”) iar Q este
numărul de clase în care clasificăm datele.
măsurii de încredere (“confidence level”) furnizată de clasificator,
astfel obținem o ordonare a acestora]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 23 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 24

23 24

4
12/12/2022

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul general, multiclasă, ciϵ{1,...,C}; > să considerăm cazul general, multiclasă, ciϵ{1,...,C} (cont.);
cum se aplică măsurile de perfomanță definite anterior?
Confusion Matrix (cont.)
> sunt calculate pentru fiecare clasă vizată în parte, “one-vs-all”.
rezultat în urma clasificării

Confusion Matrix c1 c2 … cC
rezultat în urma clasificării c1 5 2 … 1

(gound truth)
realitate
c1 c2 … cC c2 0 6 … 0
c1 5 2 … 1 … … … …
(gound truth)

… câte date care erau în realitate în clasa c2 au


realitate

c2 0 6 … 0 cC fost1clasificate
10de fapt în …
c2; 3
… … … … …
câte date care erau în realitate în clasa c2 au
fost1clasificate de fapt în …
c 1; > cum arată matricea de confuzie pentru un sistem de clasificare
cC 10 3 perfect? diagonală

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 25 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 26

25 26

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul general, multiclasă, ciϵ{1,...,C} (cont.); > să considerăm cazul general, multiclasă, ciϵ{1,...,C} (cont.);

Confusion Matrix (cont.) c2: TP = 6 Confusion Matrix (cont.) c2: TP = 6 , FP = 14


rezultat în urma clasificării rezultat în urma clasificării
c1 c2 ci cC c1 c2 ci cC
c1 5 2 3 1 c1 5 2 3 1
(gound truth)

(gound truth)
realitate

realitate

c2 0 6 1 0 c2 0 6 1 0
ci 1 2 11 3 ci 1 2 11 3
cC 1 10 0 3 cC 1 10 0 3

> putem pe baza matricei de confuzie să estimăm valorile TP, > putem pe baza matricei de confuzie să estimăm valorile TP,
FP, TN, FN (și astfel Precision/Recall)? să luăm exemplu pe c2 FP, TN, FN (și astfel Precision/Recall)? să luăm exemplu pe c2

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 27 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 28

27 28

Măsuri de performanță (cont.) Măsuri de performanță (cont.)


> să considerăm cazul general, multiclasă, ciϵ{1,...,C} (cont.); > să considerăm cazul general, multiclasă, ciϵ{1,...,C} (cont.);

Confusion Matrix (cont.) c2: TP = 6, FP = 14, FN = 1 Confusion Matrix (cont.) c2: TP = 6, FP = 14, FN = 1 , TN = 19
rezultat în urma clasificării rezultat în urma clasificării
c1 c2 ci cC c1 c2 ci cC
c1 5 2 3 1 c1 5 2 3 1
(gound truth)

(gound truth)
realitate

realitate

c2 0 6 1 0 c2 0 6 1 0
ci 1 2 11 3 ci 1 2 11 3
cC 1 10 0 3 cC 1 10 0 3

> putem pe baza matricei de confuzie să estimăm valorile TP, > putem pe baza matricei de confuzie să estimăm valorile TP,
FP, TN, FN (și astfel Precision/Recall)? să luăm exemplu pe c2 FP, TN, FN (și astfel Precision/Recall)? să luăm exemplu pe c2

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 29 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 30

29 30

5
12/12/2022

Măsuri de performanță (cont.) Evaluarea performanței


> să considerăm cazul general, multiclasă, ciϵ{1,...,C} (cont.); > clasificatorul este antrenat/optimizat
pe date cunoscute;
Confusion Matrix (cont.) = antrenăm pe Santrenare, testăm
rezultat în urma clasificării performanță pe Stestare, modificăm
clasificator/parametri până obținem
c1 c2 ci cC
cele mai bune rezultate;
c1 5 2 3 1
(gound truth)

> cum alegem partiționarea setului


realitate

Stestare
c2 0 6 1 0 cunoscut astfel încât să asigurăm
generalizarea maximă pentru
ci 1 2 11 3 Santrenare rezultatele obținute?
cC 1 10 0 3 = clasificatorul se “va descurca” cu
performanțe cel puțin superioare
> cum determinăm Accuracy? = date de clasificat celor obținute pe datele cunoscute,
(dependente de aplicație)
(5 + 6 + 11 + 3) / (5 + 2 + 3 + 1 + 6 + 1 + 1 + 2 + 11 + 3 + 1 + 10 + 3) pe datele reale, necunoscute.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 31 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 32

31 32

[Andrew W. Moore] [Andrew W. Moore]


Evaluarea performanței (cont.) Evaluarea performanței (cont.)
> să considerăm un exemplu particular: regresia; % Split ex. 70% - Santrenare / 30% - Stestare
[având la dispoziție un
set de date, trebuie să > datele sunt împărțite
determinăm ecuația în mod aleator în x%
care se potrivește cel pentru Santrenare și
mai bine acestora; (100-x)% pentru Stestare;
“prezicem” astfel
comportamentul > să reluăm exemplul
datelor] anterior al regresiei;
- regresie liniară;
- regresie pătratică; > regresie liniară:
- unim punctele;
eroare pătratică
care variantă este cea medie = 2.4
spațiul de caracteristici spațiul de caracteristici
mai bună?

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 33 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 34

33 34

[Andrew W. Moore] [Andrew W. Moore]


Evaluarea performanței (cont.) Evaluarea performanței (cont.)

% Split (cont.) ex. 70% - Santrenare / 30% - Stestare % Split (cont.) ex. 70% - Santrenare / 30% - Stestare

> datele sunt împărțite > datele sunt împărțite


în mod aleator în x% în mod aleator în x%
pentru Santrenare și pentru Santrenare și
(100-x)% pentru Stestare; (100-x)% pentru Stestare;

> să reluăm exemplul > să reluăm exemplul


anterior al regresiei anterior al regresiei
(cont.); (cont.);

> regresie pătratică: > unire puncte:

eroare pătratică eroare pătratică


medie = 0.9 spațiul de caracteristici medie = 2.2 spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 35 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 36

35 36

6
12/12/2022

Evaluarea performanței (cont.) Evaluarea performanței (cont.)

% Split (cont.) ex. 70% - Santrenare / 30% - Stestare % Split (cont.)


x% Santrenare
> să reluăm exemplul > cum alegem x% date?
anterior al regresiei > statistic, nu este
(cont.); suficient să testăm
> care dintre variante doar pentru o posibilă
oferă eroarea cea mai repartiție în x%
mică? (“do you feel lucky?”);

> “overfitting” = > soluție: pentru x%


clasificatorul învață să fixat, alegem în mod
aleator un anumit
se adapteze perfect
număr de repartiții (100-x)% Stestare
datelor de antrenare;
Santrenare - Stestare;
generalizare limitată. spațiul de caracteristici spațiul de caracteristici
mediere performanță.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 37 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 38

37 38

Evaluarea performanței (cont.) Evaluarea performanței (cont.)

% Split (cont.) % Split (cont.)


x% Santrenare
> cum alegem x% date? > cum alegem x% date? (100-x)% Stestare
(cont.) (cont.)

> soluție: pentru x% > soluție: pentru x%


fixat, alegem în mod fixat, alegem în mod
aleator un anumit aleator un anumit
număr de repartiții număr de repartiții
Santrenare - Stestare; Santrenare - Stestare;
mediere performanță mediere performanță
(cont.). (cont.).
(100-x)% Stestare x% Santrenare

spațiul de caracteristici spațiul de caracteristici etc.

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 39 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 40

39 40

Evaluarea performanței (cont.) Evaluarea performanței (cont.)

Leave-one-out Leave-one-out (cont.)

> algoritm: > algoritm (cont.):


p1: parcurgem toate p1: parcurgem toate
datele din setul datele din setul
cunoscut; cunoscut;
Stestare
p2: eliminăm din set p2: eliminăm din set
data curentă; Stestare data curentă;
p3: antrenăm p3: antrenăm
clasificator pe datele clasificator pe datele
rămase; rămase;
Santrenare Santrenare
p4: testăm pe data p4: testăm pe data
curentă (eliminată). spațiul de caracteristici curentă (eliminată). spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 41 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 42

41 42

7
12/12/2022

Evaluarea performanței (cont.) Evaluarea performanței (cont.)

Leave-one-out (cont.) raportăm valoarea medie de performanță k-fold


k=3
> algoritm (cont.): > algoritm: Stestare
Stestare
p1: parcurgem toate p1: se alege k;
datele din setul
cunoscut; p2: datele se împart în
k partiții (~egale);
p2: eliminăm din set
data curentă; p3: se parcurg partițiile;
p3: antrenăm Santrenare
p4: pentru partiția
clasificator pe datele
curentă, clasificatorul
rămase;
Santrenare este antrenat pe
p4: testăm pe data celelalte date și testat
curentă (eliminată). spațiul de caracteristici etc. pe această partiție. spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 43 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 44

43 44

Evaluarea performanței (cont.) Evaluarea performanței (cont.)

k-fold (cont.) k-fold (cont.) raportăm valoarea medie de performanță


k=3 k=3
> algoritm (cont.): > algoritm (cont.):
Santrenare
p1: se alege k; Santrenare p1: se alege k;

p2: datele se împart în p2: datele se împart în


k partiții (~egale); k partiții (~egale);

p3: se parcurg partițiile; Stestare p3: se parcurg partițiile;

p4: pentru partiția p4: pentru partiția Stestare


curentă, clasificatorul curentă, clasificatorul
este antrenat pe este antrenat pe
celelalte date și testat celelalte date și testat
pe această partiție. spațiul de caracteristici pe această partiție. spațiul de caracteristici

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 45 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 46

45 46

Exemple de sisteme de clasificare Exemple de sisteme de clasificare (cont.)

determinare automată gen video determinare automată gen video (cont.)

> obiectiv: realizarea > % Split (antrenare 50% – testare 50%);


unui sistem capabil să
catalogheze automat F1 (valoare medie pentru toate genurile)
genul video;

> experimentare date


platformă blip.tv, 5.127
secvențe catalogate în
26 de genuri, ex. artă,
auto, jurnalism, - capabilitate descriptori vizuali: 30%±10%;
comedie, documentare,
politică, religie, educație, sursă blip.tv - ce mai bună performanță este obținută pentru: LBP + Color
sporturi, tehnologie, etc; Coherence Vector + histogram (F1=41.2%).
[B. Ionescu et al., MediaEval 2012]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 47 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 48

47 48

8
12/12/2022

Exemple de sisteme de clasificare (cont.) Exemple de sisteme de clasificare (cont.)

determinare automată gen video (cont.) determinare automată gen video (cont.)

> % Split (antrenare 50% – testare 50%); > % Split (antrenare 50% – testare 50%);
F1 (valoare medie pentru toate genurile) F1 (valoare medie pentru toate genurile)

- folosirea informației audio se dovedește mai eficientă decât


informația vizuală (creștere de ~6%); - la nivel de descriptori textuali, cea mai bună performanță pentru
folosire ASR și metadate blip.tv (F1=68%).
- folosire descriptor audio bazat pe blocuri conduce la cele mai
bune rezultate (cu ~10% > decât audio standard).

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 49 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 50

49 50

[J. Schlüter et al.,


Exemple de sisteme de clasificare (cont.) Exemple de sisteme de clasificare (cont.) MediaEval 2012]

determinare automată gen video (cont.) determinare automată conținut violență

> % Split (antrenare 50% – testare 50%); > obiectiv: realizarea unui sistem capabil să catalogheze automat
conținutul video ca fiind violent sau nu;
F1 (valoare medie pentru toate genurile)
> experimentare producții tipice Hollywood, 15 filme;
> clasificator perceptron,
evaluare leave-one-out;

0.41
0.3
- folosirea de descriptori audio-vizuali conduce la performanță 0.23
apropiată de descriptori textuali (ASR);
- crescând numărul de modalități folosite conduce la creșterea
semnificativă a performanței. Prec. Rec. F1

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 51 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 52

51 52

Exemple de sisteme de clasificare (cont.) Exemple de sisteme de clasificare (cont.)

recunoașterea automată a acțiunilor recunoașterea automată a acțiunilor (cont.)

> obiectiv: realizarea > evaluare 8-fold;


unui sistem capabil să
determine automat o
serie de acțiuni umane
din înregistrări video;

> experimentare 6.600


SVM + FK vizual
filme YouTube ce
conțin acțiuni uzuale
precum mers cu
bicicleta, cântat la sursă YouTube
chitară, exerciții fizice,
parade, etc.
[I. Mironică et al., ACM MM 2013]

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 53 Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 54

53 54

9
12/12/2022

> Sfârşit M5

Tehnici de analiză și clasificare automată a informației, Prof. Bogdan IONESCU 55

55

10

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