duomenų vizualizavimas daugiamačių duomenų vizualizavimas · pca metodo taikymo pvz., iris...

51
Duomenų vizualizavimas Daugiamačių duomenų vizualizavimas: projekcijos metodai Aušra Mackutė-Varoneckienė Tomas Krilavičius 1

Upload: others

Post on 05-Oct-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Duomenų vizualizavimas

Daugiamačių duomenų vizualizavimas: projekcijos metodai

Aušra Mackutė-Varoneckienė Tomas Krilavičius

1

Projekcijos metodai

• Analizuojant daugiamačius objektus , kuriuos apibūdina n atributų, norima vizualiai įvertinti jų išsidėstymą n-matėje erdvėje. Kai n > 3 , tiesiogiai pamatyti šių taškų neįmanoma. Tačiau yra galimybė rasti jų projekciją į dvimatę ar trimatę erdvę, t. y. sumažinti matmenų skaičių iki mums įprasto.

• Pvz., – turime aibę taškų – dešinėje ir viršuje padėti ekranai. – įsivaizduokime, kad kitoje pusėje šviečia ryški šviesa – ant ekranų matomi duomenų taškų šešėliai – linijos sujungia taškus su jų projekcijomis – iš pirmo paveikslo matyti, kad dvimatėje projekcijoje išlieka du klasteriai, tačiau antrame paveiksle neišsiskiria klasteriai.

2

• Iš pvz. akivaizdu, kad skirtingomis projekcijomis gaunami skirtingi rezultatai. Be to, ne visada projekcijoje matome tikrąją duomenų struktūrą – klasterius, taškus atsiskyrėlius, taškų išsidėstymą. Todėl aukščiau minėto ekrano padėties pasirinkimo uždavinys nėra trivialus.

• Vizualizuojant daugiamačius duomenis susiduriama su dviem dažnai vienas kitam prieštaraujančiais tikslais:

– siekiama supaprastinti uždavinį mažinant duomenų matmenų skaičių,

– siekiama išlaikyti kiek galima daugiau originalios informacijos turinio, t. y. kuo mažiau iškraipyti analizuojamus duomenis

• Daugiamačiams duomenims transformuoti į mažesnio skaičiaus matmenų (dimensionalumo) erdvę taikomi projekcijos metodai. Jie dar vadinami matmenų skaičiaus mažinimo metodais (angl., dimensional reduction techniques). Jų tikslas – pateikti daugiamačius duomenis mažesnio skaičiaus matmenų erdvėje taip, kad būtų kiek galima tiksliau išlaikyta duomenų struktūra.

• Projekcijos metodai naudojami daugiamačiams duomenims vizualizuoti, kai pasirinktas pakankamai mažas projekcinės erdvės Rd matmenų skaičius (d = 2 arba d = 3 ). Erdvė Rd dar vadinama vaizdo erdve, nes dažniausiai jos elementus galima stebėti vizualiai. 3

• Tarkime, kad analizuojamų duomenų aibė yra matrica

X = {X1 ,X2 ,..., Xn } = {xij, i = 1, …, m, j = 1, …, n}

kurios i-oji eilutė yra vektorius Xi ∈ Rn , čia Xi = (xi1, xi2, …, xin), i ∈{1, …, m}, xij yra duomenų i-ojo vektoriaus Xi j-oji komponentė, atitinkanti j-ąjį atributą, n – vektoriaus Xi komponenčių skaičius, t. y. erdvės, kuriai priklauso vektorius Xi, matmenų skaičius, m – nalizuojamų objektų (vektorių) skaičius

• Reikia rasti vektoriaus Xi = (xi1, xi2, …, xin) transformaciją Yi = (yi1, yi2, …, yin) mažesnio skaičiaus matmenų projekcinėje, arba vaizdo, erdvėje Rd, d < n

• Jeigu projekcijos metodo tikslas – vizualizuoti duomenis, tai d = 2 arba d = 3 . Galima nagrinėti ir atvejį, kai d = 1, tačiau tada vizualizuojant prarandama daugiau informacijos ir vaizdumo, turimo stebint taškus plokštumoje (d = 2) ar erdvėje (d = 3) lyginant su tų pačių taškų išsidėstymu tiesėje (d = 1)

4

• Projekcijos metoduose taikomi formalūs matematiniai projekcijos kokybės kriterijai, kurie optimizuojami siekiant:

– gauti kiek galima tikslesnę daugiamačių duomenų projekciją mažesnio skaičiaus matmenų erdvėje, t. y. kuo mažiau iškraipyti duomenis pasirinkto kriterijaus atžvilgiu

– išsaugoti vizualizuojamų daugiamačių vektorių tarpusavio atstumų ar kitų artimumo įverčių proporcijas

– išsaugoti ar net išryškinti kitas sprendimams priimti svarbias analizuojamos duomenų aibės X charakteristikas, pavyzdžiui, klasterius

• Projekcijos metodai: – Tiesinės projekcijos metodais – ieškoma tiesinės analizuojamų duomenų

transformacijos. Yra įvairių tiesinės transformacijos galimybių: pasukimas, postūmis, atspindys, suspaudimas, ...

– Netiesinės projekcijos metodais – ieškoma netiesinės transformacijos.

5

Tiesinė/netiesinė transformacijos • Pasukimo tipo tiesinė transformacija yra aprašoma tiesinių lygčių sistema Yi = XiA Bendru atveju Yi = (yi1, yi2, …, yin), Xi = (xi1, xi2, …, xin), A – kvadratinė matrica,

sudaryta iš n eilučių ir n stulpelių. Jei tiesinė transformacija naudojama duomenų matmenų skaičiui mažinti, tada Yi = (yi1, yi2, …, yid), d < n, A – matrica, sudaryta iš n eilučių ir d stulpelių

• Netiesinė projekcija yra aprašoma šia forma: Y = f ( X )

čia f yra netiesinė transformacija. Netiesinė projekcija yra sudėtingesnė, reikalauja kur kas didesnių skaičiavimų – čia formuluojami ir sprendžiami daugelio kintamųjų optimizavimo uždaviniai, kurie dažniausiai būna daugiaekstremiai.

6

Tiesinė transformacija

Pvz., tiesinė projekcija, kai n = 2 . Tegul turime tašką Xi = (xi1, xi2) Transformuokime jį į tašką Yi = (yi1, yi2) tiesine transformacija

Matricos A elementai šiuo atveju priklauso tik nuo pasukimo kampo ir gali būti išreikšti per trigonometrines funkcijas:

čia α yra kampas tarp ašių x1 ir y1, tuo pačiu ir tarp ašių x2 ir y2, t. y. koordinačių sistemą (x1, x2) kampu α pasukame prieš laikrodžio rodyklę kad gautume koordinačių sistemą (y1, y2)

Koordinačių pradžios taškas nepasikeičia. Taško Xi koordinatės sistemoje (x1, x2) yra (xi1, xi2), o naujoje sistemoje yra (yi1, yi2): yi1 = xi1 cos α + xi2 sin α;

yi2 = xi2 cos α – xi1 sin α.

Faktiškai Yi = (yi1, yi2) ir yra taško Xi tiesinė

transformacija į koordinačių sistemą (y1, y2). Jei

tikslas yra sumažinti duomenų matmenų skaičių,

tai vektorių Yi galime sudaryti tik iš vienos

koordinatės, pvz., Yi = (yi1). Tada gausime taško

Xi transformaciją į vienmatę erdvę. 7

=

2221

1211

aaaa

A

−=

αααα

cossinsincos

A

• Pvz., paveiksluose pavaizduotos tiesinė (pav. kairėje) ir netiesinė (pav. dešinėje) projekcijos. Dvimačiai taškai X1, X2, …, X8 išdėstyti taip, kad tarp artimiausių taškų yra vienodi atstumai:

d(Xi, Xi+1) = d(Xi+1, Xi+2), i=1, …, 6 – tiesinės projekcijos atveju atvaizdavusį vienmatę erdvę (į tiesę y1) atstumai tarp

taškų nebus išlaikyti

– netiesinės – radus tinkamą transformaciją, atstumai tarp artimiausių taškų išliks vienodi

8

Pagrindinių komponenčių analizė (tiesinės projekcijos metodas) • Pagrindinių komponenčių analizė (angl., principal component analysis, PCA) yra klasikinis

statistikos metodas. Tai tiesinė duomenų transformacija, plačiai naudojama duomenų analizei kaip daugiamačių duomenų matmenų skaičiaus mažinimo metodas.

• PCA idėja – sumažinti duomenų matmenų skaičių atliekant tiesinę transformaciją ir atsisakant dalies po transformacijos gautų naujų komponenčių, kurių dispersijos yra mažiausios.

• Iš pradžių ieškoma krypties, kuria dispersija yra didžiausia. – Didžiausią dispersiją turinti kryptis vadinama pirmąja pagrindine komponente (PC1). Ji eina per

duomenų centrinį tašką. Tai taškas, kurio komponentės yra

analizuojamą duomenų aibę sudarančių taškų atskirų

komponenčių vidurkiai. Visų taškų vidutinis atstumas iki šios

tiesės yra minimalus, t. y. ši tiesė yra kiek galima arčiau visų

duomenų taškų.

– Antrosios pagrindinės komponentės (PC2) ašis taip pat turi

eiti per duomenų centrinį tašką ir ji turi būti statmena

pirmosios pagrindinės komponentės ašiai. 9

Pvz.,

- turime duomenų aibę, kurios objektus aprašo 3 atributai (kintamieji)

- suprojektavus duomenis į pirmą pagrindinę komponentę, galima aptikti duomenų klasterius

Pvz.,

- kai projekcija į pirmą komponentę nepateikia informacijos apie duomenų aibę

10

PCA algoritmas:

Turime duomenų matricą: X = {X1, X2, …, Xm} = {xij, i = 1, …, m, j = 1, …, n}, kurios i-oji eilutė yra vektorius Xi = (xi1, xi2, …, xin. ), t.y., šios matricos eilutės žymi objektus, o stulpeliai – tuos objektus apibūdinančius parametrus (atributus) x1, x2, …, xn

- apskaičiuojame koreliacijos koeficientus rkl. Iš jų sudarome koreliacinę matricą R = {rkl, k,l = 1, …, n}. Matricos R įstrižainės elementai = 1

- apskaičiuojame kovariacijos koeficientą ckl. Suformuojam kovariacinę metricą C = {ckl, k, l = 1, …, n}. Matrica C – simetrinė

- koreliacijos koeficientai gali būti išreiškiami per kovariacijos koeficientus: r = ckl / (√(ckk cll)). Jei parametrai xk ir xl nekoreliuoti, tai jų kovariacijos koeficientas lygus 0: ckl = clk = 0, k ≠ l

- apibrėžiame kovariacinės matricos tikrinius vektorius Ek (angl., eigenvector) ir jų tikrines reikšmes λk (angl., eigenvalues) spresdami lygtį CEk = λk Ek. Šioje lygtyje Ek yra vektorius stulpelis, C – kovariacinė matrica, λk reikšmė randama iš charakteringos lygties |C − λkI| = 0. Čia I yra vienetinė matrica, kurios matmenys tokie pat kaip matricos C; ženklu |.| apibrėžtas determinantas. Tikrinių vektorių skaičius yra lygūs duomenų matricą X sudarančių vektoriųkomponenčių skaičiui n

11

- surūšiuojame tikrinius vektorius Ek juos atitinkančių tikrinių reikšmių mažėjimo tvarka (λ1 ≥ λ2 ≥ λ3 ≥ … ≥ λn ). Matrica A = (E1, E2, …, En) – pagrindinių komponenčių matrica. Jos stulpeliai yra tikriniai vektoriai Ek, k = 1, …, n, atitinkantys tikrines reikšmes λ1 ≥ λ2 ≥ λ3 ≥ … ≥ λn

- transformuojame duomenų vektorius Xi, i = 1, …, m, pagal formulę: Yi=(Xi – μ)A, čia Xi = (xi1, xi2, …, xin.), μ = (μ1, μ2, …, μn), A = (E1, E2, …, En)

- gauti Yi = (yi1, yi2, …, yin) yra vektoriai (taškai) naujoje ortogonalioje koordinačių sistemoje (y1, y2, …, yn), apibrėžtoje tikriniais vektoriais Ek, k = 1, …, n. Vektorių Yi, i = 1, …, m komponenčių y1, y2, ..., yn kovariacinė matrica:

- originalius duomenų vektorius Xi, i = 1, …, m, galima išreikšti per vektorius Yi: Xi = Yi AT + μ

- daugiamačių duomenų transformacijai galima naudoti ne visus tikrinius vektorius, o tik pirmuosius. Tegul matrica Ad yra sudaryta iš d pirmųjų tikrinių vektorių. Tada galima sukurti transformaciją: Y = (Xi – μ)Ad, i = 1, …, m

- tokiu būdu randama duomenų vektoriaus projekcija į d matmenų erdvę. Vizualizavimui pasirenkame d = 2 arba d = 3.

12

=

n

λ

0

01

PCA metodo taikymo pvz., Iris (kairėje) ir krūties vėžio (dešinėje) duomenys atvaizduojami

plokštumoje. Irisų duomenų atveju matosi, kad pirmos veislės irisai (pažymėti juodai) „nutolę“ nuo

kitų dviejų veislių, ryškios ribos tarp kitų dviejų veislių nėra. Didžioji dalis taškų krūties vėžio duomenų atveju, atitinkančių nepiktybinio naviko

duomenis (juodi taškai), susikoncentruoja vienoje srityje, o kiti taškai, atitinkantys piktybinio naviko duomenis, pasiskirsto plačiai.

Abiem atvejais stebime aiškiai išskiriančias taškų sankaupos sritis. Pagrindinių komponenčių metodo privalumas yra jo idėjos paprastumas. Tai didžia dalimi nulėmė

jo populiarumą ir platų taikymą.

13

Jei egzistuoja tiesinės priklausomybės tarp parametrų x1, x2, ..., xn, tai, taikant pagrindinių komponenčių metodą, duomenų matmenų skaičius mažinamas su nedidelėmis paklaidomis. Tačiau bendru atveju gali egzistuoti netiesinės priklausomybės, kurių PCA metodas negali įvertinti, ir tai yra šio metodo trūkumas

Vizualizavimo rezultatai, gauti taikant PCA metodą, labai priklauso nuo taškų atsiskyrėlių, nes šie taškai n-matėje erdvėje yra ryškiai nutolę nuo kitų, ir tai daro didelę įtaką kovariacinės matricos C elementų reikšmėms, kartu ir nustatytoms pagrindinėms komponentėms bei duomenų projekcijos kokybei

14

Tiesinė diskriminantinė analizė (tiesinės projekcijos metodas) • Skirtingai nuo daugelio kitų projekcijos metodų, tiesinės diskriminantinės analizės (angl., linear

discriminant analysis, LDA), vadinamasis Fišerio diskriminantinės analizės metodas realizuoja mokymo su mokytoju (angl., supervised) strategiją.

• Mokymo su mokytoju metodais analizuojami duomenys, kurių savybės (pavyzdžiui, priklausymas kokiai nors klasei) yra žinomos ir jomis tiesiogiai yra pasinaudojama. LDA metodas transformuoja daugiamatės erdvės duomenis į mažesnio skaičiaus matmenų erdvę taip, kad klasių atskiriamumo kriterijaus reikšmė būtų optimali

• Turime analizuojamų duomenų matricą X = {X1, X2, …, Xm} = {xij, i = 1, …, m, j = 1, …, n}, kurios i-ojoje eilutėje yra vektorius Xi = (xi1, xi2, …, xin. ). Matricos stulpeliai – duomenis apibūdinantys atributai x1, x2, …, xn

• Tegul duomenų matrica X sudaryta iš kelių matricų X(1), X(2), ..., X(k), kurių eilutės yra vektoriai Xi

(j) , i = 1, …, mj, j ∈ {1, …, k}, atitinkantys objektus, priklausančius vienai iš k klasių, čia mj yra objektų, priklausančių j-ajai klasei, skaičius

15

LDA: – apskaičiuojamas analizuojamus objektus apibūdinančių atributų visos aibės X reikšmių vidurkių

vektorius μ = (μ1, μ2, …, μn) ir kiekvienos klasės aibės X(j) reikšmių vidurkių vektoriai μ(j) – apskaičiuojami kovariacijos koeficientai, suformuojama bendra kovariacinė matrica C ir atskirų

klasių kovariacinės matricos C(j), j = 1, …, k – apskaičiuojamas išsibarstymas klasių viduje (angl., within-class scatter) Sw = ∑j=1

k pj C(j), čia pj yra apriorinė klasių tikimybė (pj = mj / m, čia mj yra objektų, priklausančių j-ajai klasei, skaičius, m – visų analizuojamų objektų skaičius)

– apskaičiuojamas tarp klasinis išsibarstymas (angl., between-class scatter) Sb = C – Sw – randami matricos Sw

-1 Sb tikriniai vektoriai ir tikrinės reikšmės. Jie surūšiuojami tikrinių reikšmių mažėjimo tvarka. Išrenkami d didžiausias tikrines reikšmes atitinkantys tikriniai vektoriai (būtinai turi būti d < k )

– apskaičiuojama duomenų transformacija: Yi = (Xi – μ)Ad, i = 1, …, m, čia Ad yra matrica, sudaryta iš tikrinių vektorių, atitinkančių d didžiausių tikrinių reikšmių kaip vektorių stulpelių Tiesinės diskriminantinės analizės privalumas palyginti su pagrindinių komponenčių analize, yra tai, kad čia atsižvelgiama į duomenų klases Pvz., Iris duomenys atvaizduoti LDA metodu:

16

Projekcijos paieška (tiesinės projekcijos metodas)

• Projekcijos paieškos (angl., projection pursuit) metodo, kaip ir daugelio kitų projekcijų metodų, tikslas yra rasti tokias tiesines komponenčių kombinacijas (dažniausiai dvimates ar trimates), kad transformuoti duomenys išlaikytų pradinių duomenų struktūrą

• Tarkime, turime duomenų matricą X, kurios eilutėse yra n-mačiai vektoriai. Erdvės Rn taškų projekciją į erdvę Rd galima išreikšti taip: Y = XA, čia X = {X1, X2, …, Xm} = {xij, i = 1, …, m, j = 1, …, n}, A - matrica, sudaryta iš n eilučių ir d stulpelių, Y = {Y1, Y2, …, Ym} = {yij, i = 1, …, m, j = 1, …, d} yra duomenų, gautų po projekcijos, matrica

17

• Visų pirma reikia nuspręsti, kurią duomenų savybę norime išryškinti vizualizavimo metu. Tada reikia apsibrėžti matą, atspindintį šią savybę.

• Pavadinkime šį matą I(Y) . Dažnai jis vadinamas indekso funkcija (angl., index function). Tarkime, norime išryškinti duomenų klasterius. Tuo atveju galėtų būti naudojamas statistinis klasterizavimo matas – vidutinis atstumas iki artimiausio kaimyno (angl., mean nearest neighbour distance). Kuo mažesnė šio mato reikšmė viename klasteryje, tuo duomenys yra geriau suklasterizuoti.

• Tegul I(Y) yra vidutinis atstumas iki artimiausio kaimyno. Išraiška I(Y) gali būti pakeista į I(XA) . Projekcijos parinkimo uždavinys susiveda į optimizavimo uždavinį: reikia parinkti tokią matricą A, kad funkcijos I(XA) reikšmė būtų mažiausia. Iš esmės tai ir yra projekcijos paieškos procesas.

• Jeigu mus domina taškų atsiskyrėlių egzistavimas, tada uždavinys pakeičiamas taip, kad būtų ieškoma didžiausio vidutinio atstumo iki artimiausio kaimyno.

18

Daugiamatės skalės (netiesinės projekcijos metodas) • Daugiamačių skalių (angl., multidimensional scaling, MDS) metodas – tai

grupė metodų, plačiai naudojamų daugiamačių duomenų analizei įvairiose šakose, ypač ekonomikoje, socialiniuose moksluose ir kt. Gausu šio metodo realizacijų, kurios skiriasi naudojamais vizualizavimo kokybės kriterijais, optimizavimo algoritmais ar prielaidomis apie duomenis.

• Naudojantis MDS, ieškoma daugiamačių duomenų projekcijų mažesnio skaičiaus matmenų erdvėje (dažniausiai R2 arba R3), siekiant išlaikyti analizuojamos aibės objektų artimumus – panašumus arba skirtingumus.

• Gautuose vaizduose panašūs objektai išdėstomi arčiau vieni kitų, o skirtingi – toliau vieni nuo kitų.

19

• Pradiniai daugiamačių skalių metodo duomenys yra kvadratinė simetrinė matrica, kurios elementai nusako artimumą tarp analizuojamų objektų. Tai gali būti arba panašumų, arba skirtingumų matrica. Paprasčiausiu atveju tai yra Euklido atstumų tarp objektų matrica. Tačiau bendruoju atveju, tai nebūtinai turi būti atstumai griežtai matematine prasme.

• Vienas daugiamačių skalių metodų tikslų yra rasti optimalų daugiamačius objektus atitinkančių taškų (vektorių) vaizdą mažo skaičiaus matmenų erdvėje.

20

Tarkime, kiekvieną n-matį vektorių Xi ∈ R n, i ∈ {1, … , m}, atitinka mažesnio skaičiaus matmenų vektorius Y i ∈ Rd, n <d. Atstumą tarp vektorių Xi ir X j pažymėkime d(Xi,Xj), o atstumą tarp vektorių Yi ir Yj : d(Yi,Yj), i,j = 1, …, m.

Naudojantis MDS algoritmu, bandoma atstumus d(Yi, Yj) priartinti prie atstumų d(Xi, Xj). Jei naudojama kvadratinė paklaidos funkcija, tai minimizuojama tikslo funkcija EMDS gali būti užrašyta taip:

EMDS = ∑i<j wij (d (Xi, Xj) – d (Yi, Yj))2.

Paklaidos funkcija EMDS dar vadinama Stress funkcija. Dažnai naudojami tokie svoriai wij: wij = 1 / (∑i<j (d (Xi, Xj) ) )2 ;

wij = 1 / (d (Xi, Xj) ∑k<l (d (Xk, Xl) ) )

čia d(Xi, Xj) ≠ 0, t.y., tarp vektorių X1, X2, …, Xm nėra

sutampančių Pvz., MDS metodu gautas daugiamačių taškų išsidėstymas

dvimatėje plokštumoje vizualizuojant irisų duomenis.

Matome, kad taškai, atitinkantys pirmos klasės irisus (juodi),

sudaro atskirą grupę. Ryškios ribos tarp kitų dviejų grupių

nėra. 21

Kubų vaizdai gauti naudojant Euklido ir miesto kvartalo metrikas

• Euklido atstumai

• Miesto kvartalo atstumai

Kubų projekcijos į dvimatę erdvę ED

CB

ED

CB

Kubų projekcijos į dvimatę erdvę

Simpleksų projekcijos į dvimatę erdvę ED

CB

Simpleksų projekcijos į dvimatę erdvę ED

CB

Daugiamačių kubų projekcijos į trimatę erdvę

Sammono projekcija (netiesinės projekcijos metodas) • Sammono projekcija, dažnai vadinama Sammono metodu ar algoritmu,

yranetiesinis objektų, apibūdinamų daugeliu parametrų, atvaizdavimas mažesnio skaičiaus matmenų erdvėje Rd , dažniausiai d = 2 .

• Metodas priskiriamas prie daugiamačių skalių (MDS) metodų grupės.

• Metodo idėja – atvaizduoti daugiamačius objektus atitinkančius vektorius mažesnio skaičiaus matmenų erdvėje išlaikant panašius atstumus tarp vektorių.

• Sammono projekcija minimizuoja projekcijos iškraipymą (paklaidą) ES:

ES =(1 / (∑i<j (d(Xi, Xj) ) )) (∑i<j (((d(Xi, Xj) – d(Yi, Yj))2) / (d(Xi, Xj) )))

• Funkcija ES sutampa su EMDS , kai wij = 1 / (d (Xi, Xj) ∑k<l (d (Xk, Xl) ) )

• Sammono paklaida (angl., Sammon‘s stress (error)) ES – tai matas, kuris parodo, kaip tiksliai išlaikomi atstumai tarp vektorių pereinant iš didesnio skaičiaus matmenų erdvės į mažesnio skaičiaus matmenų erdvę. Pagrindinis uždavinys – minimizuoti paklaidos funkciją ES

28

Sammono algoritmas:

1. skaičiuojami atstumai tarp analizuojamų vektorių pradinėje erdvėje

2. atsitiktinai parenkamos vaizdo erdvės vektorių komponenčių reikšmės.

3. skaičiuojama projekcijos paklaida ES

4. atnaujinamos vaizdo erdvės vektorių komponenčių reikšmės pagal formulę: yik(t+1) = yik(t) – η(δEs(t) / δ yik(t)) / (|δ2Es(t) / δ2yik(t)|)

5. jeigu projekcijos paklaidos reikšmė mažesnė už pasirinktą slenkstį arba iteracijų skaičius viršija nustatytąjį,

tuomet algoritmas sustabdomas, priešingu

atveju grįžtama ir kartojama nuo 3 žingsnio

• Pvz., Sammono metodu gautas daugiamačių

taškų išsidėstymas dvimatėje plokštumoje

vizualizuojant krūties vėžio duomenis 29

ISOMAP (netiesinės projekcijos metodas)

• ISOMAP metodą taip pat galima laikyti daugiamačių skalių (MDS) grupės metodu, kuris skirtas daugiamačių duomenų matmenų skaičiui mažinti, tuo pačiu ir daugiamačiams duomenims vizualizuoti.

• Šis metodas skiriasi nuo įprastinio MDS metodo tuo, kad atstumų tarp analizuojamų objektų matas yra apibrėžiamas kitaip.

• Taikant ISOMAP metodą, daroma prielaida, kad pradinėje erdvėje analizuojamus duomenis atitinkantys taškai yra išsidėstę ant mažesnio skaičiaus matmenų netiesinės daugdaros, ir todėl skaičiavimuose naudojami geodeziniai atstumai.

30

• Daugdara (angl., manifold) – tai abstrakti topologinė matematinė erdvė, kurioje kiekvieno taško aplinka yra labai panaši į Euklido erdvę, tačiau šios erdvės globali struktūra daug sudėtingesnė. Kalbant apie daugdarą svarbi yra matmens sąvoka šiame kontekste. Pvz., linija yra vieno matmens, plokštuma – dviejų ir pan.

– Vienmatėje daugdaroje kiekvieno taško aplinka yra panaši į linijos segmentą. Linija, apskritimas, du atskiri apskritimai yra vienmatės daugdaros.

• Dvimatėje daugdaroje kiekvieno taško aplinka panaši į skritulį. Plokštuma, sferos paviršius, toro paviršius yra dvimatės daugdaros (toras, arba toroidas, geometrijoje yra sukimosi paviršius, kurį apibrėžia apskritimas, besisukantis aplink lygiagrečią su jo plokštuma ir jo neliečiančią ašį). Žemės paviršių taip pat galima laikyti dvimate daugdara.

• Anksčiau nagrinėtuose metoduose atstumams tarp vektorių skaičiuoti paprastai yra naudojami Euklido atstumai. Skaičiuojant atstumus neatsižvelgiama į daugdaros formą. Tuomet susiduriama su sunkumais atvaizduojant netiesines duomenų struktūras, kaip kad spiralę ar pan.

• ISOMAP metode artimumo tarp vizualizuojamų objektų (taškų) matas yra geodezinis atstumas. Geodezinis, arba kreivinis, atstumas – tai trumpiausio kelio ilgis einant daugdaros kreivu paviršiumi.

31

• Pvz., Euklido atstumas tarp dviejų taškų parodytas kairiame paveiksle, o geodezinis atstumas tarp tų pačių taškų - dešiniame

32

Norint apskaičiuoti geodezinius atstumus tarp duomenų taškų X1, X2, …, Xm, pirmiausia reikia nustatyti kiekvieno taško Xi, i ∈ {1, …, m}, artimiausius taškus, kuriuos vadinsime taškais kaimynais

Čia artimumo matas yra Euklido atstumas. Taškų kaimynų paieška gali būti organizuojama dvejopai: arba ieškoma nustatyto skaičiaus kaimynų, arba ieškoma kaimynų iš tam tikro fiksuoto dydžio spindulio hipersferos, kurios centras yra taškas Xi

Tuomet sudaromas svorinis grafas, kuris jungia kiekvieną tašką Xi, i ∈ {1, …, m}, su visais jo kaimynais. Grafo briaunų svoriai yra atstumai tarp taško Xi ir jo kaimynų. Naudojantis vienu iš trumpiausio kelio grafe radimo algoritmu, pvz., Dijkstros, randami trumpiausių kelių ilgiai tarp visų taškų porų. Šie ilgiai ir yra geodezinių atstumų tarp taškų porų įverčiai.

Tokiu būdu suformuojama geodezinių atstumų matrica, kuri yra laikoma skirtingumo tarp analizuojamų objektų matrica. Šią matricą galima analizuoti bet kuriuo daugiamačių skalių metodu.

Taikant ISOMAP metodą ieškoma tokios transformacijos į vaizdo erdvę, kur būtų geriausiai išlaikomi geodeziniai atstumai tarp vizualizuojamų objektų (taškų)

33

ISOMAP algoritmas: - daugiamatėje erdvėje randami kiekvieno taško kaimynai - skaičiuojami geodeziniai atstumai tarp visų taškų porų; suformuojama skirtingumų

matrica - daugiamačių skalių metodu randamos daugiamačių taškų projekcijos mažesnio skaičiaus

matmenų – vaizdo erdvėje Pvz., S raidės daugdara a) paveiksle, n = 3. Taškai, esantys ant daugdaros, pavaizduoti b) paveiksle

(m = 2000) - ISOMAP metodu gauta projekcija pavaizduota c) paveiksle - MDS metodu, kai skirtingumų matrica yra Euklido atstumų matrica – d) paveiksle ISOMAP metodu geriau išlaikoma daugdaros struktūra, S raidė tiesiog ištiesinama: tolimiausi

taškai ant daugdaros (tamsiai mėlyna spalva) išlieka tolimiausi ir projekcijoje . MDS metodu gautoje projekcijoje tolimiausi taškai yra šviesiai mėlynos spalvos, tie taškai ant

daugdaros yra tolimiausi Euklido atstumų prasme, bet ne geodezinių.

34

Lokaliai tiesinis vaizdavimas

• Dar vienas daugiamačių duomenų matmenų skaičiaus mažinimo metodas – lokaliai tiesinio vaizdavimo metodas (angl., locally linear embedding, LLE).

• Šiuo metodu atvaizduojant daugiamačius duomenis į mažesnio skaičiaus matmenų erdvę, išlaikomi kaimynystės ryšiai tik tarp artimiausių taškų ir atskleidžiama netiesinės daugdaros globali struktūra.

• Algoritmą sudaro trys etapai: – Nustatoma kiekvieno vizualizuojamo duomenų taško Xi, i∈{1, …, m}, k

artimiausių kaimynų. Artimumo matas yra Euklido atstumas. Taškų kaimynų paieška gali būti organizuojama dvejopai:

• arba ieškoma nustatyto skaičiaus kaimynų, • arba ieškoma kaimynų iš tam tikro fiksuoto dydžio spindulio hipersferos, kurios

centras yra taškas Xi

35

– Kiekvienas daugiamatis taškas Xi išreiškiamas jo kaimynų tiesine kombinacija Xi = Σ j=1

m wij Xj

čia svoriai wij ≠ 0, jei taškas Xj yra taško Xi kaimynas, ir wij = 0, jei taškai Xi ir Xj nėra kaimynai. Svoriai wij turi būti parinkti taip, kad paklaida

E(W) = Σ j=1m (Xi –Σ j=1

m wij Xj)2

būtų minimali. Svoriai turi tenkinti sąlygą, kad visiems i: Σ j=1m wij= 1.

– Radus tinkamus svorius wij, projekcijos vektoriai Yi, i = 1, …, m, apskaičiuojami minimizuojant paklaidą

Φ(Y) = Σ i=1m (Yi –Σ j=1

m wij Yj)2

su ribojimais: Σ j=1m Yi = 0; (1/m ) Σ j=1

m YiT Yi = I,

čia I - vienetinė matrica, sudaryta iš d eilučių ir d stulpelių, Yi

T – transponuotas vektorius Yi. Paprasčiausias būdas apskaičiuoti vektorių Yi, i = 1, …, m, d-mates komponentes yra rasti išretintos matricos M = (I – W)T (I – W) d tikrinių vektorių, atitinkančių mažiausias nenulines d tikrines reikšmes, čia I – vienetinė matrica, sudaryta iš m eilučių ir m stulpelių, W = {wij, i, j =1, …, m}. Šie d tikriniai vektoriai ir yra vektoriai Yi, i = 1, …, m

36

• Mažinant daugiamačių duomenų matmenų skaičių lokaliai tiesinio vaizdavimo metodu, pasiseka identifikuoti daugdaros nežinomą struktūrą. Tuo tarpu MDS ir PCA metodais tolimi daugiamačiai taškai ant daugdaros atvaizduojami į artimus taškus plokštumoje, taigi suardoma daugdaros struktūra.

• MDS grupės metodais stengiamasi išlaikyti santykinius atstumus tarp visų duomenų aibės taškų. Lokaliai tiesinio vaizdavimo metodas nereikalauja išlaikyti atstumų tarp labiausiai nutolusių duomenų taškų, o tik tarp artimiausių taškų kaimynų.

• Lokaliai tiesinio vaizdavimo metodas dažnai yra taikomas vizualizuoti daugiamačius vektorius, kurių komponenčių reikšmės atitinka paveikslėlių ar nuotraukų parametrus. Iš analizuojamo paveikslėlio ar nuotraukos taškų spalvinių savybių sudaromas vektorius, kurio matmenų skaičius yra labai didelis. Analizuojamų duomenų aibė ypatinga tuo, kad ją sudaro vektoriai, atitinkantys kelis to paties objekto, pasukto tam tikrais kampais, paveikslėlius ar nuotraukas. Tuo atveju vektoriai vienas nuo kito nedaug skiriasi ir jie sudaro tam tikrą daugdarą.

37

• Pvz., Lokaliai tiesinio vaizdavimo metodu vizualizuoti paveikslėlių duomenys, gauti laipsniškai sukant ančiuką.

• Analizuojamų paveikslėlių, tuo pačiu vektorių skaičius m = 72. Kiekvienas paveikslėlis sudarytas iš 128x128 taškų, taigi vizualizuojamų vektorių matmenų skaičius n = 16 384. Čia pateiktas daugiamačių taškų, atitinkančių pasukto ančiuko paveikslėlius, išsidėstymas dvimatėje plokštumoje. Didesni rutuliukai atitinka šalia pateiktus paveikslėlius. Ančiukas

buvo laipsniškai sukamas aplink 360° kampu, todėl dvimačiai taškai išsidėstė ratu.

• Kaip ir ISOMAP, lokaliai tiesinio vaizdavimo metodas yra labiau tinkamas vizualizuoti duomenis, kurie sudaro vientisą klasterį (grupę). Kai duomenų aibėsudaryta iš kelių visiškai atskirų duomenų klasterių, nėra gaunami geri vizualizavimo rezultatai. To priežastis yra tai, kad analizuojami duomenys nesudaro vientisos daugdaros.

38

Pagrindinės kreivės

• Pagrindinės kreivės (angl., principal curves) yra pagrindinių komponenčių (angl., principal components) apibendrinimas.

• Pagrindinė kreivė – tai glodžioji kreivė, brėžiama per duomenų centrinį tašką taip, kad vidutinis atstumas nuo duomenų taškų iki šios kreivės būtų minimalus, t. y. ši kreivė būtų kiek galima arčiau visų duomenų taškų

• Pagrindine kreive tiksliausiai aproksimuojami duomenų taškai

39

• Projektavimo kintamieji

• Optimizavimo kintamieji apibrėžiami pakeičiant projektavimo kintamųjų mastelį

• Intervalinių ribojimų apibrėžta projektavimo kintamųjų sritis yra vienetinis hiperkubas.

Pvz., daugiakriterinis uždavinys, kai kriterijų funkcijoms būdingi nereguliarumai

