Išči po prispevkih:

Home | 6-tehnologija | 68-računalništvo


Strojno učenje

By: Klemen Polanec


Uvod

Strojno učenje je področje umetne inteligence, ki se ukvarja z razvojem tehnik, ki omogočajo računalnikom oz. strojem, da se lahko učijo. Strojno učenje je v bistvu metoda za kreiranje računalniških programov na podlagi podatkov(vzorcev). Strojno učenje se močno opira na statistiko, saj se tudi statistika ukvarja z podatki, vendar v nasprotju z njo, se strojno učenje bolj ukvarja z samimi algoritmi in računskimi operacijami.
Strojno učenje ima širok spekter uporabnosti, in se uporablja pri iskalnikih(splet), medicinski diagnozah, detekciji ponarejenih dokumentov, analizi gibanja tečajev na borzah, razpoznavanju DNA sekvenc, razpoznavanju govora in pisave, razpoznavanju objektov pri strojnem vidu, računalniških igrah, robotiki itd.
Nekateri sistemi strojnega učenja poskušajo eliminirati potrebo po človeški intuiciji pri analizi podatkov, medtem ko drugi sistemi temeljijo na sodelovanju med človekom in strojem.
Algoritme strojnega učenja delimo na več vrst, glede na to kaj je njihov cilj oz. rezultat učenja.

1 Učenje z učiteljem ali nadzorovano učenje

Učenje z učiteljem ali nadzorovano učenje je princip strojnega učenja za kreiranje (modeliranje) funkcije na podlagi učne množice vzorcev. Učna množica vzorcev je par množice vzorcev in množice njihovih oznak razredov oz. par množice vhodnih podatkov sistema in množice željenih izhodov sistema. Izhod funkcije-sistema je lahko zvezno področje vrednosti - regresija ali pa enolična oznaka razreda kateremu recimo pripada dan vzorec oz. vhodni podatki - klasifikacija. Naloga učečega sistema je, da generalizira znanje, ki ga dobi iz učne množice na pravilen način. Rezultat učenja z učiteljem je v večini primerov nek globalen model funkcije, ki preslika vhodne podatke v nek željeni izhod. Vendar je v nekaterih primerih ta preslikava sestavljena iz lokalnih modelov, kot naprimer pri algoritmih najbližjega soseda in primer-temelječem razumevanju. Postopek učenja z učiteljem je sestavljen iz naslednjih korakov:
Najprej je treba določiti področje uporabe. S tem naprimer tudi določimo vrsto podatkov, ki jih bo sistem obdeloval.
Naseldnji korak je zbiranje podatkov na katerih se bo sistem učil. Ti podatki morajo biti značilni za področje v katerem bo v končni fazi sistem deloval.
Definirati je treba tudi značilke vzorcev. Pravilnost modelirane funkcije je precej odvisna od izbire značilk.
Določiti je treba tudi strukturo modela, naprimer lahko se odločimo za nevronske mreže ali odločitvena drevesa.
Izvedba algoritma učenja na učni množici vzorcev. Parametre algoritma se nastavi optimalno glede na testno množico vzorcev (ta je lahko podmnožica učne množice ali pa ne).
Algoritmi in pristopi strojnega učenja:

1.1 Klasifikacija ali uvrščanje

Eno najpogosteje uporabljenih področij strojneg učenja je klasifikacija ali uvrščanje. Naloga klasifikatorja je za objekt, opisan z množico značilk določiti, kateremu izmed možnih razredov pripada. Značilke so neodvisne zvezne ali diskretne spremenljivke, s katerimi opisujemo objekte, razred pa je odvisna diskretna spremenljivka, ki ji določimo vrednost (izberemo razred) glede na vrednosti neodvisnih spremenljivk. Zato, da lahko klasifikator določi razred, mora imeti na nek način predstavljeno diskretno funkcijom, ki preslika prostor atributov v razred. Ta funkcija je lahko podana vnaprej ali pa je naučena iz podatkov – primerov problemov rešenih v preteklosti. Naloga učnega algoritma je torej iz množice vzorcev z znanimi njim pripadajočimi razredi zgraditi pravilo (izpeljati preslikavo izračunati funkcijo), ki ga lahko uporabimo pri klasifikaciji.
Klasifikatorje ločimo glede na način predstavitve klasifikatorjeve funkcije. Najbolj pogosti klasifikatorji so: odločitvena drevesa, odločitvena pravila, naivni Bayes-ov klasifikator, Bayes-ove verjetnostne mreže, klasifikator z najbližjimi sosedi, linearna diskriminantna funkcija, logostična regresija, klasifikator po metodi podpornih vektorjev (SVM) ter usmerjene (večnivojske nevronske mreže).
Primer klasifikacijskega problema je postavljanje medicinske diagnoze. Pacient je opisan z zveznimi atributi, kot so starost, višina, teža, srčni utrip, itd, ter z diskretnimi atributi kot so barva kože, lokacija bolečine, itd. Naloga klasifikatorja je postaviti diagnozo t.j. določiti enega izmed možnih razredov. Npr. pacient je zdrav, ima gripo, je prehlajen, itd.

