Documente Academic
Documente Profesional
Documente Cultură
Nicoria Alexandru-Florin
December 2020
1 Enuntul exercitiului 43
43. a) Sa consideram situatia in care K = 3 si ne sunt date 4 instante, notate
cu x1 = 1, x2 = 2, x3 = 5, x4 = 7. Care este clusterizarea optima pentru acest
set de date? Care va fi valoarea corespunzatoare functiei obiectiv J.
b) Am putea fi tentati sa credem ca in cazul d = 1 algoritmul K-means
converge in mod cert la valoarea minima (globala) a criteriului J. Considerand
din nou instantele date la punctul a, aratati ca exista o asignare suboptimala
a lor la clustere, pe care algoritmul K-means n-o poate imbunatati. (Indicati
asignarea, aratati de ce este suboptimala si explicati de ce anume ea nu va putea
fi imbunatatita.)
c) Presupunem ca sortam instantele noastre astfel ı̂ncât x1 ≤ x2 ≤ ... ≤
xn . Demonstrati ca orice asignare optima a acestor instante la clustere are
proprietatea ca fiecare cluster [LC: nevid] corespunde unui anumit interval“ de
instante. Adica, pentru fiecare cluster [LC: nevid] j exista i1 , i2 ∈ {1, ..., n}, cu
i1 ≤ i2 , astfel incat clusterul acesta consta din instantele xi1 , xi1+1 ,..., xi2 .
d) Concepeti un algoritm de clusterizare de tip programare dinamica avand
complexitatea O(Kn2 ), ca inlocuitor pentru algoritmul K-means in cazul uni-
dimensional. Indicatie: Dat fiind rezultatul de la punctul c, ceea ce trebuie să
optimizam“ / setam sunt cele K − 1 granite / margini (engl., boundaries) ale
clusterelor, marginea cu numarul de ordine i fiind cea mai mare instanta din
clusterul i.
2 Rezolvarea subpunctului a)
Pentru rezolvarea acestui subpunct, va trebui mai intai sa reprezentam in-
stantele date pe axa reala:
1
K = 3 , x1 si x2 ar trebui sa apartina aceluiasi cluster, iar x3 si x4 sa formeze
clustere singleton pentru obtinerea unei clusterizari otpimale. Totodata, faptul
ca instantele x1 si x2 sunt cele mai apropiate poate fi demonstrat si in maniera
analitica, avand in vedere ca metrica folosita este distanta euclidiana, vom cal-
cula distantele dintre fiecare doua instante:
p
d(x1 , x2 ) = (1 − 2)2 = 1, d(x1 , x3 ) = 4, d(x1 , x4 ) = 6, d(x2 , x3 ) = 3,
d(x2 , x4 ) = 5, d(x3 , x4 ) = 2
Pn
J = i=1 j∈{1,...,K} min ||xi − µj ||2
Pentru solutia enuntata mai sus, criteriul J va avea valoarea, 0.5, deoarece
J = (1 − 1.5)2 + (2 − 1.5)2 + (5 − 5)2 + (7 − 7)2 = 0.5.
3 Rezolvarea subpunctului b)
In cadrul rezolvarii acestui subpunct vom incepe din nou cu reprezentarea grafica
a instantelor pe axa reala, pentru a avea o imaginea mai clara din punct de
vedere geometric:
2
4 Rezolvarea subpunctului c)
Pentru rezolvarea acestui subpunct, vom enunta o definitie a unei asignari
optimale.
O asignare optimala reprezinta o atribuire a datelor la K clustere, astfel
incat suma celor mai mici patrate, denumita si ca criteriul J sau functia obiec-
tiv J, sa fie minima. Deci o asignare optimala minimizeaza suma patratelor
distantelor ce corespund instantelor din clusterul respectiv.
In cele ce urmeaza, vom presupune ca exista o asignare optimala, notata
cu A, care nu respecta conditia ce se doreste a fi demonstrata.
In asignarea A consideram 2 clustere, notate cu Ci si Cj , cu Ci 6= Cj , si un
interval xt1 ≤ xt1+1 ≤ xt1+2 ≤ ... xt2 , astfel incat:
xt1 si xt2 ∈ Cj
Restul valorilor y din acest interval apartin clusterului Ci
Dupa cum a fost mentionat mai sus faptul ca o asignare optimala mini-
mizeaza suma patratelor distantelor din fiecare cluster, atunci orice valoare y
din intervalul mentionat mai sus care apartine clusterului Ci nu va asigura o
suma minima pentru clusterul respectiv, deoarece aceste valori vor fi mai apropi-
ate de centroidul clusterului Cj , deci se va obtine o contradictie a faptului ca
asignarea A minimizeaza criteriul J, drept orice asignare optimala va trebui sa
aiba clusterele sub forma unor intervale. Totodata se poate observa ca punctele
y din intervalul respectiv vor fi asignate clusterului Cj la urmatoarea iteratie a
algoritmului K − means, deoarece aceste puncte se afla in apropierea centroidu-
lui µj , corespunzator lui Cj .
1. In cazul in care µi > µj ,vom avea, conform celor spuse mai sus:
d(y, µi ) ≤ d(xt2 , µi ) ≤ d(xt1 , µi ), avand in vedere o proprietate importanta a
distantei euclidiene, iar y ∈ [xt1 , xt2 ], vom avea d(y, µi ) = d(xt2 , µi ) + d(y, xt2 ),
atunci d(y, µi ) ≥ d(xt2 , µi ) (1). Bazandu-ne pe aceeasi proprietate, cu faptul
3
ca xt1 ≤ y, vom avea d(xt1 , µi ) = d(xt1 , y) + d(y, µi ), prin urmare d(xt1 , µi ) ≥
d(y, µi ) (2).
Din relatiile (1, 2) vom putea afla o noua relatie, si anume d(xt2 , µi ) ≤ d(y, µi )
≤ d(xt1 , µi ). Astfel obtinem o contradictie intre relatia obtinuta si relatia enun-
tata mai sus, drept consecinta, se poate evidentia faptul ca y va fi mai apropiat
de centroidul µj in acest caz.
2. In cazul in care µi < µj ,vom avea, conform celor spuse mai sus:
d(y, µi ) ≤ d(xt1 , µi ) ≤ d(xt2 , µi ), avand in vedere o proprietate importanta a
distantei euclidiene, iar y ∈ [xt1 , xt2 ], vom avea d(y, µi ) = d(xt1 , µi ) + d(y, xt1 ),
atunci d(y, µi ) ≥ d(xt1 , µi ) (3). Bazandu-ne pe aceeasi proprietate, cu faptul
ca xt2 ≥ y, vom avea d(xt2 , µi ) = d(xt2 , y) + d(y, µi ), prin urmare d(xt2 , µi ) ≥
d(y, µi ) (4).
Din relatiile (3, 4) vom putea afla o noua relatie, si anume d(xt1 , µi ) ≤ d(y, µi )
≤ d(xt2 , µi ). Astfel obtinem o contradictie intre relatia obtinuta si relatia enun-
tata mai sus, drept consecinta, se poate evidentia faptul ca y va fi mai apropiat
de centroidul µj si in acest caz.
5 Rezolvarea subpunctului d)
O definitie preliminara ce va fi de folosPrezolvarii acestui subpunct va fi definirea
p
unei functii f , f : D → R, f (t, p) = i=t (xi − µ)2 , unde D = {(a, b)|1 ≤ a ≤
b ≤ n} , n fiind numarul de instante, iar µ va fi media instantelor indexate de
la t pana la p.
O caracteristica importanta a programarii dinamice este faptul ca putem
imparti o problema in subprobleme, in cadrul acestui algoritm, aceste subprob-
leme vor fi reprezentate sub forma unei matrici de dimensiuni [n + 1, K + 1],
notate cu M , astfel incat:
M [i][j] = valoarea criteriului J minimal folosind primele i puncte si j clustere.
M [n][K] = valoarea minima a criteriului J pentru cele n instante si K clustere
dorite.
M [0][j] = 0, iar j 6= 0
M [i][0] = 0, iar i 6= 0
M [i][i] = 0
M [i][j] = 0, pentru i < j, iar i 6= 0, deoarece acest caz se poate reduce la cal-
4
culul valorii M [i][i] si construirea a j − i clustere vide
M [i][1] = f (1, i), iar i 6= 0
M [i][j] = minjp=2 {M [p − 1][j − 1] + f (p, i)},pentru i > j, j > 1
Avand aceste notiuni la dispozitie, algoritmul va avea urmatoarea structura: