PEDAGOŠKO DELO

KABINET A422: 4. nadstropje, po hodniku desno
GOVORILNE URE:
samo po predhodnem dogovoru oz. po e-mailu

Razpisane diplomske in magistrske naloge

Od leta 1982 do 1984 sem bil zaposlen na FE kot stažist raziskovalec. Od leta 1984 do leta 1995 sem bil zaposlen kot asistent na FER in pozneje na FRI. Na več seminarjih sem predaval o sistemih za strojno učenje, o logičnem programiranju in o nevronskih mrežah. Kot asistent sem vodil vaje pri 5 predmetih starega programa na takratni FER, pri 9 predmetih novega visokošolskega programa na FRI ter pri 1 predmetu višješolskega študija na FRI. Od leta 1996 sem bil zaposlen kot izredni profesor na FRI in od leta 2002 kot redni profesor. Predaval sem pri dveh predmetih višješolskega študija,  tri predmete visoke strokovne šole (pred bolonjsko reformo):Programski_jeziki (VSŠ), Osnove algoritmov in podatkovnih struktur II (VSŠ), Metode umetne inteligence (VSŠ) ter tri predmete na univerzitetnem programu (pred bolonjsko reformo): Algoritmi in podatkovne strukture I (UNI, IŠRM), Tehnologija znanja (UNI), Teorija strojnega učenja (IŠRM),  ter dva predmeta na podiplomskem študiju (pred bolonjsko reformo): Strojno učenje (magistrski), Odkrivanje znanja v podatkih - Knowledge Discovery in Databases (magistrski)

Predavam predmete (po bolonjski reformi):

NA DODIPLOMSKEM ŠTUDIJU:

 

NA MAGISTRSKEM ŠTUDIJU:

Sem (so)avtor (glej bibliografijo) 2 srednješolskih učbenikov, 8 univerzitetnih učbenikov (od tega so 3 učbeniki izšli še v 2. dopolnjeni izdaji) ter dveh knjig v tujini (Angliji). Bil sem mentor pri 2 zaključnih nalogah, 84 diplomskih nalogah, 15 znanstvenih magistrskih delih in 15 doktoratih. Sodeloval sem na številnih zagovorih diplom, magistrskih nalog in doktorskih del na Fakulteti za računalništvo in informatiko, na Fakulteti za elektrotehniko in na drugih fakultetah  Univerze v Ljubljani (Fakulteta za strojništvo, Filozofska fakulteta, Fakulteta za kemijo in kemijsko tehnologijo), Univerzi v Mariboru, na University of Rijeka na Hrvaškem, na University of Porto na Portugalskem in na Univerzi v Sarajevu v Bosni in Hercegovini. Poleti 1993 sem se dva meseca strokovno izpopolnjeval na Univerzi Caltech v Pasadeni v ZDA. Večkrat sem bil na krajših delovnih obiskih (1-3 tedne) na različnih univerzah v tujini (ZDA, Kanada, Avstralija, Evropa).

Poleg neakademskih ustanov sem imel vabljena predavanja na sledečih univerzah:
- 1989 na University of Zagreb;
- 1993 na Caltech University (3X) (Pasadena, California)
- 1995 IBM Watson Research center, New York
- 2000 University of Porto;
- 2004 Univerza v Mariboru;
- 2014 University of Split
- 2017 Royal Holloway, University of London


OPISI POSAMEZNIH PREDMETOV


 

Naslov predmetaAlgoritmi in podatkovne structure I – RI-UNI (Bolonja) ter RM, 2. letnik

Predavatelj: prof. dr. Igor Kononenko
Asistenti:  dr. Petar Vračar, dr. Martin Možina, dr. Miha Drole
Namen predmeta:

1.      Izpopolniti in utrditi znanje iz programiranja (predvsem rekruzije)

2.      Naučiti se načrtovati algoritme in analizirati njihovo časovno zahtevnost

3.      Podati osnovne abstraktne podatkovne tipe in operacije na njih

4.      Spoznati osnovne operacije na dinamičnih podatkovnih strukturah: seznamih, drevesih in grafih


Okvirna vsebina:


VAJE

Študenti preko e-učilnice sproti rešujejo ob rokih objavljene spletne kolokvije, ki se točkujejo. Vsak študent mora doseči najmanj 50% pri reševanju spletnih kolokvijev, da lahko dobi oceno iz vaj.