1.1.1 Odločitvena drevesa in pravila

Algoritmi za gradnjo odločitvenih dreves in pravil glede na oceno informativnosti posameznih značilk izbirajo značilke in ustrezne podmnožice njihovih vrednosti za gradnjo odločitvenega oziroma pravila. Tako dobljene pogoje najpogosteje konjunktivno dodajajo k pogojnemu delu pravila. Sklepni (odločitveni) del pravila pa vsebuje enega ali več razredov, ki jim pripadajo ustrezni učni primeri. Klasifikacija novega primera potek tako, da se sproži ustrezno pravilo.
Pri odločitvenih drevesih in pravilih so pogoji oblike A=V; V={V1, V2, ..., Vn}, tako da je treba značilke vnaprej diskretizirati ali pa, kar je bolj splošno, pogoje oblikovati v npr. AV itd.

1.1.2 Bayes-ov klasifikator

Naloga Bayes-ovega klasifikatorja je izračunati pogojne verjetnosti za vsak razred pri danih vrednostih (vseh) značilk za dani vzorec, ki ga želimo klasificirati. Bayes-ov klasifikator, ki eksaktno izračuna pogojne verjetnosti razredov, je optimalen, saj minimizira pričakovano napako. Ker Bayes-ovega klasifikatorja, ki bi eksaktno izračunal pogojne verjetnosti razredov, ne poznamo (razen v primerih, ko učna množica pokriva celoten prostor vrednosti vseh atributov), je potrebno izračunati približke verjetnosti z vpeljavo določenih predpostavk.
Naivni Bayes-ov klasifikator predpostavi pogojno neodvisnost atributov (značilk) pri danem razredu. To omogoči, da ponavadi učna množica zadošča za zanesljivo oceno vseh potrebnih verjetnosti za izračun končne pogojne verjetnosti vsakega razreda. Implementacije naivnega Bayes-ovega klasifikatorja ponavadi predpostavljajo samo diskretne znčilke, zato je v takih premerih potrebno zvezne atribute vnaprej ustrezno diskritizirati.
Posplošitev naivnega Bayes-ovega klasifikatorja so Bayes-ove verjetnostne mreže, kjer z usmerjenim acikličnim grafom modeliramo odvisnosti med značilkami in razredom in s tem implicitno predpostavimo pogojne neodvisnosti med tistimi značilkami (vozlišči v grafu), ki med seboj niso neposredno povezani. Struktura Bayes-ove mreže je lahko dana vnaprej (kot predznanje), ali pa jo učni algoritem zgradi na osnovi ocen (ne)odvisnosti značilk vzorcev v učni množici. Acikličnost grafa zagotavlja učinkovitost izračuna pogojnih verjetnosti vseh razredov. Bayes-ove verjetnostne mreže se uporabljajo tudi za modeliranje verjetnostne distribucije na z značilkami opisani poblemski domeni brez razreda (učenju na podatkih brez odvisne spremenljivke, razreda, pravimo tudi nenadzorovano učenje).

1.1.3 Klasifikator z najbližjimi sosedi

Najpreprostejša varianta algoritma najbližjih sosedov (k-NN) kot znanje uporablja kar množico vseh učnih vzorcev (učni algoritrm si samo zapomni vse vzorce). Pri uvrščanju novega vzorca se iz učne množice poišče nekaj najbolj podobnih (najbližjih) vzorcev. Nov vzorec uvrstimo v razred, ki mu pripada največ bližjih sosedov. Pri tem je potrebno zaradi ustrezne metrike v prostoru značilk normalizirati vrednosti zveznih značilk in definirati radzaljo (metriko) med vrednostmi vsake diskretne značilke.

1.1.4 Diskriminantne funkcije

Naloga učnega algoritma je izračunati vrednosti koeficientov vnaprej podane diskriminantne funkcije, ki predstavlja hiperploskev med dvema razredoma v prostoru značilk. Hiperploskev lahko definiramo samo v zveznem prostoru, torej morajo biti vse značilke zvezne. Če imamo več kot dva razreda, potrebujemo za vsak par razredov eno hiperploskev. Diskriminantne funkcije so lahko linearne, kvadatične, polinomske itd. V primeru linearne diskriminantne funkcije poskušamo primere iz dveh razredov med seboj ločiti s hiperravnino. Koeficiente določimo tako, da je napaka uvrstitve v razred čim manjša.
Običajna Fisherjeva linearna diskriminantna funkcija predpostavlja normalno porazdelitev vzorcev znotraj vsakega razreda in maksimizira razdaljo med povprečnim učnim vzorcem iz prvega razreda in povprečnim učnim vzorcem iz drugega razreda. Pri tem upošteva različno varianci dveh razredov in poišče optimalno ločilno mejo med razredoma.
Pri metodi podpornih vektorjev (SVM), je potrebno optimizirati več kriterijev. Maksimizirati je potrebno razdaljo podpornih vektorjev od ločitvene hiperravnine. Podporni vektorji so tisti vzorci, ki so najbližje hiperravnini in na ta način določajo rob okoli hiperravnine. Torej po tej metodi želi maksimizirati širino roba. Ker mnogi klasifikacijski problemi niso eksaktno rešljivi z linearno funkcijo, metoda SVM uporablja implicitno transformacijo značilk v (potencialno veliko, lahko tudi neskončno) množico novih značilk s t.i. jedrnimi funkcijami. Od izbire ustreznega jedra je odvisna uspešnost metode SVM. Ker lahko vsak klasifikacijski problem rešimo eksaktno z dovolj zapleteno funkcijo, je treba upoštevati tudi kompleksnost rešive, kar pomeni minimizacijo vsote uteži vseh značilk. Kljub nelinearni transformaciji značilk se moramo zadovoljiti z napačno uvrstivijo nekaterih vzorcev, kar pa želimo seveda minimizirati. Potrebno je torej poiskati ustrezen kompromis med vsemi kriteriji. Metoda SVM uporablja različne optimizacijske algritme, ki optimizirajo vse kriterije hkrati. Še vedno pa obstajajo parametri, ki utežujejo posamezne kriterije, in je treba njihovo najboljšo vrednost določiti empirično.

1.1.5 Umetne nevronske mreže

Algoritmi umetnih nevronskih mrež skušajo oponašati biološke nevronske mreže tako, da nevron abstrahirajo na preprost element, ki zna seštevati utežene vhodne signale in rezultat normalizirati s pragovno funkcijo. Take preproste umetne nevrone potem lahko povezujemo v poljubno kompleksne umetne nevronske mreže. Za klasifikacijo se najpogosteje uporabljajo usemrjene večnivojske umetne nevronske mreže, ki kaskadno povezujejo več nivojev nevronov: vhodni nevroni, ki ustrezajo značilkam, eden ali več nivojev skritih nevronov in izhodni nevroni, ki ustrezajo razredom. Naloga učnega algoritma je nastaviti uteži na povezavah med nevroni (iz katerih vsak nevron izračunava uteženo vsoto) tako, dabo klasifikacijska napaka čim manjša. Med klasifikacijo novega vzorca nevronska mreža na vhodu dobi vrednost značilk za dani novi vzorec. Zatem vsak nevron na naslednjem nivoju izračuna svoj izhod, kot uteženo vsoto svojih vhodnih signalov. Izračun na zadnjem nivoju določi razred novemu vzorcu.

1.1.6 Hibridni algoritmi

Hibridni algoritmi ali deli algritmov kombinirajo več različnih pristopov, tako da izkoriščajo prednosti posameznih preistopov in jih združujejo v potencialno boljše algoritme. Zaradi lepih lastnosti naivnega Bayes-ovega klasifikatorja se ga pogosto kombinira z drugimi algoritmi, da bi se vsaj delno izognili njegovi naivnosti. Primeri takih algoritmov pri klasifikaciji so:
K-NN naivni Bayes: ideja je za klasifikacijo novega vzorca uporabiti algoritem naivnega Bayes-a, ki je naučen iz K najbližjih sosedov novega primera. S tem se omili naivnost osnovnega (globalnega) naivneg Bayes-ovega klasifikatorja, saj je le ta prilagojen lokalni distribuciji, ki implicitno upošteva medsebojno odvisnost znčilk. Pri tem mora biti parameter K primerno večji kot pri običajnem algoritmu najbližjih sosedov(npr. K>30), saj premajhen K ne bi zadostoval za zanesljivo učenje naivnega Bayes-a.
Razvrščanje ij naivni Bayes-ov klasifikator: primere iz vsakega razreda najprej z nekim algoritmom razvrščanja (rojenja) razvrstimo v več podrazredov. Na tako razdrobljenih podrazredih, ki jih je seveda več kot originalnih razredov, zatem učimo naivnega Bayes-a. Smisel je v tem, da prepustimo algoritmu razvrščanja, da (z upoštevanjem odvisnosti med značilkami) odkrije lokalno koherentne podpprostore, ki se jih lahko naivni Bayes nauči razlikovati med seboj.
Uporaba naivnega Bayes-a v listih odločitvenega drevesa: upamo, da odločitveno drevo, ki upošteva odvisnosti značilk, razbije prostor na podprostore, kjer med preostalii značilkami, ki jih ni na ustrezni veji od korena do lista, ni močnih odvisnosti in je zato klasifikacija z naivnim Bayes-om dovolj zanesljiva, Pri tem je treba gradnjo odločitvenega drevesa prej ustaviti (močneje porezati drevo), da je v listih dovolj primerov za učenje naivnega Bayes-ovega klasifikatorja.
Uporaba naivnega Bayes-a (ali kakega drugega preprostega klasifikatorja) v notranjih vozliščih odločitvenega drevesa: namesto, da uporabimo značilke za gradnjo drevesa, uporabimo preprost klasifikator, tako da ima vozlišče po enega nasednika za vsak razred. Klasifikator se uči na vzorcih iz vozlišča in zatem klasificira te vzorce v razrede in s tem jih uvršča po vejah, ki vodijo v naslednike. Naloga klasifikatorja v nasledniku je pravilno klasificirati vzorce, ki so bili prej napačno klasificirani, tako da ima to to vozlišče zopet po enega naslednika za vsak razred. Gradnja drevesa se rekurzivno nadaljuje, dokler niso vsi primeri pravilno klasificirani, oz. je izpolnjen kak drug kriterij za ustavitev gradnje.

1.2 Regresija

Naloga regresijskega predikatorja je za vzorec, ki je tako kot pri klasifikaciji opisan z množico atributov (vektorjem značilk), določiti vrednost odvisne (regresijske) spremenljivke, ki pa je, za razliko od klasifikacijskega razreda, zvezna (številska). Naprimer klasifikacijski problem bi bil postavitev medicinske diagnoze; če namesto tega določamo npr. index težavnosti obolenja, imamo opravka z regresijiskim problemom, saj je odvisna spremenljivka zvezna. Podobno kot pri klasifikaciji mora tudi regresijski predikator imeti na nek način predstavljeno zvezno funkcijo, ki preslika prostor atributov (značilk) v napovedano vrednost. Ta funkcija je lahko podana vnaprej ali pa je naučena iz podatkov – primerov rešenih problemov v preteklosti. Naloge učnega algoritma je torej iz množice vzorcev z znanimi vrednosti odvisne spremenljivke izračunati zvezno funkcijo, ki jo lahko uporabimo za določanje rvednosti regresijske spremenljivke novih prinerov.
Regresijske predikatorje ločimo glede na način predstavitve regresijske funkcije. Najbolj pogosti regresorji so: regresijska drevesa, linearna regresija, lokalno utežena regresija, regresija po metodi podpornih vektorjev ter usmerjene (večnivojske) umetne nevronske mreže.

1.2.1 Regresijska drevesa

Algoritmi za gradnjo regresijskih dreves, podobno kot pri odločitvenih drevesih, glede na oceno posameznih atributov (značilk) v vozliščih izbirajo atribute (značilke) in ustrezne podmnožice njihovih vrednosti za gradnjo regresijskega drevesa. Vozlišča v drevesu predstavljajo atribute, veje vrednosti atributov (konjunktivne pogoje) in listi predstavljajo sklepni del pravila, ki je poljubna zvezna funkcija, ki preslika vrednosti ostalih atributov v vrednost regresijske spremenljivke. Zvezni in diskretni atributi v notranjih vozliščih regresijskega drevesa se obravnavajo tako kot pri odločitvenih (klasifikacijskih drevesih). V listih pa imamo opravka z zvezno funkcijo, ki predpostavlja, da so vsi preostali atributi zvezni. Najpogosteje se uporabljata točkovna funkcija (povprečna vrednost odvisne spremenljivke pri ustreznih učnih primerih) ter linearna regresijska funkcija.

1.2.2 Lokalno regresija

Linerna regresijska funkcija predpostavlja, da so vsi atributi (značilke) zvezni (in ustrezno normalizirani) ter da obstaja linearna relacija med odvisno regresijsko spremenljivko in atributi. Treba je le določiti koeficiente linearne funkcije tako, da minimiziramo vsoto kvadratov napak napovedi regresijske spremenljivke preko vseh učnih primerov. V ta namen lahko uporabimo bodisi analitično rešitev, bodisi iterativen algoritem za iskanje optimalne funkcije. Rezultat je hiperravnina, ki za vsak primer določa vrednost odvisne spremenljivke. Napaka za nek primer je njegova razdalja od hiperravnine v smeri osi, ki ustreza odvisni spremenljivki. Pri nelinearnih problemih lahko bodisi uporabimo funkcijo, ki je sestavljena (zlepljena) iz več lokalno linearnih funkcij, bodisi uporabimo v linearni kombinaciji tudi nelinearne člene, in dobimo npr. kvadratno, polinomsko, logaritemsko itd. funkcijo.

1.2.3 Lokalno utežena regresija

Algoritem najbližjih sosedov prilagodimo za regresijo tako, da linearno regresijsko funkcijo izračunamo samo za vrednosti regresijske spremenljivke danih najbližjih učnih vzorcev. Tako je linearna regresija prilagojena lokalnim lastnostim prostora učnih vzorcev. Ki so najbolj podobni novemu vzorcu, katerega regresijsko vrednost iščemo. Seveda lahko namesto linearneregresije uporabimo kar povprečno vrednost ali pa kako drugo relativno preprosto funkcijo (zapletenih funkcij si ne moremo privoščiti zaradi majhnega števila najbližjih sosedov). Tako kot pri K-NN tudi tu lahko uporabimo uteževanje primerov z razdaljo.

1.2.4 Metoda podpornih vektorjev v regresiji

Ker SVM uporabljajo implicitno transformacijo prostora značilk s pomočjo jedrnih funkcij, ni potrebno uporabljati nelinearnih funkcij za predstavitev hiperploskve. Metodo SVM lahko prilagodimoza reševanje regresijskih problemov tako, da definiramo rob okoli regresijske hiperravnine, znotraj katerega menimo, da je odvisna spremenljivka za vse vzorce eksaktno napovedana, zunaj njega pa so podporni vektorji, ki dejansko določajo potek hiperravnine. Seveda želimo tukaj rob okoli hiperravnine minimizirati, hkrati pa želimo minimizirati tudi napako na učnih primerih. Podobno kot pri klasifikacijskih SVM je treba optimizirati kriterijsko funkcijo, ki upošteva napake napovedi regresijske spremenljivkvke na učnih vzorcih ter kompleksnost funkcije (veliko uteži implicitno generiranih značilk).

1.2.5 Umetne nevronske mreže

Podobno kot za klasifikacijo se za regresijo najpogosteje uporabljajo usmerjene večnivojske umetne nevronske mreže, ki kaskadno povezujejo vhodne nevrone (ki ustrezajo značilkam), eden ali več nivojev skritih nevronov in en sam izhodni nevron, ki ustreza regresijski spremenljivki. Naloga učneg aalgoritma je nastaviti uteži na povezavah med nevroni (iz katerih vsak nevron izračunava uteženo vsoto) tako, da bo regresijska napaka čim manjša.

1.2.4 Hibridni algoritmi

Tako kot pri klasifikaciji lahko tudi pri regresiji različne algoritme ali dele algoritmov kombiniramo, tako da izkoriščamo prednosti posameznih pristopov in jih združujemo v potencialno boljše algoritme. Primer takega algoritma je pravzaprav že prej omenjena uporaba linearne regresije ali lokalno utežene regresije (ali kake druge dovolj preproste regresijske metode) v listih regresijskega drevesa – upamo, da regresijsko drevo razbije prostor na podprostore, na katerih preprosti regresorji dovolj dobro delujejo. Pri tem je treba, podobno kot pri odločitvenih drevesih, gradnjo regresijskega drevesa ustaviti prej (močneje porezati drevo), da je v listih dovolj vzorcev za učenje izbranega regresijskega algoritma.

