Machine learning

Save mokančios sistemos (machine learning) , kaip dirbtinio intelekto dalis, apima labai plačią procesų sritį, kuriuos labai sunku aprašyti vienu apibrėžimu. Kas liečia save mokančia mašinas, galima sakyti, kad sistema išmoksta tai – kas keičia jos struktūrą, programą ar jos informaciją, tokiu būdu keičiant tikimasi pagerinti, patobulinti sistemos darbą ateityje. Kai kurie iš šių pakeitimų, tokie kaip papildomas įrašas duomenų bazėje, yra labai patogus disciplinų srityje ir nėra geriau būtinas suprasti mokymąsi kaip reikšmę. Bet pavyzdžiui, kai yra vykdomas kalbos aatpažinimo (speech-recognition) sistemos tobulinimas po klausymosi kelių pavyzdžių (samples), vieno žmogaus, iš dalies mes galime sakyti, kad sistema išmoko, įsiminė „samplus“. Bendrai tariant save mokančios sistemos yra dalis kompiuteriu mokslo, kuris susijęs su sistemomis galinčiomis mokytis iš joms pateikiamų duomenų, ar iš save mokančių sistemų atliktų veiksmų. Save mokančios sistema (Macine learning) atsakinga už DI galimumą automatiškai mokytis iš jau apdorotu žinių. Ši galimybė mokytis iš patirties, analizinis peržiūrėjimas, ir kita reiškia, kad sistema gali pradėti veikti labai veiksmingai ir nnaudingai, t.y. kad sistemos su šiuo mechanizmu yra žymiai pranašesnės nei sistemos be šio mechanizmo.

Save mokančios sistemose dažniausiai kalbama apie susijusius pasikeitimus sistemoje, kalbant apie dirbtinį intelektą DI (artificial intelligence AI). Tai yra tokie užduočių veiksmai kaip atpažinimas, diagnozė, planavimas, rrobotu kontrolė (robot control) , pranašavimas.

Penkios save mokančių sistemų pagrindinės sritys:

• Analytic learning methoods – analitiniai mokymosi metodai.

• Neural network – semantiniai tinklai.

• Genetic algorithms – genetiniai algoritmai.

• Clasifier systems – sistemos klasifikatorius.

• Desision trees – sprendimų medis

• Case-based approaches learning –tikrinimu pagristas mokymasis

Save mokančių sistemų (Mahine learning) tikslai:

• Suprasti ir pagerinti mastymą nei žmonių.

• Atrasti naujus dalykus arba struktūras, kurios yra nežinomos žmaugaus.

• Užpildyti atitinkamą sritį didelėje dirbtinio intelekto sistemoje.

Komponentai sudarantys save mokančia sistemą:

Pasikeitimai bet kuriame iš šių elementų, pavaizduotų schemoje gali būti suprantami kaip mokymasis. Skirtingi mokymosi mechanizmai yra pasiskirstę, priklausomai nuo posistemės, kurioje buvo padaryti pakeitimai. Paprasčiausią mokymosi sistemos mechanizmo modelis sudarytas iš:

• Mokymosi elementas (learning element) – dalis atsakinga už reikšmingus pasikeitimus.

• Vykdymo elementas (perfomance element)- dalis atsakinga už reagavimą į veiksmus.

• Kritikas (critic) – nnurodo mokymosi elementui mokymosi agento būsena.

• Problemos generatorius (problemos generator) – siūlo galimus veiksmus, kurie galėtų naujos informacijos „išmokimas“

• Problemų generatorius (Problem generator) siūlo problemas arba veiksmus, kurie generuos naujus pavyzdžius ar patirtį, kuri „treninruos“ sistemą tolimesniame jos darbe.

Save mokančių sistemų vykdymo greitis priklauso nuo:

• Pirminio sistemos klasifikatoriaus tikslumo.

• Mokymosi greičio.

• Sistemos tikslinimo greičio;

• Vietos reikalavimams.

Vienas bendriausių ir reikšmingiausių kriterijų yra sistemos tikslumas.

Save mokančių sistemų pagrindinės paradigmos:

• Mechaniškas mokymasis (rote-learning) Vienas prie vieno (One-to-one) įsiminimas iš įvedimų, į saugomą sritį. Mokymasis įsimenant.

• Induction – naudojasi specifiniais pavyzdžiais prieiti rreikiamos išvados.

• Clustering

• Analogy. Determinuoti ryšį tarp dviejų skirtingų reprezentacijų.

• Discovery. Remiasi ir induktyviu bei deduktyviu mokymosi būdu, kuriame „agentai“ mokosi be jokios pagalbos iš „mokytojo“. Jis yra deduktyvus todėl, kad tenkina teoremų sąlygas, apie tokio mokymo teoremas. Be atitinkamo vadovo, specifinis uždavinys nebus duotas.

• Genetic algorithms