V okviru laboratorijskih vaj vsak študent samostojno izdela 2 seminarski nalogi, ki jih oddaja ob rokih preko učilnice ter zagovarja v dveh rokih na laboratorijskih vajah  in zagovori seminarskih  nalog se ocenjujejo.

Pri oddajanju seminarskih nalog preko učilnice se programska koda navzkrižno preverja glede prepisovanja. Odkriti prepisovalci (tako avtorji kode kot tisti, ki so kodo prepisali) se ocenijo negativno s prepovedjo opravljanja vaj in izpita v tekočem šolskem letu ter prijavijo disciplinski komisiji FRI, ki kršitelje ustrezno kaznuje (od prepovedi opravljanja vseh izpitov 6-12 mesecev do izključitve iz FRI).

Uspešno (ocena vsake seminarske naloge najmanj 50%) in pravočasno (do postavljenih rokov) zagovarjane seminarske  naloge so pogoj za pristop k opravljanju izpita. Ocena seminarskih nalog se upošteva kot ocena vaj, pri čemer imata lahko seminarski nalogi različno težo. Končna ocena predmeta je povprečje ocene iz vaj in ocene iz izpita. Pri tem morata biti tako ocena vaj in ocena izpita pozitivni.

Ocena iz vaj velja samo tekoče šolsko leto. Če študent, ki ima pozitivno ocenjene vaje, v tekočem šolskem letu ne opravi izpita, mu ocena iz vaj propade. 



IZPIT:

Izpit je sestavljen iz pisnega in morebitnega ustnega dela. Na pisnem izpitu je od literature dovoljen en A4 list napisan lastnoročno z navadnim svinčnikom (da se lahko radira) in podpisan s kemičnim svinčnikom z imenom in priimkom ter vpisno številko (fotokopije in printi niso dovoljeni). Ta list se odda skupaj s pisnim izdelkom. Na ustnem izpitu lahko študent popravi ali pokvari oceno pisnega izpita.

Ocena vaj in ocena izpita morata biti pozitivni. Končna ocena predmeta je povprečje ocene iz vaj in ocene iz izpita.


 
Osnovna literatura:

Igor Kononenko, Marko Robnik Šikonja, Zoran Bosnić: Programiranje in algoritmi, Založba FE in FRI, 2008.


Pomožna literatura

 

 


Naslov predmeta: Umetna inteligenca – VSŠ (Bolonja) – 2. letnik

Predavatelja:  prof.dr.Igor Kononenko in prof. dr. Marko Robnik Šikonja
Asistent:  dr. Petar Vračar, Gregor Pirš

Namen predmeta: predstaviti metode strojnega učenja in umetne inteligence ter razviti sposobnost njihove praktične uporabe.

Obveznosti študenta:

·         pravočasno izdelane in pozitivno ocenjene domače naloge (spletni kvizi ter sprotna poročila)

·         pravočasno izdelani in pozitivno ocenjeni obe seminarski raziskovalni nalogi

·         pisni in ustni izpit

Ocenjevanje

Vaje
Študenti preko e-učilnice sproti rešujejo ob rokih objavljene spletne kolokvije, ki se točkujejo. Vsak študent mora doseči najmanj 50% pri reševanju spletnih kolokvijev, da lahko dobi oceno iz vaj. Oceno vaj predstavlja skupna ocena  dveh seminarskih raziskovalnih nalog.  Vsaka od seminarskih raziskovalnih  nalog mora biti oddana pravočasno in ocenjena  pozitivno. Pogoj za pozitivno oceno iz vaj je tudi vsaj polovica točk pri domačih nalogah. Upoštevajo se le pravočasno oddane  domače naloge. Ocena iz vaj velja samo tekoče leto. Če v tekočem letu študent ne opravi izpita, mora v naslednjem šolskem letu ponovno opravljati domače naloge in seminarske raziskovalne naloge. 
Izpit
Izpit je sestavljen iz pisnega in ustnega dela. Pogoj za opravljanje izpita so pozitivno ocenjene vaje. Na pisnem izpitu je dovoljen en A4 list napisan lastnoročno z navadnim svinčnikom (da se lahko radira) in podpisan s kemičnim svinčnikom z imenom in priimkom ter vpisno številko (fotokopije in natisnjene strani niso dovoljene). Ta list se odda skupaj s pisnim izdelkom.
Končna ocena
Končna ocena je sestavljena iz ocene vaj (50%) in skupne ocene pisnega in ustnega izpita (50%). Pri tem mora študent v vsakem delu doseči vsaj polovico možnih točk, torej tako pri vajah kot na pisnem izpitu.