• Nagrinėjamas distiliavimo procesas atsižvelgiant į du kriterijus, eksploatacines išlaidas ir kapitalinius įdėjimus, )(),( 21 XfXf

),...,( 91 xxX =

9,...,1],10[ =∈ ixi

• Šis optimalaus projektavimo uždavinys yra tipiškas visai uždavinių klasei, kurią charakterizuoja tokios savybės:

– Leistinoji sritis yra maža, palyginus su intervalinių ribojimų apibrėžta sritimi.

– Tikslo funkcija yra ne tik neiškiloji, bet ir trūkioji. – Tikslo funkcijoje gali atsirasti triukšmas.

Leistinoji sritis

• Leistinosios srities analizė

• Funkcija – indikatorinė funkcija, parodanti ar procesas taške vyksta ar ne. Standartiniais matematinio programavimo metodais sudėtinga rasti šio uždavinio taškus, kuriuose būtų patenkinti visi ribojimai:

• Todėl leistinosios srities analizę pradedam nuo .srities volA0= 0.873

• Taškai patenkantys į leistinąją sritį rasti minimizuojant baudos funkciją:

{ }.4,3,2,1,0)(:]10[ 9 =≤∈= iXgXA i

)(1 Xg X

.4,3,2,1,0)( =≤ iXgi

{ },0)(:]10[ 19

0 =∈= XgXA

∑=

=4

1

2 ).()(i

i XgXP

Pvz., daugiakriterinis uždavinys, kai kriterijų funkcijoms būdingi nereguliarumai

Devynmačio hiperkubo atvaizdas dvimatėje plokštumoje

• Taškams, patenkantiems į leistinąją sritį, artimos hiperkubo viršūnės pažymėtos (+) -2 -1.5 -1 -0.5 0 0.5 1 1.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

1

2

3

4

5

6

7

8

9

10

11

12

1314

15

16

Pvz., daugiakriterinis uždavinys, kai kriterijų funkcijoms būdingi nereguliarumai

Leistinųjų taškų vizualizacija

• Taškų, priklausančių leistinajai sričiai , vizualizavimas (∘) ir jų išsidėstymas hiperkubo viršūnių (⋅) atžvilgiu

-2 -1.5 -1 -0.5 0 0.5 1 1.5-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

4 3 21

1314

1516

5

67

8

9

10

11

12

A

Leistinoji sritis yra arti poaibio, kurį apibrėžia lygybės:

x3=x6=x9=0

x5=x8=1

Šios lygybės apibrėžia keturmatę hiperplokš-tumą devynmatėje erdvėje

Pvz., daugiakriterinis uždavinys, kai kriterijų funkcijoms būdingi nereguliarumai

Statistinės charakteristikos apie leistinuosius taškus

• Leistinųjų taškų koordinačių vidurkių vektorius

• Leistinųjų taškų koordinačių standartinių nuokrypių vektorių

Leistinųjų taškų ir koordinačių

ašių projekcijos į dviejų pirmųjų

pagrindinių komponenčių

plokštumą parodo, kad penkių

koordinačių ašių projekcijos į dvi

pirmąsias komponentes

yra praktiškai nereikšmingos.

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

pc1

pc2

x1

x4x7

x2

)01.073.050.002.097.049.008.083.049.0(=µ

)01.018.029.002.003.028.007.021.029.0(=σ

Pvz., daugiakriterinis uždavinys, kai kriterijų funkcijoms būdingi nereguliarumai

Vizualizavimo ir duomenų analizės apibendrinimas

• Pritaikius vizualizavimo ir duomenų analizės metodus buvo gauta tokia informacija apie nagrinėjamą optimizavimo uždavinį: – Leistinoji sritis daugiausiai nusidriekusi keturmatėje hiper-plokštumoje, kurią apibrėžia

projektavimo kintamųjų sritis. Likusių kintamųjų reikšmės leistinojoje srityje yra arti nustatytų intervalų galų.

– Tačiau du iš likusių kintamųjų nėra nereikšmingi.

• Pagrindinė idėja - naudojant analizę, apibrėžti mažesnio matmenų skaičiaus erdvės uždavinį, kurį būtų paprasčiau išspręsti negu pradinį, devynmatės erdvės, uždavinį.

• Sprendiniai, gauti išsprendus mažesnio matmenų skaičiaus erdvės uždavinį, naudojami kaip pradiniai taškai didesnio matmenų skaičiaus erdvės uždavinio versijoje.

• Iteratyvus daugiapakopis metodas taikomas tol, kol išsprendžiamas pilnas, pradinio matmenų skaičiaus erdvės, uždavinys.

7421 ,,, xxxx

83, xx

Pvz., daugiakriterinis uždavinys, kai kriterijų funkcijoms būdingi nereguliarumai

Dviejų kriterijų uždavinio efektyvūs taškai

• Pareto aibė glotni kintant reikšmėms intervalo [0 1] viduryje ir netolygiai šokinėjanti Pareto aibės kraštuose

λ

Pvz., daugiakriterinis uždavinys, kai kriterijų funkcijoms būdingi nereguliarumai

• Pvz., gaiviųjų gėrimų duomenų vizualizacija

• Figure 9. Soft drink data image obtained by minimizing STRESS function with Euclidean distance

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9STRESSEuc = 0.19178, STRESSBC = 0.32981

PepsiCokeClassic Coke

Diet Pepsi

Diet SliceDiet 7-Up

dr. Pepper

Slice7-Up

Tab

• Pvz., gaiviųjų gėrimų duomenų vizualizacija

• Figure 10. Soft drink data image obtained by minimizing STRESS function with city block distance

0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.70.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9STRESSEuc = 0.28562, STRESSBC = 0.16755

PepsiCoke

Classic Coke

Diet Pepsi

Diet Slice

Diet 7-Up

dr. Pepper

Slice

7-Up

Tab

• Pvz., gaiviųjų gėrimų duomenų vizualizacija

• Figure 8. Pareto front approximation for multidimensional soft drink data

0.18 0.2 0.22 0.24 0.26 0.28 0.30.16

0.18

0.2

0.22

0.24

0.26

0.28

0.3

0.32

0.34

1

2

3

Stresseuc

Stre

ssci

ty

• Pvz., gaiviųjų gėrimų duomenų vizualizacija

• Figure 11. Soft drink data image obtained by solving multi-objective

multidimensional scaling. Criteria function values in Pareto front approximation marked ‘3’

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9STRESSEuc = 0.19779, STRESSBC = 0.27137

PepsiCoke

Classic Coke

Diet Pepsi

Diet Slice

Diet 7-Up

dr. Pepper

Slice7-Up

Tab

• Chen C., Härdle W., Unwin A., Handbook of data visualization, Springer Handbooks of Computational Statistics, Springer, 2008

• Fast Multidimensional Scaling through Sampling, Springs and Interpolation Alistair Morrison, Greg Ross, Matthew Chalmers, Information Visualization 2(1) March 2003, pp. 68-77

• Jones C.V., Visualization and Optimization, Kluwer Academic Publishers, 1996

• P. N. Tan, M. Steinbach, V. Kumar, “Introduction to Data Mining”, Addison-Wesley (2006)

• G. Dzemyda, O. Kurasova, J. Žilinskas, Daugiamačių duomenų vizualizavimo metodai, Mokslo aidai, Vilnius, 2008

• http://www.cs.manchester.ac.uk/pgt/COMP61021/lectures/

• http://pisuerga.inf.ubu.es/cgosorio/Visualization/?Multidimensional_visualization_methods

• http://www.youtube.com/watch?v=VzPpJXISz-E&feature=related

• http://www.ggobi.org/

51