UMJETNA INTELIGENCIJA Uvod u strojno učenje

Preview:

Citation preview

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/~bojanabojana.dalbelo@fer.hr

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)

Recommended