Okvirna vsebina:

1. Uvod v strojno učenje in pregled metod strojnega učenja
2. Kaj je inteligenca, kaj je učenje in relacija človek-stroj
3. Osnovni principi strojnega učenja
4. Predstavitev znanja in pregled preiskovalnih algoritmov
5. Ocenjevanje atributov in predobdelava učnih primerov
6. Odločitvena in regresijska drevesa, naivni Bayesov klasifikator in metoda najbžjih sosedov
7. Umetne nevronske mreže
8. Verjetnostno modeliranje
9. Obdelava naravnega jezika
10. Evolucijsko računanje in genetski algoritmi
11. Hevristični preiskovalni algoritmi
12. Inteligentni agenti in roboti
13. Spodbujevano učenje
14. Načrtovanje

Osnovna literatura:

I.Kononenko in M. Robnik Šikonja: Inteligentni sistemi. Založba FE in FRI, Ljubljana, 2010.


Pomožna literatura:

D. Jurafsky,  J. H. Martin: Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Pearson Education Inc., 2009

I. Kononenko in M. Kukar: Machine Learning and Data Mining: Introduction to Principles and Algorithms. Horwood publ., 2007.

G. F. Luger: Artificial Intelligence: Structures and Strategies for Complex Problem Solving (6th ed.). Addison-Wesley, Pearson Education, 2009

D. L. Poole,  A. K. Mackworth: Artificial Intelligence: Foundations of Computational Agents. Cambridge University Press, 2010 

S.J. Russell, P. Norvig: Artificial Intelligence: A Modern Approach (3rd ed.). Prentice Hall, Pearson Education, 2010

 

PRIMERA SEMINARSKIH RAZISKOVALNIH NALOG

1. seminarska raziskovalna naloga: Strojno učenje

 Študenti se v vsakem ciklu laboratorijskih vaj razdelijo v dve skupini. Vsaka skupina izbere vodjo. Vodja vodi celoten projekt analize dveh baz podatkov z metodami strojnega učenja. Vsako bazo je treba obravnavati na več načinov:

-          vizualizacija podatkov

-          ocenjevanje atributov: detekcija naključnih in redundantnih atributov, izbira podmnožice pomembnih atributov

-          kot klasifikacijski problem (tako da se odvisna spremenljivka diskretizira na 2 intervala s podanim pragom)

-          kot regresijski problem

 Vsaka skupina bo imela podizvajalce (podskupine) za 4 naloge. Vodja usklajuje delo skupine tako, da razdeli skupino na podskupine, razdeli delo posameznim podskupinam, izsledke podskupin usklajuje med seboj, tako da se smiselno dopolnjujejo, npr.

-          vizualizacija in izbira podmnožice pomembnih atributov,

-          primerjava klasifikacijskega in regresijskega drevesa, itd.

Vsaka skupina pripravi poročilo o analizi obeh baz podatkov, in sicer vsak študent pripravi do 4 strani poročila o svojem delu. Glavno poročilo vodje skupine (tudi do 4 strani) povzame delo celotne skupine in kot priloge k poročilu doda poročila vseh izvajalcev.

Skupine zagovarjajo seminarsko raziskovalno nalogo ob postavljenem roku na vajah tako, da vodja predstavi delo celotne skupine. Temu sledijo vprašanja, ki jih asistent postavlja vsakemu članu skupine posebej. Vsaka skupina pripravi tudi "najboljši" klasifikator in "najboljši" regresor za oba problema. Za njuno testirenje dobi za oba problema določeno število novih testnih primerov. Primerja se njihova "ocenjena" točnost in dejansko točnost na novih testnih primerih.

 

 2. seminarska raziskovalna naloga: Analiza naravnega jezika

 S tehnikami za obdelavo naravnega jezika in s tekstovnim rudarjenjem lahko iz prostega besedila ugotovimo mnogo značilnosti, od preprostih, kot je frekvenca besed, do zapletenejših, kot je identifikacija entitet ali slog pisanja. Orodja za tovrstno napredno analizo obsegajo tokenizacijo, lematizacijo, stavčno označevanje, gramatike, klasifikacijo in grupiranje teksta,... Dosegljiva so tudi v prosto dostopnih knjižnicah za obdelavo naravnega jezika (npr. openNLP in tm v Rju, NLTK v pythonu, ...).

 Študenti se v vsakem ciklu laboratorijskih vaj razdelijo v dve skupini. Vsaka skupina izbere vodjo. Vodja vodi celoten projekt analize dveh besedil, enega v slovenskem in drugega v angleškem jeziku. Potrebno je opraviti naslednje naloge:

-          frekvenca besed, k-gramov, korenov besed, značilne besede, ki besedilo ločijo od drugih

-          iskanje napačnih besed na podlagi jezikovnih korpusov,

-          stavčno označevanje, iskanje napačne rabe besed, napačne rabe ločil,

-          pomankljivosti besedila: prepogosta raba besed, besednih oblik in mašil v celem tekstu in v neposredni bližini.

 Vsaka skupina bo imela podizvajalce (podskupine) za 4 različne naloge. Vodja usklajuje delo skupine tako, da razdeli skupino na podskupine, razdeli delo posameznim podskupinam, ter izsledke podskupin usklajuje med seboj, tako da se smiselno dopolnjujejo:

-          frekvenca korenov in prepogosta raba besed,

-          prepogosta raba besed in primerjava s korpusom, itd.

Vsaka skupina pripravi poročilo o analizi obeh besedil, in sicer vsak študent pripravi do 4 strani poročila o svojem delu. Glavno poročilo vodje skupine (tudi do 4 strani) povzame delo celotne skupine in kot priloge k poročilu doda poročila vseh izvajalcev.

Skupine zagovarjajo seminarsko raziskovalno nalogo ob postavljenem roku na vajah. Vodja predstavi delo celotne skupine. Temu sledijo vprašanja, ki jih asistent postavlja vsakemu članu skupine posebej. Vsaka skupina pripravi prototip aplikacije oz. skripto, ki vsebuje vse njihove analize. Skripta se bo testirala z dvema novima besediloma. Primerjali bomo kvaliteto delovanja na vnaprej podanih in novih besedilih.

 


Naslov predmeta: Inteligentni sistemi  UNI (Bolonja) – 3. letnik

Predavatelja:  prof. dr. Igor Kononenko in prof. dr. Marko Robnik Šikonja
Asistent:  dr. Petar Vračar

Namen predmeta: Cilj predmeta je študente seznaniti s področjem inteligentnih sistemov, ki vsebuje nabor orodij in pristopov za reševanje problemov, ki jih je težko ali nepraktično reševati z drugimi metodami. Študenti morajo biti sposobni teoretično znanje praktično uporabiti na realnih problemih iz znanstvenega in poslovnega okolja. Študenti morajo biti za dani problem sposobni presoje, katero od predstavljenih tehnik uporabiti, ter sestaviti prototip rešitve.

Obveznosti študenta:

·         pravočasno izdelane in pozitivno ocenjene domače naloge (spletni kvizi ter sprotna poročila)

·         pravočasno izdelani in pozitivno ocenjeni obe seminarski raziskovalni nalogi

·         pisni in ustni izpit

Ocenjevanje