• Reinforcement. Tik gavus atsakomąją reakciją (teigiamą ar neigiamą) apie pabaigą veiksmų eilės. Reikalauja nustatyti atsaką į veiksmus, išsprendžiant problemą, kuris veiksmas bus pirmesnis ar reikšmingiausias galutiniam rezultatui.

Yra gana daug skirtingų mokymosi metodų:

• Speed-up learning – Šis mokymosi tipas yra deduktyvus mokymasis nereikalaujantis papildomo įvedimo, bet pagerinantis agentų (agents) darbo vykdymą laiku. Yra du sio mokymosi tipai rote learning and generalization. Informacijos „kešavimas“ (caching) yra kaip pavyzdys kaip šis mokymosi tipas yra panaudojamas.

• Learning by taking advice – Mokymasis iš patarimų. Taip pat deduktyvus mokymas, kuriame sistema priežastinga nauja informacija pridedama prie sistemos duomenų bazės.

• Learning from examples- Mokymasis iš pavyzdžių. Induktyvus mokymasis, kuris remiasi atskirais pavyzdžiais.

• Clustering ¬– Grupavimas. Be vadovavimo, induktyvus mokymasis, kuriame „naturalios klasės“ (natural classes) yra kuriamos atskirai informacijai, taip pat klasifikuojant tą informaciją.

• Learning by analogy – Induktyvus mokymasis, kuriame sistema transportuoja „žinias“ iš vienos duomenų bazės į kita, kuri yra skirtingame „domeine“ (domain).

• Discovery – Remesi ir induktviu bei deduktyviu mokymosi būdu, kuriame „agentai“ mokosi be jokios pagalbos iš „„mokytojo“. Jis yra deduktyvus todėl, kad tenkina teoremų sąlygas apie toki mokymą teoremas.

Induktyvumo tendencijos:

• Induktyvus mokymasis tai toks mokymosi tipas, kuriame yra pateikti pavyzdžiai ir agentai stengiasi apskaičiuoti reikiama rezultatą. Dauguma induktyvių mokymosi tipu pakraipų vadovaujasi mokymosi, kuris leidžiamas klasifikuoti pavyzdžiais. Induktyvaus mokymosi tendencija yra Toks mokymasis yra natūralus procesų nuspėjamumas, todėl kad bet kokia informacija kuriama generuojant iš specifinių faktų negali būti įrodoma tikrais faktais, ji gali būti įrodoma tik klaidingai. Vadinasi, induktyvios išvados yra klaidingai preserving.

• Apibendrinti kitus specifinius mokymo pavyzdžius, reikėtų šališkumo arba tendenciškumas apie funkcija yra geriausia.

• Tendenciškumas leidžia rinktis vieną funkciją naudojantis kita.

• Visiškai netendencingi induktyvūs algoritmai negali įsiminti mokomųjų pavyzdžių ir negali nieko spręsti apie kitus nematomus pavyzdžius.

Save mokančių sistemų struktūriniai tipai taip pat yra keli, priklausomai tuo to kokia informacijos rūšis yra vartojama, t.y. išmokstama:

• Functions (Funkcijos)

• Logic programs and rule sets (Loginių programų ir taisyklių rinkiniai)

• Finite-state machines (Ribotos-būklės)

• Problem solving system (Problemų sprendimų sistemos)

Induktyvaus mokymosi bendras supratimas remiantis sprendimų medžiu (Decision trees)

• Uždavinys: Sukurti sprendimų medį klasifikuojantį pavyzdžius, kaip galimus ar negalimus bendro spendimo atvejus.

• Kryptingas mokymasis, mokomųjų pavyzdžių grupinis apdirbimas, naudojant pirmumo tendencijas.

• Sprendimų medis yra medis, kuriame kiekvienas non-leaf mazgas yra susijęs su tam tikru atributu (feature) , kiekvieno nario (leaf) mazgas (node) yra asocijuojamas su klasifikacija (+ aarba -) , ir kiekvienas lankas (arc) yra asocijuojamas, susijęs su į jam galimomis reikšmėmis atributų, kurie yra nukreipti į šią šaka, pavyzdžiui (šakos sąlygos viršūnės kintamieji):

• Dauguma atveju patirtis naudojant sprendimų medžius parodė, kad sprendimų medis panašus į žmogų mokovą.

• Sprendimų medžio mokymosi sistemų mokymosi tipas turi kelias šakas:

1) Read-value data

2) Noisy data and Overfiting

3) Generation of rules

4) Setting parameters

Vienos svarbiausių mokančių sistemų (learning systems):

• EPAM (Elementar Perciever and Memorizer). 1963. Sistema įsimena dalis iš visiškai nesusijusių dalių naudodamasi sugebėjimu tinklais, kuriais sistema gali nustatyti vaizdo dalis iš kurio jis susideda. Sistema išsaugo jį tarsi tai būtų pakankamai duomenų pašalinti kitas tokias pat dalis iš kitų matomumų, suformuotu tokių pat metu.

• Samuelio Čekerio Programa (Samuel’s Checker Progra) 1947 -67 . Ši programa naudoja „minimax“ paiešką ir statinę analizę žaidimuose. Sistema yra automatinio įsiminimo (rote-learning) pozicijų tipo, pagal minimumo ir maksimumo reikšmes. Programa gali pakartotinai panaudoti reikšmes ir kituose žaidimuose, kuriuose situacija buvo atstatoma. Autorius vartojo least-recently-used aartėjimą kešavimui . (To learn, the system used sixteen features multiplied by weights. The weights changed through learning. The program actually knew 38 features, but only used 16 for evaluation at any given time; occasionally one was deleted and replaced by another in the evaluation function.)

• Winston‘s Learning Program

1975. Ankstyvosios struktūrinio mokymosi programos, kurios naudojosi semantiniais tinklais apibūdinti blokų struktūras. Palyginimas ir hill climbing leido programoms išmokti daug sudėtingesnes struktūras; buvo tik viena pagrindinė problema ta, kad programos mokytojas turėjo nurodyti tinkamą „kelią“ programai nurodydamas keletą pagalbinių pavyzdžių.

• LEX [Michell and Utgoff] Bendra mokymosi programa, kuri sukurta ir rafinuota euristika, kuri siūlė, kad bet ką pateikto operatoriaus, sistema būtų priimta kaip duotos problemos būklės tolesnis sprendėjas. Kiekvienas atskiras operatorius buvo susietas su rinkiniu situacijų, kuriuose jis turi būti priimtinas. LLEX‘o pagrindinis tikslas buvo integralų skaičiavimas. Sistema naudojo kandidatini eliminavimo metodą atskirti gerus ir blogus pavyzdžius paimtus iš operatoriaus.

• Meta-DENDRAL [Buchanan and Mitchell, 1978] Programa, kuri sugeba atlikti automatinį informacijos formavimą, naudodama space-learning algoritmą. Ji sumodeliuota nustatyti teorijos (rule-sets) euristiniam DENDRAL, kuris reprezentuoja informacijos apie masinę spektroskopiją, kaip gaminimo taisykles.

• HAKER [Minton, 1989] HAKER mokosi bebandydamas, programa bando atrasti klaidas ir plyšius. Sistema naudoja operatorių reikšmes paleisti generacijos procesą.

• AM / Eurisko [Lenat, 1977] Neprofesionali matematiškai veikianti, besiremianti paprastais kontekstiniais teorijų rinkinys. VVienas pagrindinių šios programos tikslų buvo sukurti naują koncepciją, bei užpildyt spragas. AM‘o galimybės buvo ribotos statine euristika.

• BACON [Langley, 1981] Tai modelis vartojantis .

• PRODIGY [Minton 1989] Sistema mokosi iš sėkmių ir klaidų

• ILP [1990 Quinlan]

• MLC++ yra C++ klasių biblioteka kryptingai ssave mokančiai sistemai. Biblioteka leidžia naudotis bendrais save mokančių sistemų algoritmais. Pagrindinis tikslas suteikti galimybę vartotojams turėti reikiamas priemones leidžiančias išgauti reikiamą informaciją.

Vienas iš efektyviausių ir populiariausiai vartojamų mokymosi metodų yra praktika. Naudojant save mokančias sistemas galima daug pranašiau spręsti įvairias užduotis negu žmogus. Stipriosios pusės save mokančių sistemų yra tai, jos yra greitos, paprastai išmokstamos, gali konvertuoti rezultatą į rinkinį lengvai interpretuojamų taisyklių rinkinį, palaiko populiariai naudojamus informacijos formatus, atskiros dalys vartojamos daugumoje komercinių produktų.

TURINYS

Penkios save mokančių sistemų pagrindinės sritys 1

Save mokančių sistemų (Mahine learning) tikslai 1

Save mokančių sistemų pagrindinės paradigmos 2

Induktyvumo tendencijos 4

Induktyvaus mokymosi bendras supratimas remiantis sprendimų medžiu 4

Vienos svarbiausių mokančių sistemų (learning systems) 5

LITERATŪRA

1. http://proofpoint.breezecentral.com/p36214347/

2. http://www.cs.dartmouth.edu/~brd/Teaching/AI/Lectures/Summaries/learning.html#Important Learning Systems

3. Nils J. Nilsson „Introduction to Machine Learning“ 1996

http://robotics.stanford.edu/people/nilsson/mlbook.html

4. http://www.cs.wisc.edu/~dyer/cs540/notes/learning.html

5. http://www.sgi.com/tech/mlc/

6. http://www.pcai.com/web/ai_info/machine_learning.html

7. hhttp://www.nada.kth.se/~hoffmann/ml.html