1.3 Asociacije in logične relacije

Pri učenju logičnih relacij je, za razliko od klasifikacije, naloga namesto izpeljave diskretne funkcije izpeljava logične relacije, na katero lahko gledamo kot na posplošitev diskretne funkcije. Relacija je za razliko od funkcije večsmerna – ne obstaja ena ciljna (odvisna) diskretna spremenljivka (razred), ampak so si spremenljivke (značilke) med seboj enakovredne – včasih so podane vrednosti nekaterih spremenljivk in nas zanimajo vrednosti preostalih spremenljivk in obratno. Lahko so podane vrednosti vseh spremenljivk in samo želimo preveriti, če je relacija v tem primeru izpolnjena (resnična). Glede na izrazno moč jezika za predstavitev učnih primerov in naučenega znanja pristope k učenju ločimo na učenje asociacij in na induktivno logično programiranje.

1.3.1 Asociacije

O asociacijah govorimo, če uporabljamo opis z značilkami, tako kot pri klasifikaciji in regresijim s to razliko, da ni posebne odvisne spremenljivke, ampak je vsaka spremenljivka lahko odvisna oz. izhodna ali neodvisna oz. vhodna. Zaradi nedoločenosti odvisne spremenljivke včasih pravimo takemu učenju tudi nenadzorovano učenje. V principu se lahko učimo asociacij tako, da problem razbijemo na toliko klasifikacijskih oz. regresijskih problemov, kolikor je značilk za opis vzorca. Za vsako diskretno značilko vpeljemo en klasifikacijski problem, kjer ta predstavlja odvisno (regresijsko) spremenljivko, vse ostale značilke pa kot neodvisne spremenljivke. Torej dobimo toliko učnih problemov, kot je značilk. Posebna pristopa k asociacijam so asociativne nevronske mreže in povezovalna pravila.

1.3.1 Asociativne nevronske mreže

To so umetne nevronske mreže, kjer so vsi nevroni lahko vhodni in izhodni hkrati. Vsak nevron je povezan z vsakim drugim z dvosmerno povezavo, tako da lahko signal potuje v obe smeri. Uteži na povezavah se pomnožijo s signalom in vsak nevron izračunava uteženo vsoto vseh svojih vhodov. Normalizirana utežena vsota predstavlja stanje nevrona, ki predstavlja vrednost ustreznega atributa. Pri asciativnih nevronskih mrežah je začetno stanje podano z znanimi vrednostmi atributov. Zatem vsi nevroni vzporedno in asihrono izračunavajo svoja nova stanja (kar pomeni da se nevronom z neznanimi vrednostmi določijo vrednosti, tistim z določenimi pa se vrednosti lahko eventuelno spremenijo). Ko se vrednost nobenega nevrona ne spreminja več, dobimo končne vrednosti vseh nevronov(atributov - značilk) kot izhod.
Glede na učni algoritem , ki mora nastaviti uteži na povezavah, ločimo Hopfieldove in Bayes-ove nevronske mreže. Učenje Hopfield-ove nevronske mreže temelji na korelaciji aktivnosti stanj med posameznimi nevroni. Pri Bayes-ovih nevronskih mrežah vsak nevron uporablja pravilo naivnega Bayes-a za izračun utežene vsote in je temu primerno prilagojeno učno pravilo, ki izračuna pogojne vrejetnosti aktivnosti enega nevrona pri dani aktivnosti drugega nevrona. Asociativne nevronske mreže se lahko uporabljajo pri problemih prepoznavanja, kjer je ponavadi poznan sam del podatkov in je treba prepoznati celoto, Npr. pri prepoznavanju osebe je lahko podan del obraza in je treba rekonstruirati cel obraz. Drugo področje uporabe so kombinatorični optimizacijski problemi, kjer parametri »tekmujejo« med seboj, tako da npr. povečanje vrednosti enega parametra zmanjša vrednost drugih parametrov in obratno. Mreža iz danega začetnega stanja poišče kompromisno stanje.

1.3.2 Povezovalna pravila