Vaje
Študenti preko e-učilnice sproti rešujejo ob rokih objavljene spletne kolokvije, ki se točkujejo. Vsak študent mora doseči najmanj 50% pri reševanju spletnih kolokvijev, da lahko dobi oceno iz vaj. Na vajah bodo študenti utrjevali snov, ki so jo obravnavali na predavanjih, tako da jo bodo uporabili pri reševanju praktičnih problemov.  Pri tem bodo poudarki na samostojnem delu študentov ob pomoči asistentov. Študenti bodo v manjših skupinah samostojno reševali realen problem pod mentorstvom asistentov in drugih strokovnjakov s področja inteligentnih sistemov. Skupine bodo svoje naloge in rešitve opisale v pisnem poročilu in predstavile ostalim v obliki kratke predstavitve, ter s tem dobili oceno iz vaj. Oceno vaj predstavlja skupna ocena  dveh seminarskih raziskovalnih nalog.  Vsaka od seminarskih raziskovalnih nalog mora biti oddana pravočasno in ocenjena  pozitivno. Pogoj za pozitivno oceno iz vaj je tudi vsaj polovica točk pri domačih nalogah. Upoštevajo se le pravočasno oddane  domače naloge.
Ocena iz vaj velja samo tekoče leto. Če v tekočem letu študent ne opravi izpita, mora v naslednjem šolskem letu ponovno opravljati domače naloge in seminarske raziskovalne naloge. 
Izpit
Izpit je sestavljen iz pisnega in ustnega dela. Pogoj za opravljanje izpita so pozitivno ocenjene vaje. Na pisnem izpitu je dovoljen en A4 list napisan lastnoročno z navadnim svinčnikom (da se lahko radira) in podpisan s kemičnim svinčnikom z imenom in priimkom ter vpisno številko (fotokopije in natisnjene strani niso dovoljene). Ta list se odda skupaj s pisnim izdelkom.
Končna ocena
Končna ocena je sestavljena iz ocene vaj (50%) in skupne ocene pisnega in ustnega izpita (50%). Pri tem mora študent v vsakem delu doseči vsaj polovico možnih točk, torej tako pri vajah kot na pisnem izpitu (in seveda tudi pri spletnih kolokvijih).

Okvirna vsebina:

 

1.      Inteligenca in umetna inteligenca ter interakcija človek-stroj: temeljna filozofska vprašanja glede inteligence in umetne inteligence, vloga umetne inteligence

2.      Strojno učenje in podatkovno rudarjenje, pregled osnovnih algoritmov.

3.      Predprocesiranje podatkov, diskretizacija, vizualizacija.

4.      Osnovni principi modeliranja:  učenje kot modeliranje, kakovost modelov, evaluacija modelov,

5.      Inteligentna analiza podatkov, ocenjevanje atributov in predobdelava učnih primerov

6.      Osnovni principi strojnega učenja, ocenjevanje učenja, kombiniranje algoritmov strojnega učenja .

7.      Paralelno distribuirano procesiranje in umetne nevronske mreže

8.      Evolucijsko računanje in genetski algoritmi

9.      Statistično modeliranje: bayesovsko sklepanje, linearni in regresijski modeli, multivariatni modeli, kavzalno sklepanje, neparametrični modeli, stohastični procesi

10.  Sistemi za podporo odločanju: klasična teorija odločanja, teorija uporabnosti in teorija iger, večkriterijsko odločanje, negotovost in upoštevanje tveganj,  skupinsko odločanje, kakovost odločitvenih modelov

11.  Inteligentni robot in agenti: pregled področja, agentne arhitekture in teorija agentov, programski agenti, učeči se agenti, mobilni agenti, večagentni sistemi

12.  Procesiranje naravnega jezika: deterministične in stohastične gramatike, korpusne metode, pridobivanje informacij, prevajanje,

13.  Kognitivno modeliranje: človek kot inteligentni sistem, kognitivne arhitekture

14.  Spodbujevano učenje: osnovni pristopi in algoritmi, Q učenje

 

 

Osnovna literatura v slovenščini:


I. Kononenko in M. Robnik Šikonja: Inteligentni sistemi. Založba FE in FRI, Ljubljana, 2010.


Dodatna v angleščini:

 

·         Kononenko, M. Kukar: Machine Learning and Data Mining, Horwood publ., 2007.

·         S.J. Russell, P. Norvig: Artificial Intelligence: A Modern Approach, 3rd ed. Prentice Hall, 2009.

 

Pomožna literatura:

·         Bratko: Prolog Programming for Artificial Intelligence, Third edition, Addison-Wesley, 2000.

·         G. Luger:  Artificial Intelligence: Structures and Strategies for Complex Problem Solving (6th ed.), Addison-Wesley Pearson Education, Boston, 2009

·         D. Jurafsky, J. H. Martin. Speech and language processing: An introduction to natural language processing, computational linguistics, and speech recognition. Pearson Education Inc., 2009.

