Naslovnica Pretraživanje AAA
IZBORNIK PREDMETA
 
GLAVNI IZBORNIK
 
 
STROJNO UČENJE
Šifra: 103973
ECTS: 5
Nositelji: prof. dr. sc. Bojana Dalbelo-Bašić
izv. prof. dr. sc. Jan Šnajder
Izvođači: prof. dr. sc. Bojana Dalbelo-Bašić - Auditorne vježbe
izv. prof. dr. sc. Jan Šnajder - Auditorne vježbe
Domagoj Alagić, mag. ing. - Auditorne vježbe
Mladen Karan, mag. ing. comp. - Auditorne vježbe
Prijava ispita: Studomat
Engleski jezik:

1,1,0

U dogovoru sa studentima upisanim na predmetu, nastavnik će osigurati što veći broj elemenata nastave na engleskom jeziku, odnosno istovremeno i na engleskom i na hrvatskom za mješovite grupe (dvojezični nastavni materijali i dvojezični ispiti). Razina 2 također uključuje dodatni individualni rad sa stranim studentima (slično kao i razina 1) za nastavne elemente koji se drže na hrvatskom jeziku.
Opterećenje:
Vrsta nastaveUkupno
Predavanja 45
Auditorne vježbe 15
* Opterećenje je izraženo u školskim satima (1 školski sat = 45 minuta)
Opis predmeta:
Strojno učenje grana je umjetne inteligencije koja se bave oblikovanjem algoritama koji svoju učinkovitost poboljšavaju na temelju empirijskih podataka. Strojno učenje jedno je od danas najaktivnijih i najuzbudljivijih područja računarske znanosti, ponajviše zbog brojnih mogućnosti primjene koje se protežu od raspoznavanja uzoraka i dubinske analize podataka do robotike, računalnog vida, bioinformatike i računalne lingvistike. Ovaj se kolegij bavi teorijom i načelima strojnog učenja te daje pregled njegovih primjena. Kolegij obuhvaća dva osnovna pristupa strojnom učenju: nadzirano učenje (klasifikacija i regresija) i nenadzirano učenje (grupiranje i smanjenje dimenzionalnosti).
Literatura:
  1. Introduction to Machine Learning; Ethem Alpaydin; The MIT Press; 2009; ISBN: 978-0262012430
  2. Pattern Recognition and Machine Learning; Christopher M. Bishop; Springer; 2007; ISBN: 978-0387310732
  3. Machine Learning: A Probabilistic Perspective; Kevin P. Murphy; The MIT Press; 2012; ISBN: 978-0262018029
  4. Strojno učenje -- skripta; Jan Šnajder, Bojana Dalbelo Bašić; 2012
  5. The Elements of Statistical Learning: Data Mining, Inference, and Prediction; Trevor Hastie, Robert Tibshirani, Jerome Friedman; Springer; 2009; ISBN: 978-0387848570
  6. Info Theory, Inference, and Learning Algorithms;MacKay;2003;Cambridge University Press
1. semestar
Teorijski predmeti profila - Redovni profil - Računarska znanost

3. semestar
preporučeni izborni predmeti - Redovni profil - Obradba informacija
preporučeni izborni predmeti - Redovni profil - Programsko inženjerstvo i informacijski sustavi
Termini konzultacija:
OBAVIJESTI
Objavljeno: 26.11.2016. u 22:00

Početni upitnik kolegija ispunilo je 65 studentica i studenata, od 141 studentice i studenta upisanih na predmet (odziv od 46%). Od 65 odgovora, njih 46 sadrži pisane (katkada vrlo elaborirane) komentare.

Svima koji su ispunili anketu, a posebno onima koji su napisali komentare, zahvaljujemo na povratnoj informaciji, idejama i uloženom vremenu.

Ocjene i komentare možete pogledati ovdje (dostupno i namijenjeno samo onima koji su upisani na predmet).

Rezultate upitnika diskutirat ćemo na jednom od idućih predavanja, predvidivo 9. 12. od 18.45 do 19.00 sati, uz mogućnost dodatne diskusije nakon 19.00 sati za one zainteresirane.

Jan Šnajder
Objavljeno: 26.11.2016. u 20:37

U repozitoriju možete pronaći natuknice s ranija tri predavanja: teme 2, 3 i 4. Ispričavam se na kašnjenju. Ažuriran je i silabus predmeta.

Jan Šnajder
Objavljeno: 23.11.2016. u 14:17
Uređeno: 23.11.2016. u 14:20

Kako biste se bolje pripremili za ovogodišnje ispite, odlučili smo objaviti one lanjske (međuispit i završni ispit). Iste možete pronaći u repozitoriju, u mapi Arhiva/Ak. god. 2015./2016./Ispiti. Međutim, imajte na umu da se ovogodišnje gradivo kolegija razlikuje od onoga prošlogodišnjeg.

Domagoj Alagić
Objavljeno: 21.11.2016. u 13:44

Budući da je ovaj petak (25. studenog) Dan FER-a, tada nećemo moći održati konzultacije u redovnom terminu (petkom u 15:00h).

Stoga ćemo održati konzultacije u četvrtak, 24. studenog u 9:00h u sobi D-337 (ZEMRIS). Ove predispitne konzultacije održat će profesor Šnajder, tako da Vam je ovo vrlo dobra prilika za razrješavanje svih nejasnoća u vezi ispitnog gradiva (ili da se barem motivirate da "zagrijete stolac" ). Iznimno, za ove konzultacije se ne morate prijavljivati putem obrasca. 

 

Domagoj Alagić
Objavljeno: 21.11.2016. u 10:17

Objavili smo dokument s ishodima učenja predmeta, na razini cijelog predmeta i na razini pojedinačnih predavanja. Dokument možete preuzeti ovdje.

Jan Šnajder
Objavljeno: 14.11.2016. u 23:40

Peta i šesta domaća zadaća dostupne su ovdje odnosno ovdje. Zadaće obuhvaćaju posljednja četiri predavanja. Ažuriran je i silabus predmeta.

Rok za izradu zadaća je petak, 18. 11. 2016. Pokušajte sami riješiti što više stignete, a u petak ćemo onda zajedno riješiti obje zadaće.

Jan Šnajder
Objavljeno: 13.11.2016. u 21:51

U repozitoriju možete pronaći natuknice s dva ovotjedna predavanja (teme 10 i 11). Ažuriran je i silabus predmeta.

Jan Šnajder
Objavljeno: 09.11.2016. u 21:52
Uređeno: 16.11.2016. u 08:21

Međuispit iz Strojnog učenja održat će se u ponedjeljak, 28.11.2016. s početkom u 12:00h, u dvoranama B1, B3 i B4.  Raspored po dvoranama je vidljiv na FerWebu. Vrijeme pisanja ispita iznosi 180 minuta. Na ispitu je, uz pisaći pribor, dopušteno imati i džepno računalo. 

Međuispit obuhvaća prvih jedanaest tema, uključujući temu "Neparametarski modeli". Očekuje se dobro poznavanje kako teorijskog, tako i praktičnog dijela gradiva.

Domagoj Alagić
Objavljeno: 09.11.2016. u 15:59
Uređeno: 11.11.2016. u 14:12

Objavili smo treću laboratorijsku vježbu na temu stroja potpornih vektora i algoritma k-najbližih susjeda. Molimo Vas da preuzmete i datoteku mlutils.py koja sadrži pomoćne funkcije, koja je od sada u dva različita "okusa" -- Python2 i Python3. Ovo bi trebalo riješiti neke od problema koje ste nam istaknuli. Ove datoteke nalaze se u mapi "Pomoćne funkcije" (upravo smo dodali novu inačicu datoteke s pomoćnim funkcijama za Python 3).

Rok za predaju Vašeg rješenja u obliku ispunjene Jupyter-bilježnice jest ponedjeljak, 14.11. u 06:00h. Vašu Jupyter-bilježnicu predajete preko sustava Ferko (uskoro ćemo pripremiti sve potrebno za predaju). 

Napomena: Neki studenti su pogriješili pri predaji druge laboratorijske vježbe -- zaboravili su predati bilježnicu, predali su praznu bilježnicu, ili pak nešto treće. Moramo napomenuti kako je Vaša dužnost pratiti rokove i uredno predavati Vaša rješenja vježbi. Ovaj put smo bili tolerantni, ali ubuduće nećemo uvažavati nikakve molbe za naknadnom predajom, nego ćete biti ocijenjeni na temelju onog što (ni)ste predali.

Domagoj Alagić
Objavljeno: 09.11.2016. u 14:16
Uređeno: 19.11.2016. u 17:57

Molimo Vas da izdvojite 5 do 10 minuta i ispunite početni upitnik kolegija. Ali prvo, utrošite isto toliko vremena da pročitate sljedeći blok teksta. :)      

Ovaj upitnik idealna je prilika da nam kažete što mislite o kolegiju i njegovom izvođenju. Zanima nas što mislite o predavanjima, laboratorijskim vježbama i ispitima, ali i o nama kao izvođačima kolegija (ispunite i upitnik o asistentima!). Ako smatrate da je naš rad neprofesionalan, nekorektan, ili jednostavno loš, ili pak mislite da radimo nešto kvalitetno i vrijedno pohvale, ovo je pravi način da nam to date do znanja. Pritom Vas molimo da pokušate biti konstruktivni te da svoje mišljenje pokušate argumentirati u obliku "X nije dobro jer Y; bilo bi bolje da Z jer bi time W." Dodatno, rezultati ovog upitnika relevantni su i pri analizi kvalitete nastave i nastavnika koju provodi Uprava FER-a. Stoga Vas molimo da upitnik ispunite odgovorno

Možda ste mišljenja da Vaše upitnike nitko ne čita i da se o njima ne raspravlja, ali mi smo svjesni koliko su oni bitni. Bez povratne informacije studenata, odnosno onih ljudi za koje je kolegij skrojen, ne možemo znati jesmo li na pravom putu ili ne. Tada nam jedino preostaje generalizirati na temelju broja studenata koji redovito dolazi na predavanja, što je, složit ćete se, vrlo naivno. A i vjerujemo da primjećujete podnaučenost u takvom pristupu. :)

Upitnik je dostupan do nedjelje, 20.11.2016. u 23:59h. Radujemo se Vašim komentarima. Hvala!

Domagoj Alagić
Objavljeno: 09.11.2016. u 10:50

Zbog nekih događanja na FER-u premjestili smo jedan termin treće laboratorijske vježbe. Dakle, termin grupe L-C-09 u petak, 18.11. u 19:00 -- 20:30h (A-210) prebačen je na srijedu, 16.11. u 19:00 -- 20:30 (A-210). Dakle, svi su detalji termina identični osim datuma. Ova promjena trebala bi biti vidljiva u Vašim kalendarima.

Domagoj Alagić
Objavljeno: 06.11.2016. u 19:35

U repozitoriju možete pronaći natuknice s dva ovotjedna predavanja (teme 8 i 9).

Jan Šnajder
Objavljeno: 01.11.2016. u 18:27
Uređeno: 01.11.2016. u 18:29

U repozitoriju možete pronaći natuknice sa posljednja tri predavanja (teme 5, 6 i 7). Sukladno tome ažuriran je i silabus predmeta. Natuknice sa ranija tri predavanja (teme 2, 3 i 4) pripremit ćemo uskoro. Natuknice ćemo objaviti i za nadolazeća predavanja, ali uvijek nakon što ona budu održana.

Ovi dokumenti služe kao podsjetnik na gradivo koje smo obradili na predavanjima. Sadržaj dokumenta točno odgovara slijedu kojem je gradivo bilo izloženo na predavanjima, ali su zadržane samo najznačajnije točke.

Molimo, imajte na umu da su natuknice šture i da same po sebi nisu dostatne za razumijevanje teme, već da je zamišljeno da ih koristite kao dopunski materijal. Zbog toga napominjemo sljedeće:

  1. Daleko najbolje i najdublje razumijevanje gradiva steći ćete ako pišete vlastite bilješke s predavanja. Predlažemo da nakon predavanja svoje bilješke usporedite s objavljenim natuknicama i da po potrebi nadopunite ili ispravite svoje bilješke, eventualno uz pomoć drugih koji slušaju predmet.
  2. Ako ste propustili predavanje, predlažemo da natuknice koristite kao vodič kroz teme koje su obrađene na predavanju i da na temelju toga sastavite vlastite bilješke, po mogućnosti uz pomoć drugih koji slušaju predmet.
  3. Natuknice ne odgovaraju nužno očekivanim ishodima učenja te, posljedično, ne definiraju niti opseg niti razinu detalja ispitnog gradiva. U tom smislu, ako neka informacija nija sadržana u natuknicama, to ne mora značiti da je nebitna i da nije dijelom ispitnog gradiva.
Jan Šnajder
Objavljeno: 31.10.2016. u 13:43

Ovogodišnji silabus predmeta možete preuzeti ovdje. U silabusu ćete na jednom mjestu naći raspored predavanja, popis tema i podtema, popis literature za svaku temu te poveznice prema domaćim zadaćama i laboratorijskim vježbama.

Silabus ćemo tijekom semestra redovito ažurirati.

Jan Šnajder
Objavljeno: 30.10.2016. u 19:41
Uređeno: 01.11.2016. u 05:02

Četvrta domaća zadaća dostupna je ovdje. Rok za izradu zadaće je petak, 4. 11. 2016. Rješenja zadaće ponesite na auditorne vježbe, koje ćemo imati tog petka (fair dinkum!).

Ova zadaća obuhvaća sljedeće teme:

  • 6. Logistička regresija - predavanje od 26. 10. 2016.
  • 7. Logistička regresija II - predavanje od 28. 10. 2016.

Osim vlastitih bilješki s predavanja i skripte, za rješavanje zadaće možete koristiti prošlogodišnju IPython-bilježnicu.

Kao i uvijek, na predavanjima smo obradili ključne koncepte; produbljivanje i proširivanje materije trebate napraviti samostalno.

Jan Šnajder
Objavljeno: 26.10.2016. u 14:55
Uređeno: 27.10.2016. u 13:48

Objavili smo drugu laboratorijsku vježbu na temu linearnih diskriminativnih modela i logističke regresije. Molimo Vas da preuzmete i datoteku mlutils.py koja sadrži pomoćne funkcije.

Kako su sljedeći tjedan blagdani koje će mnogi od Vas provesti izvan Zagreba, mislimo da je korektno izaći Vam ususret. Tako ćemo termine obrana vježbi u srijedu, 2. listopada 2016., prebaciti na kasnije dane, točnije:

 

Grupa Stari termin Novi termin
LB-0-2 2.11. u 13:30 -- 15:00h (A-109) 5.11. u 15:30 -- 17:00h (PCLAB-2)
LB-0-3 2.11. u 11:00 -- 12:30h (A-210) 3.11. u 19:00 -- 20:30h (PCLAB-2)

 

Ove promjene neće se vidjeti u Vašim kalendarima pa zato pripazite. Također, nekim studentima iz grupe LB-0-2 možda neće odgovarati novi termin. Molimo Vas da nam se javite putem e-maila.

Shodno ovim promjenama, rok za predaju Vašeg rješenja u obliku ispunjene Jupyter-bilježnice jest četvrtak, 3.11. u 06:00h. Vašu Jupyter-bilježnicu predajete preko sustava Ferko (uskoro ćemo pripremiti sve potrebno za predaju).

Domagoj Alagić
Objavljeno: 24.10.2016. u 13:47

Treća domaća zadaća dostupna je ovdje. Rok za izradu zadaće je petak, 28. 10. 2016. Rješenja zadaće ponesite na auditorne vježbe, koje ćemo imati tog petka.

Ova zadaća obuhvaća sljedeću temu:

  • 5. Linearni diskriminativni modeli - predavanje od 19. 10. 2016.

Osim vlastitih bilješki s predavanja i skripte, za rješavanje zadaće možete koristiti prošlogodišnju IPython bilježnicu te ove slajdove.

Na predavanjima smo obradili ključne koncepte; produbljivanje i proširivanje materije trebate napraviti samostalno.

Jan Šnajder
Objavljeno: 24.10.2016. u 11:13

Predavanje u srijedu, 26. listopada 2016. u 17.00h neće se održati u dvorani D1, nego u susjednoj D2. Kao i inače, radujemo se Vašem dolasku!

Domagoj Alagić
Objavljeno: 21.10.2016. u 12:49

Oba bloka današnjeg predavanja činit će auditorne vježbe, koje će pokriti prvu i drugu domaću zadaću. Ponesite vlastita rješenja zadaća te pripremite pitanja u vezi s zadatcima, ako ih imate.

Domagoj Alagić
Objavljeno: 18.10.2016. u 08:46

Slučajno smo izostavili jednu informaciju u vezi s predajom, odnosno s nadoknadom predaje laboratorijskih vježbi. Naime, svaka vježba se može nadoknaditi na pridijeljenom terminu sljedeće laboratorijske vježbe uz umanjenje ostvarenih bodova za 50%; ostalih nadoknada nema. Nadoknada zadnje laboratorijske vježbe organizirat će se naknadno.

Domagoj Alagić
Objavljeno: 17.10.2016. u 14:44

Termin prve laboratorijske vježbe u utorak, 18. listopada 2016. u 19.00h neće se održati u sobi A-209, nego u sobi PCLAB-2.

Domagoj Alagić
Objavljeno: 16.10.2016. u 23:17
Uređeno: 24.10.2016. u 13:53

Druga domaća zadaća dostupna je ovdje. Rok za izradu zadaće je petak, 21. 10. 2016. Rješenja zadaće ponesite na auditorne vježbe, koje ćemo imati tog petka.

Ova zadaća obuhvaća sljedeće teme:

  • 3. Regresija - predavanje od 12. 10. 2016.
  • 4. Regresija II - predavanje od 14. 10. 2016.

Teme su pokrivene prošlogodišnjom petom IPython-bilježnicom (u skripti tema još nije pokrivena).

Na predavanjima smo obradili ključne koncepte; produbljivanje i proširivanje materije trebate napraviti samostalno.

 

EDIT: Objavljena je ispravljena verzija druge domaće zadaće (izmjene su naznačene crvenom bojom).

Jan Šnajder
Objavljeno: 12.10.2016. u 19:55

Uslijed velikog broja studenata, nažalost nismo u mogućnosti odgovarati na e-mailove studenata u vezi s gradivom. Naime, objašnjavanje gradiva putem e-mailova suštinski je, ali i vremenski, vrlo neučinkovito. Stoga, kako bismo i Vi i mi pametno trošili svoje vrijeme, molimo Vas da u slučaju bilo kakvih nejasnoća s gradivom ili s laboratorijskim vježbama dođete na konzultacije. Redovni termin konzultacija jest svaki petak u 15.00--16.00h (osim kada najavimo drugačije).  Naravno, na e-mailove u vezi tehničkih detalja i ostalih sitnica odgovaramo, doduše u malo sporijem tonu. 

 

Ono što je možda drugačije od onog na čega ste navikli jest to da se za svaki dolazak na konzultacije morate najaviti putem obrasca. U obrascu morate navesti koji dio gradiva Vam nije jasan (neki pojam, formula, paragraf, generalno neka ideja, itd.). Time osiguravamo da ćemo Vam u većini slučajeva brzo i učinkovito razjasniti sve nedoumice. Molimo vas da se za konzultacije javite najkasnije jedan dan prije termina konzultacija. Mjesto održavanja konzultacija ćemo Vam javiti u e-mailu kada zaprimimo Vašu prijavu (jer često ne znamo koja će prostorija biti slobodna u to vrijeme). U obrascu također možete predložiti drugi termin konzultacija (ako Vam iz opravdanih razloga standardni ne odgovara), ali tada Vam ne garantiramo da ćemo mi tada biti dostupni.

 

Povezano s ovime, pozivamo studente koji su se prijavili za dodatno predavanje o Pythonu da se jave za konzultacije. Naime, za predavanje se javilo svega 8 studenata, tako da održavanje predavanja ne bi imalo previše smisla.

Domagoj Alagić
Objavljeno: 12.10.2016. u 19:10

Objavili smo prvu laboratorijsku vježbu na temu regresije. Rok za predaju Vašeg rješenja u obliku ispunjene Jupyter-bilježnice jest ponedjeljak, 17.10. u 06:00h. Vašu Jupyter-bilježnicu predajete preko sustava Ferko (uskoro ćemo pripremiti sve potrebno za predaju).

 

Budući da smo vlastitom krivnjom objavili nultu laboratorijsku vježbu bez da smo Vam predstavili Jupyter-bilježnice i njihovo korištenje, molimo vas da se s njima upoznate prije rješavanja vježbe. Kako je njihovo korištenje ekstremno jednostavno, vjerujemo da nećete imati problema (i da ste bez problema koristili Jupyter-bilježnicu nulte laboratorijske vježbe). Ipak, slobodno pogledajte dokumentaciju o pokretanju Jupyter-aplikacije i o korištenju same Jupyter-bilježnice.

 

Domagoj Alagić
Objavljeno: 09.10.2016. u 07:30

Prva domaća zadaća dostupna je ovdje. Rok za izradu zadaće je petak, 14. 10. 2016., kada ćemo imati auditorne vježbe.

Ova zadaća obuhvaća sljedeće teme:

  • 1. Uvod u strojno učenje - predavanje od 5. 10. 2016., uvodni slajdovi
  • 2. Osnovni koncepti - predavanje od 7. 10. 2016., drugo poglavlje skripte

Na predavanjima smo obradili ključne koncepte; produbljivanje i proširivanje materije trebate napraviti samostalno.

Svrha domaće zadaće jest:

  • produbiti i proširiti znanje o gradivu koje je u osnovnim crtama objašnjeno na predavanjima,
  • identificirati nejasne dijelove gradiva,
  • pripremiti se za ispit.
Jan Šnajder
Objavljeno: 07.10.2016. u 17:12
Uređeno: 07.10.2016. u 17:12

Objavili smo nultu laboratorijsku vježbu kao uvod u programski jezik Python, kao i u neke od njegovih najpoznatijih biblioteka. Kako postoji ogromna količina sadržaja na internetu na ovu temu (StackOverflow, dokumentacija, demonstracije), ova vježba nije zamišljena kao potpuni pregled mogućnosti Pythona, već samo kao polazišna točka. 

Rješavanje ove laboratorijske vježbe posve je opcionalno i neće se vrednovati. U svjetlu toga, objavili smo i rješenja ove vježbe s kojima možete provjeriti vlastiti napredak. Ipak, ako niste sigurni u vlastito znanje Pythona, preporučili bismo vam da prvo prođete kroz prošlogodišnje predavanje iz Pythona, a zatim probate samostalno riješiti ovu vježbu.

Uz to, razmišljali smo i o održavanju dodatnog predavanja u okviru kojeg bismo s vama prošli kroz vježbu i tako vam pomogli savladati osnove Pythona. Ako ste zainteresirani za ovakvo predavanje, molimo vas da se prijavite putem obrasca do ponedjeljka, 10.10. u 12:00h. Plan nam je održati ovo predavanje ako veći broj studenata (barem 30) iskaže zanimanje.

 

Domagoj Alagić
Objavljeno: 07.10.2016. u 15:05
Uređeno: 07.10.2016. u 15:05
Instalacija sustava SciPy

Za laboratorijske vježbe i demonstracije na predavanjima koristit ćemo sustav SciPy. Preporučamo da SciPy već sada instalirate na svoje računalo. Upute za instalaciju možete pronaći na https://www.scipy.org/install.html. Za korisnike operacijskog sustava Windows preporučamo i programski paket Anaconda, koji je dostupan na https://www.continuum.io/downloads.

 

Što se tiče verzije Pythona (2 ili 3), sve laboratorijske vježbe će s naše strane biti izrađene u Pythonu 2. Međutim, vjerujemo kako nećete imati prevelikih poteškoća niti pri korištenju Pythona 3 (do na nekoliko detalja).

Domagoj Alagić
ANKETA
 
Za pristup anketi trebate biti prijavljeni sa svojim korisničkim imenom

ANKETA
 
Za pristup anketi trebate biti prijavljeni sa svojim korisničkim imenom