Klasifikavimas

KlasifikavimasKlasifikacijos uždavinys yra specifinis atpažinimo uždavinys, kurio esmė pagal pateiktus objekto (vaizdo, proceso) skaitmeninius duomenis priskirti jį kokiai nors klasei. Laikysime, kad objektas yra aprašomas D-mačiu vektoriumi SD= [ s1 , s2 , … , sD ]’ , o w1 , w2 , … , wL žymi visas klases, kurioms gali priklausyti objektas. Čia ir toliau ‘ žymi transponavimo operaciją. Klasifikacijos uždavinys yra sukurti duomenų žymėjimo algoritmą. Matematine prasme klasifikatoriumi vadinamas bet koks SD vektorių atvaizdis į L žymių (kategorijų) aibę. Kadangi praktiškai žymių skaičius nebūna labai didelis, dažniausiai yra apskaičiuojamos L funkcijų reikšmės o1 , o2 , … , oL , kurios yra interpretuojamos panašumo į atitinkamos kategorijos objektą ir išsirenkamas indeksas su didžiausia panašumo reikšme. Klasifikavimo uždavinys yra skaidomas į dvi dalis. Pirma yra surandamos objekto savybės (angl. features). Pažymėkime objekto savybių skaičių n. Savybės yra apskaičiuojamos remiantis pradiniu objektą aprašančiu vektoriumi SD. Parenkant objekto savybes yra ieškoma kompromiso tarp • Mažo savybių skaičiaus n (n< 0 , f hard(x) = 0 kai x < 0 vėl tinka tj1 = 1 , tj2 = 0. Klasikiniu atveju perceptrono svoriai randami gradientiniu metodu minimizuojant baudos funkciją. Tuo tikslu skaičiuojamos baudos funkcijos dalinės išvestinės atžvilgiu ieškomų parametrų ir svoriai keičiami tokiu iteraciniu būdu: Vt+1 = Vt – baudaV’, ct+1 = ct –  baudac’. Čia baudos išvestinė atžvilgiu vektoriaus žymi gradientą. Slenksčio funkcijai šis gradientinis metodas netinka. Kad pradėti iteracinį procesą, reikia apibrėžti pradinius svorius V0 ir laisvąjį narį c0. Literatūroje rekomenduojama pradines svorių reikšmes imti nedidelius atsitiktinius skaičius. Mes kiek vėliau susipažinsime su trim skirtingais pradinių svorių parinkimo variantais, su kuriais galima gauti visus tris anksčiau nagrinėtus tiesinius klasifikatorius. Grupė parastųjų perceptronų, naudojanti tuos pačius įvesties parametrus, sudaro vienasluoksnį perceptroną. Kelių vienasluoksnių perceptronų struktūra vadinama daugiasluoksniu perceptronu arba dirbtiniu neuroniniu tinklu. Daugiasluoksnio perceptrono įvestį sudaro požymių vektoriaus X = ( x1 , x2 , … , xn )’ komponentės x1 , … , xn. Vieno sluoksnio perceptrono išėjimai (angl. output) sudaro kito sluoksnio įėjimą (angl. input). Perceptronų sluoksniai tarp įėjimo ir paskutinio vadinami paslėptais (angl. hidden). Pateiktas brėžinys iliustruoja dvisluoksnį perceptroną su vienu paslėptuoju sluoksniu, požymių vektorius yra septinmatis, paslėptąjį sluoksnį sudaro trys perceptronai, išvesties (antrąjį) sluoksnį taip pat trys perceptronai.

Dviejų sluoksnių perceptronas.

Paskutiniojo sluoksnio perceptronai naudojami skirtingom klasėm žymėti. Tipiniu atveju paskutinio sluoksnio perceptronų skaičius yra lygus skaičiui skirtingų klasių (kategorijų), kurias reikia atpažinti. Tarkime, jei reikėtų atpažinti skaitmenis, tai atpažinimui tikslinga būtų pasirinkti daugiasluoksnį perceptroną, turintį 10 išeities perceptronų. Daugiasluoksnio perceptrono svoriai taip pat surandami iteraciniu būdu minimizuojant baudos funkciją. Kadangi paslėptųjų sluoksnių perceptronams tiesiogiai nėra kaip parinkti tikslo reikšmes, skaičiuojant gradientą atsiranda tam tikros rekurencijos, vadinamos tji – f ( V’Xji + c ) paklaidų atgaliniu sklidimu (angl. Back Propagation).Apie atgalinio sklidimo algoritmą, skirtą daugiasluoksnių perceptronų mokymui, galite paskaityti http://scitec.uwichill.edu.bb/cmp/online/p21h/Lecture9/lect9.htm. Naudojant slenkstines funkcijas požymių plokštumoje grupes skiriančios ribos sudaro laužtę (laužtė – tolydi kreivė sudaryta iš tiesės atkarpų). Jei perdavimo funkcija f yra diferencijuojama, skiriamoji riba neturi aštrių kampų. Dviejų sluoksnių perceptronų skiriamosios ribos. Punktyrinė linija – naudojama slenkstinė perdavimo funkcija, ištisinė kreivė – glodi perdavimo funkcija

Bendru atveju dvisluoksniu perceptronu su vienu paslėptu sluoksniu naudojant pakankamai daug perceptronų galima gauti kiek norima sudėtingą dvi grupes skiriančią ribą. Esminio skirtumo tarp naudojamų perdavimo funkcijų nėra. Pavyzdžiui, pasirenkant mastelį galima pasiekti, kad sigmoidinė perdavimo funkcija duotų skiriamąsias ribas panašias į ribas gaunamas su slenksčio funkcija. Ryšys tarp paprastojo perceptrono ir euklidinio ir Fišerio klasifikatoriųParodysime, kad tam tikra prasme euklidinis ir Fišerio tiesinis klasifikatoriai yra atskiras paprastojo perceptrono atvejis. Paprastumo dėlei tarkime, kad yra tik dvi grupės (kategorijos), abiejų grupių apmokymo imtys yra vienodo dydžio (N1 = N2 = N = N/2) ir duomenys yra centruoti, t.y.,M = ( M1 + M2 ) / 2 = 0.Toliau laikysime, kad perdavimo funkcija yra tiesėf(x) = x , baudos funkcija apibrėžiama bauda = 1/N i=12 j=1N ( tji – ( V’Xji + c ) ) 2

su simetrinėm tikslo reikšmėm tj1 = 1 ir tj2 = -1 . Parodysime, kad prie šių sąlygų startuojant nuo nulinių svorių V0 = 0 ir nulinės poslinkio konstantos c0 = 0 jau po pirmojo gradientinio vieno perceptrono treniravimo žingsnio gauname naują svorio vektorių ir poslinkio konstantą, su kuriais apskaičiuojamas perdavimo funkcijos argumentas daugiklio tikslumu sutampa su artimiausiojo vidurkio (euklidinio atstumo) metode naudojama klasifikavimui išraiška. Apskaičiavę baudos funkcijos išvestinę atžvilgiu kintamojo c ir gradientą atžvilgiu svorio vektoriaus V, gausime d bauda / dc = -2/N i=12 j=1N ( tji – ( V’Xji + c ) ) = 2 c + 2 V’ M, d bauda / dV = -2/N i=12 j=1N Xji ( tji – ( (Xji)’ V + c ) ) = - M + 2 K V, kur  M = M1 – M2 ir 2 K V = 1/N i=12 j=1N Xji ( Xji )’. Įstatę šiose formulėse pradines nulines svorių ir poslinkio reikšmes, gauname tokias atnaujintas po pirmosios iteracijos reikšmes: V1 = V0 – d bauda / d V =  M , c1 = c0 – 0 = 0.  baudac’. Taigi daugiklio tikslumu išraiškos naudojamos klasifikuoti arčiausiojo vidurkio ir perceptrono, gaunamos po pirmosios iteracijos, yra vienodos. Kadangi klasifikuojama pagal diskriminantinės funkcijos ženklą, tai daugiklis nekeičia klasifikavimo rezultatų.Aprašytas rezultatas teisingas bet kokiai nelyginiai diferencijuojamai perdavimo funkcijai. Taigi, jei 1. apmokymo imtis yra centruota ta prasme, kad požymių vidurkio vektorius M = 0; 2. apmokymas pradedamas su nuliniais svoriais ir poslinkio konstanta; 3. dviejų grupių apmokymo imtys vienodos ir tikslo reikšmės simetrinės, t.y, N1 = N2 = N ir t1 = -t2. 4. naudojamas pilnojo gradiento metodas (angliškai sakoma, kad iteracinis procesas atliekamas su batch mode .) Fišerio klasifikatorius gaunamas minimizuojant baudos funkciją antrosios eilės metodu. Prilyginę baudos funkcijos gradientą nuliniam vektoriui, randame svorio vektoriaus išraišką V = 1/2 K-1 M. Centruotiems duomenims (M = 0) matricą K galime išreikšti K = (N-1)/N  + 1/4M M’, kur  kovariacinės matricos įvertis  = 1/(N1 + N2 – 2) i=12 j=1Ni ( Xji – Mi ) ( Xji – Mi )’.
Naudodami Bartleto teigiamos simetrinės matricos apgrąžos formulę (A + VV’)-1 = A-1 – ( A-1VV’A-1 ) / ( 1 + V’A-1V ) , svorio vektorių išreikšime V = k -1M, kur k = 2 / ( D2 + 4(N-1)/N ) ir D2 = M’ -1 M .Taigi vėl iš paprasto perceptrono vienu antrosios eilės baudos minimizavimo būdu gauta svorio išraiška duoda daugiklio tikslumu tą pačią išraišką kaip ir Fišerio tiesinis klasifikatorius.