Povezovalna pravila so podobna klasifikacijskim pravilom, s to razliko, da v sklepnem delu nastopa poljuben (diskretni) atribut, v pogojnem delu pa konjunkcija pogojev iz podmnožice preostalih atributov. Namen učenja povezovalnih pravil na bazi podatkov je iskanje zanimivih relacij med atributi, ki lahko doprinesejo zanimiva (nova) spoznanja o samih podatkih oziroma o zakonitostih v dani problemski domeni. Naloga učnega algoritma je poiskati vsa povezovalna pravila, ki so dovolj točna in hkrati zanimiva (se lahko dovolj pogosto uporabijo).
Povezovalna pravila so se najprej uveljavila pri analizi podatkov o nakupovanju izdelkov v trgovinah. Z njihovo pomočjo lahko trgovci načrtujejo npr. razporeditev artiklov na policah. Pravilo npr. lahko pove, da če je nekdo izbral moko, orehe in sladkor, je velika verjetnost, da bo kupil tudi jajca.

1.3.3 Induktivno logično programiranje (ILP)

Če za opisani jezik uporabljamo predikatni račun prvega reda, potem se najpogosteje omejimo na izraze v programskem jeziku prolog. Učni problem je podan s predznanjem (poljubna množica relacij/programov v prologu) in z množico pozitivnih in negativnih dejstev za ciljno relacijo. Maloga algoritma je izpeljati relacijo/program v prologu, ki pravilno pokriva čem več pozitivnihprimerov in čim manj negativnih primerov. Induktivno logično programiranje se v praksi uporablja na geometrijskuh in prostorskih problemih, kot so npr. problem določanja strukture kemijske spojine, problem določanja strukture proteinov, problem iskanja funkcij genov v biologiji ipd. Za ILP so primerni tudi problemi tridimenzionalnega načrtovanja in/ali razpoznavanja prostorov, reševanje problemov statike in trdnosti v strojništvu itd.

1.4 Odkrivanje zakonitosti – sistemi (diferencialnih) enačb

Pri modeliranju realnega sveta imamonajpogosteje opravka z meritvami raznih procesov, ki so medsebojno povezani in odvisni. Z učenjem sistema enačb, ki ustreza meritvam, želimo odkriti, kakšne so te odvisnosti, hkrati pa sistem enačb lahko uporabimo za simulcijo in napovedovanje. Tu gre večinoma za realne (zvezne) spremenljivke in za numerične relacije in odvisnosti, medtem ko pri ILP lahko nastopajo tudi diskretne spremenljivke in nas zanimajo predvsem logične relacije in odvisnosti. Pri učenju sistema enačbje lahko struktura podana vnaprej (kot predznanje), ali pa, kar je seveda težje za učenca, mora učni algoritem iz učnih podatkov izpeljati poleg vrednosti koeficientov tudi strukturo enačb. Če gre za modeliranje dinamičnih sistemov, iz katerih stanja se s časom zvezno spreminjajo, je treba izpeljati sistem parcialnih diferencialnih enačb. Naloga učnega algoritma je poiskati čim preprostejši sistem enačb, ki karseda natančno opisuje vhodne podatke. Tako modeliranje se uporablja npr. v meteorologiji pri modeliranju vremenskih sistemov, v ekologiji pri modeliranju naravnih podsistemov, v strojništvu pri modeliranju tehničnih procesov itd.

2 Učenje brez učitelja ali nenadzorovano učenje

Učenje brez učitelja ali nenadzorovano učenje je metoda strojnega učenja, ki temelji na podatkih, kjer imamo podane samo značilke vzorcev,nimamo pa podanih razredov, katerim pripadajo. Naloga učnega algoritma je določiti te razrede. Učenje brez učitelja se povezuje z razvrščanjem, kar je nasprotno od klasifikacije(učenje z učiteljem). Število želenih razredov je lahko podano vnaprej kot preznanje, ali pa mora primerno število razredov določiti sam učni algoritem. Naloga učnega algoritma je torej določiti relativno majhno število koherentnih razredov; t.j. skupin vzorcev, ki so si med seboj čimbolj podobni. Podobnost med vzorci je odvisna od izbrane mere odobnosti, ki je odločilnega pomena za rezultat razvrščanja. Primerna mera podobnosti je lahko del predznanja.
Algoritmi tipično uporabljajo enega od treh osnovnih pristopov.

2.1 Od spodaj navzgor

Na začetku vsak vzorec pripada svojemu razredu. Algoritem iterativno združuje najbolj podobne razrede med seboj, dokler ne ostaneta samo še dva razreda. Zatem uporabnik ali pa sam istem izbere najustreznejše število razredov.

2.2 Od zgoraj navzdol

Na začetku vsi vzorci pripadajo enemu razredu. Zatem algoritem iterativno razbija razrede na podrazrede, dokler ne doseže željenega števila razredov.

2.3

Na začetku se naključno izbere n vzorcev kot nosilce razredov, kjer je n željeno število razredov. Zatem se vsi vzorci glede na podobnost razvrstijo v enega od n razredov. Glede na lastnosti posameznih razredov se izbere n novih predstavnikov razredov (pri tem lahko en razred da več kot enega predstavnika in kak drug razred nobenega predstavnika). Cel postopek se ponavlja, dokler niso razredi zadovoljivo koherentni.
Razvrščanje se uporablja pri analizi naravnih in tehnoloških procesov, pri analizi ekonomskih trendov, pri preverjanju konsistentnosti in odvisnosti podatkov itd.

3 Učenje z ojačanjem oz. spodbujevano učenje

Učenje z ojačanjem oz. spodbujevano učenje se ukvarja z problemom, kako nekega avtonomnega agenta v danem okolju naučiti optimalneih akcij za dosego zastavljenih ciljev. Agent dobiva iz okolja podatke o trenutnem stanju ter z akcijami (potezami, odločitvami) vpliva na to, da se stanje okolja spreminja. Poleg opisa stanja lahko agent dobi tudi nagrado ali kazen, ki pa ni nujno posledica zadnje akcije, ampak lahko do take nagrade ali kazni vodi zaporedje več, mnogokrat zelo veliko akcij. Ker je povratna informacija v obliki nagrade ali kazni zakasnjena, je učenje zaradi tega otežkočeno in počasnejše. Učenec lahko izbira med bolj konzervativnim pristpom in se zanaša na naučeno, ali pa poskuša raziskovati in uporablja redkejše akcije oz. poteze, da si pridobi izkušnje v novih, neznanih situacijah. Naloga učenca je sestaviti optimalno strategijo, ki maksimizira ustrezno uteženo vsoto vseh nagrad, oziroma minimizira uteženo vsoto vseh kazni. Ker običajno želimo čim prej priti do želenega ciljnega stanja, je utežite nagrad ponavadi taka, da so najbolj pomembne takojšnje nagrade. Najpogostejši pristop k spodbujevanemu učenju je iterativno ažuriranje tabele ocen možnih akcij iz danega stanaj(t.i. učenje Q). S spodbujevanim učenjem se rešujejo problemi kontrole dinamičnih sistemov (npr. Problem upravljanja žerjava, upravljanje robota itd.), razni optimizacijski problemi ter igranje iger (npr. igranje šaha, dame, taroka itd.).

Zaključek

Strojno učenje, kot veda pozna več pristopov. Način izbire pristopa, pa je močno odvisen od problema, njegove kompleksnosti in možnosti poenostavitve. Ravno tako lahko pristope med seboj kombiniramo v hibridne sisteme, če predhodno problem segmentiramo. Področje strojnega učenja ponuja veliko možnih implementacij rešitev problemov z najrazličnejših področij. Čeprav se veda še razvija, pa menim, da praksa zaostaja za teorijo, in bi se lahko metode strojnega učenja več uporabljale pri reševanju praktičnih problemov na najrazličnejših področjih.

Literatura

[1] N.Pavešić: Razpoznavanje vzorcev, Zal. FE, Ljubljana 2000, 326 str., naklada 300 izvodov, 2. razširjena izdaja.

[2] I.Kononenko: Strojno učenje, Zal. FE in FRI, Ljubljana 2005,
452 str., naklada 300, 2. popr. in dopol. izdaja.

Drugi uporabljeni viri

[3] spletna stran:
http://www.wikipedia.org

[4] spletna stran:
http://www.cs.dartmouth.edu/%7Ebrd/Teaching/AI/Lectures/Summaries/learning.html
[5] spletna stran:
http://www.aaai.org/AITopics/html/overview.html


Ta prispevek je na portalu Publikacije.net objavil/a Klemen Polanec dne 2006-10-12.


Ocenite prispevek:

 

# of Ratings = 4 | Rating = 5/5

Kliknite na XML znak in spremljajte kategorijo [68-Računalništvo] preko RSS!



Publikacije.net - portal svobodnega znanja









Powered by Article Dashboard