·         Y. Shoham, K. Leyton-Brown. Multiagent systems: algorithmic, game-theoretic, and logical foundations. Cambridge University Press, 2009.

·         L. Busoniu, R. Babuska, B. De Schutter, D. Ernst. Reinforcement Learning and Dynamic Programming using Function Approximators. Taylor & Francis CRC Press, 2010

·         W.N. Venables, B.D. Ripley: Modern Applied Statistics with S, 4th edition. Springer, 2002.

·         R.O. Duda, P.E. Hart, D.E. Stork: Pattern Classification, 2nd Edition, Wiley 2001.

·         E. Turban, J.E. Aronson: Decision support systems and intelligent systems. Prentice-Hall, 2004.

 

 


Naslov predmeta: Strojno učenje (magistrski bolonjski študij)

Predavatelj: prof. dr. Igor Kononenko
Asistent: dr. Petar Vračar
Osnovni cilj predmeta: Spoznati osnovne principe in metode strojnega učenja

Vsebina:

 

Vaje:

Na vajah se vadijo metode in tehnike, ki so predstavljene na predavanjih. Študenti rešujejo tudi domače naloge (spletni kviz, iz katerega vsak študent dobi oceno DN, ki mora biti najmanj 50%, da lahko dobi oceno pri premetu).

Raziskovalne naloge in MLDM (Machine Learning and Data Mining) Workshop:

Vsak študent (ali največ dva v skupini) samostojno izdela, napiše poročilo v obliki članka za delavnico (v angleščini) in zagovarja raziskovalno nalogo pri mentorju in jo predstavi na delavnici (MLDM Workshop), ki se organizira zadnja dva tedna v semestru v okviru vaj. Ocena raziskovalne  naloge (pod pogojem, da je ocena domačih nalog pozitivna) se šteje za oceno iz vaj OC. Pozitivna ocena iz vaj je pogoj za pristop k izpitu. Ocena iz vaj velja samo tekoče leto. Če v tekočem letu študent ne opravi izpita, mora v nasl. šol. letu ponovno opravljati domače naloge in raziskovalne naloge.

 

Vsak študent (oziroma skupina, če raziskovalno nalogo izvaja več študentov), mora napisati poročilo v obliki znanstvenega članka - v angleščini, 6-8 strani dolg članek, oblika je specificirana z navodili za pisanje članka za delavnico. Oddati morajo PDF verzijo do postavljenega roka (deadline). Potem sledi postopek recenzije. Vsak študent dobi tri članke v recenzijo. Jih oceni (v obrazcu za recenzijo), kjer poda tudi zahteve za popravke članka. Recenzije študenti dobijo dva tedna pred delavnico in morajo dokončni članek oddati 1 teden pred delavnico. Na delavnici vsak članek predstavijo v kratkem predavanju (10 min + 5 min diskusije).

  Sodelovanje na delavnici je obvezno za vse študente. 


Ocena izpita in vaj: ( I+V)/2

 

Izpit:

Izpit je sestavljen iz pisnega in ustnega dela. Na pisnem izpitu je od literature dovoljen en A4 list napisan lastnoročno z navadnim svinčnikom (da se lahko radira) in podpisan s kemičnim svinčnikom z imenom in priimkom ter vpisno številko (fotokopije in printi niso dovoljeni). Ta list se odda skupaj s pisnim izdelkom.

 


Študijska literatura

Temeljna:
      KNJIGA:

ČLANKI::

·         Reliability of single predictions in classification and regression (paper: Comparison of approaches for estimating reliability of individual regression predictions )

·         Explaining classification of a single instance (paper: Explaining instance classifications with interactions of subsets of feature values  )

·         Deep neural networks (paper: Exploring strategies for training deep neural networks )

·         Learning from impalanced data sets (Book chapter: Use of Prediction Reliability Estimates onImbalanced Datasets )

·         Learning as compression (PhD by Andrej Bratko: Text mining using data compression models )

·         Web user profiling (paper: Web User Profiles with Time-Decay and Prototyping )

·         Recommendation systems (paper: Towards the Next Generation of Recommender Systems  )

·         Archetypal Analysis (PhD by Ercan Canhasi: Graph-based models for multi-document summarization)

·         Active learning (Paper: Active Learning Literature Survey)

 

 

Dodatna: