1
Prof. dr. sc. Bojana Dalbelo Bašić
Fakultet elektrotehnike i računarstvaZavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave
www.zemris.fer.hr/[email protected]
FER© Bojana Dalbelo Bašić
UMJETNA INTELIGENCIJA
Uvod u strojno učenje
V1.5
2
STROJNO UČENJE
(engl. Machine Learning)
Povijesno, razvoj ML započeo prije 50-tak god.:
Kako indukcijom/generalizacijom izvesti novo znanje
iz primjera/podataka?
3
Zašto strojno učenje?
1. Automatizirano prikupljanje znanja (direktno iz podataka)
2. Rastuće količine informacija -> ima li znanja u njima?
Otkrivanje znanja u skupovima podataka (eng.data
mining, text mining)
3. Klasične metode nisu dovoljne, neki problemi su preteški
-> Napredak u izgradnji algoritama i teorije
4
Zašto strojno učenje?
Automatizirano prikupljanje znanja
Razvoj umjetne inteligencije:
Tradicionalna shema program = algoritam + podaci.
Nova shema: ekspertno područno znanje - temeljni
oslonac u rješavanju problema.
Program = algoritam + podaci + znanje
uporaba znanja:
programer inženjer baze znanja
5
Zašto strojno učenje?
Izuzetno kompleksan problem!
Primjer: Kako kodirati znanje o igranju šaha?
Što znači slaba struktura pješaka, dobro zaštićen kralj, itd…?
Kako znanje velemajstora oblikovati u ako-onda pravila?
Ideja: načiniti sustav koji će automatski stjecati znanje (visoko apstraktne koncepte ili strategije rješavanja
problema) kroz iskustvo tj. primjere,
kao što to čini čovjek.
Program = algoritam + podaci + znanje
Važno: djelotvornog automatiziranog prikupljanja znanjato prvenstveno na temelju primjera,• izvođenja novog znanja.
7
Otkrivanje znanja u (velikim) skupovima podataka (engl. data mining)
Medicinska dijagnostika
9714 zapisa, svaki opisuje tijek trudnoće i poroda
pacijenta
svaki zapis sadrži 215 značajki
8
Otkrivanje znanja u (velikim) skupovima podataka (engl. data mining)
Učenjem predvidjeti klasu pacijenata s visokim rizikom za
hitan carski rez.
9
Otkrivanje znanja u (velikim) skupovima podataka (engl. data mining)
Analiza rizika kod dodjele kredita
10
Otkrivanje znanja u (velikim) skupovima podataka (engl. data mining)
Ostali primjeri predviđanja…
prevencija “churna”
11
Problemi previše složeni da bi se riješili na uobičajeni način
Računalom upravljano vozilo
Učenje strategija vožnje za autonomno upravljanje
automobilom brzinom 70 km/h na duljini od 120 km
12
Problemi previše složeni da bi se riješili na uobičajeni način
Učenje se primjenjuje na različite baze podataka da bi se
otkrile pravilnosti implicitno sadržane u podacima.
Učenje klasificiranja novih astronomskih struktura
NASA – stabla odluke korištena za klasifikaciju nebeskih
objekata dobivena Palomar Observatory Sky Survey
(Fayyad, et al. 1995). Sustav automatski klasificira sve
objekte dobivene pregledom neba - 3 terabyta podataka
slika.
13
Problemi previše složeni da bi se riješili na uobičajeni način
Učenje se primjenjuje svuda gdje je potrebno efikasno
pretraživati veliki prostor stanja.
Učenje igranja backgammona na razini svjetskog
prvaka
Najuspješnije implementacije igara na računalu temelje
se na učenju
Najbolji svjetski program TD-GAMMON (Tesauro, 1992,
1995) naučio je strategiju igranja (na svjetskoj razini) na
temelju više od 106 odigranih partija protiv samog sebe
14
Problemi previše složeni da bi se riješili na uobičajeni način
Raspoznavanje rukom pisanog teksta
15
Problemi previše složeni da bi se riješili na uobičajeni način
Raspoznavanje rukom pisanih znakova
Primjer: KLASIFIKATOR ZNAMENAKA
Znak tri kako je TISKAN U KNJIZI i njegova
DIGITALIZIRANA SLIKA u razlučivosti 8x8 slikovnih
elemenata.
3
16
Problemi previše složeni da bi se riješili na uobičajeni način
Sustav treba odlučivati kojoj od unaprijed definiranih
klasa pripada predočeni, ulazni uzorak. Posao koji bi
takav sustav obavljao naziva se klasifikacija uzoraka.
Klasifikator znamenaka
0
123456789
Ulaz8x8=64 slikovnih elementa
Izlaz
17
Problemi previše složeni da bi se riješili na uobičajeni način
Zamislimo sada da želimo načiniti sustav koji će
raspoznavati rukom pisane znakove.
Što još klasificiramo?
Problem kod klasifikacije rukom pisanih znamenaka:
Postoji nebrojeno varijacija između uzoraka za jedan te
isti znak.
18
Problemi previše složeni da bi se riješili na uobičajeni način
Modeliranje sustava: pohrana mogućih uzoraka u
memoriji
64 ulaza za jedan uzorak
Pohranjivanje 264 = 1.8 1019 različitih uzoraka u
memoriji
Uspoređivanje ulaznog uzorka s onim u memoriji
19
Problemi previše složeni da bi se riješili na uobičajeni način
Kada bi uspoređivanje uzorka na ulazu s jednim uzorkom
u memoriji trajalo jednu desetinku milisekunde, može se
izračunati da bi nam za uspoređivanje jednog uzorka sa
svima u memoriji bilo potrebno prosječno oko…
Rješenje konceptualno jednostavno, nije prikladno za
primjenu jer nije učinkovito!
RJEŠENJE: UČENJE SUSTAVA NA NAČIN KAO ŠTO
TO RADI ČOVJEK!
21
Problemi previše složeni da bi se riješili na uobičajeni način
Zaključak:
Izuzetno široka primjena metoda strojnog učenje
(umjetne inteligencije) na rješavanje složenih problema
na sva područja ljudske djelatnosti!
22
STROJNO UČENJE
Strojno učenje bavi se izgradnjom računarskih sustava
koji automatski poboljšavaju svoje performanse kroz
iskustvo.
Kakav učinak bi imalo postizanje cilja?
Nema univerzalnog algoritma za učenje! – ipak
izumljeni su učinkoviti algoritmi koji rješavaju određen tip
problema (+ bolje teoretsko razumijevanje učenja).
Postoji puno uspješnih implementacija algoritama za
učenje (primjeri…)
razumijevanje algoritama za strojno učenje
razumijevanje ljudske sposobnosti (ili ograničenja) za učenje.
23
Neke uspješne primjene strojnog učenja
Otkrivanje znanja u (velikim) skupovima podataka (engl.
data mining)
Programske implementacije koje nije moguće riješiti
klasičnim programiranjem
Prilagodljivi programski sustavi
Bioinformatika
Obrada prirodnog jezika
Raspoznavanje govora
Raspoznavanje uzoraka
Inteligentno upravljanje
Predviđanje trendova
24
Vrste učenja
Podržano učenje (reinforcement learning)
Podaci su u obliku (x, y) tj. ulazna vrijednost x, ciljna
vrijednost y
Učimo funkciju f(x)=y funkcija koja primjeru x pridružuje
klasu ili realnu vrijednost y
Nadzirano
(supervised)
Nenadzirano
(unsupervised)
učenje
25
Vrste učenja
Regresija Raspoznavanje
uzoraka
Nadzirano
učenje
Učenje funkcija
(metričkom prostoru)
Učenje klasificiranja
jedna ili više klasa
izlaz
26
Vrste učenja
Tri najčešća oblika primjene algoritama strojnog učenja:
Programske implementacije koje nije moguće
napraviti na klasičan način
Otkrivanje znanja u skupovima podataka –
(engl. data mining)
Programi koji se trebaju dinamički mijenjati i
prilagoĎavati nekim uvjetima
27
Literatura
Mitchell, T.: “Machine Learning”, McGraw-Hill Comp.,
1997. (Prof. Tom M. Mitchell, Carnegie Mellon University,
http://www.cs.cmu.edu/~tom)