Kako podobna so si med seboj živa bitja? Smo ljudje res potomci neandertalcev? Kako so se živalske vrste lahko prilagodile na življenjska okolja? Kateri geni so odgovorni za pojav različnih bolezni? Zakaj vsako leto potrebujemo drugo cepivo proti gripi? Današnja biologija je polna zanimivih vprašanj in nikoli prej nismo bili tako blizu odgovorom.

Nedavno razvite eksperimentalne biotehnologije omogočajo pridobivanje velikih količine eksperimentalnih podatkov: o genomih različnih vrst in osebkov, o genskih izrazih, koncentracij proteinov, vplivih učinkovin na delovanje celice, ipd. Tovrstni podatki so danes dostopni v javnih spletnih podatkovnih bazah in jih je potrebno statistično in matematično obdelati, v njih poiskati skrite vzorce in jih primeren način prikazati. Temu so namenjena orodja bioinformatike, področja, brez katerega danes ne bi mogli več odgovoriti niti na eno od zgoraj zapisanih vprašanj. Gre za interdisciplinarno področje, ki združuje metode iz statistike, matematike, vizualizacije podatkov in odkrivanja znanj iz podatkov.

Pri predmetu si bomo v teoriji in predvsem na praktičnih primerih ogledali osnovne bioinformatične pristope kot so analiza in poravnava nukleotidnih zaporedij, markovske verige, filogenetska analiza in računski pristopi k odkrivanju evolucijskih dreves, analiza genskih izrazov in medicinska prognostika in diagnostika na podlagi podatkih pridobljenimi z visokoprepustnimi tehnikami v molekularni biologiji. Predznanja iz molekularne in celične biologije ter genetike za obiskovanje predmeta niso potrebna. Osnovne molekularne biologije bomo pri sproti uvajali in podajali na računalnikarjem razumljiv in zanimiv način.

Ta predmet obravnava izbrane ideje in metode umetne inteligence, ki so posebej zanimive ali praktično uporabne. Te metode so zato pomembne s stališča zahtevnejše uporabe računalnikov, pa tudi kot modeli delovanja inteligence pri ljudeh. Našli bomo odgovore na spodnja vprašanja:

  • Kako sestaviti plan za dano nalogo, ki jo skupaj rešuje množica agentov, npr. robotov ali drugih naprav, kjer lahko operacije potekajo sočasno? Na take probleme naletimo v logistiki, izdelavi urnikov ali organizaciji obsežnih operacij.
  • Kako se lahko agent, npr. robot, v povsem neznanem okolju nauči dosegati svoje cilje, pri čemer mora obenem odkriti tudi zakonitosti svojega okolja?
  • Kako lahko računalnik avtomatsko sestavi nov program, če so podani le primeri podatkov in rezultatov tega programa? Spoznali bomo algoritme za avtomatsko programiranje s primeri.
  • Kako lahko rešujemo optimizacijske probleme po vzoru naravne evolucije -- z naravno selekcijo, kjer preživijo le najboljši? Na tem principu delujejo genetski algoritmi.
  • Kako lahko računalnik po »zdravi pameti« predvidi potek dogodkov, kot ljudje v vsakdanjem življenju: brez števil, diferencialnih enačb in numeričnih fizikalnih modelov? Navadno za vsakdanje življenje zadošča »naivna«, intuitivna fizika, ki se je naučijo že otroci iz vsakdanjih izkušenj.

Vsebina: prostorsko učinkoviti preiskovalni algoritmi, učinkovito planiranje z delno urejenostjo, spodbujevano učenje, genetski algoritmi, kvalitativno sklepanje in modeliranje, induktivno logično programiranje, meje učljivosti – česa se je v omejenem času možno naučiti in česa ne.

Strojno učenje (angl. machine learning) se uporablja v industriji, medicini, ekonomiji itd. za analizo podatkov in odkrivanje zakonitosti v podatkovnih bazah, podatkovno rudarjenje (angl. data mining), za generiranje baz znanja za ekspertne sisteme, za učenje prepoznavanja in predikcij, igranje iger, za razpoznavanje naravnega jezika in prevajanje, klasifikacijo tekstov in rudarjenje na svetovnem spletu, za nadzor dinamičnih procesov, razpoznavanje govora, pisave, slik itd. Osnovni princip strojnega učenja je opisovanje (modeliranje) pojavov iz podatkov. Rezultat učenja so lahko pravila, funkcije, relacije, sistemi enačb, verjetnostne porazdelitve ipd. Naučeni modeli poskušajo razlagati podatke in se lahko uporabijo za odločanje pri opazovanju modeliranega procesa v bodočnosti. Cilj predmeta je predstaviti teoretične osnove in osnovne principe metod strojnega učenja, osnovne algoritme strojnega učenja in njihove uporabe v praksi za iskanje zakonitosti iz podatkov ter za učenje klasifikacijskih in regresijskih modelov. Študenti bodo teoretično znanje praktično uporabili na realnih problemih iz znanstvenega in poslovnega okolja.

Povzetek vsebine: kWhat
is learning and relation between learning and intelligence, ML basics, Advanced
attribute evaluation measures, Advanced methods for estimating performance of
ML, Advanced visualization methods, Combining ML algorithms, Bayesian learning,
Calibration of probabilities, Explanation of individual predictions, Numerical
ML methods, Artificial neural networks: RBF, Deep NN, Unsupervised learning:
clustering, Association rules, Estimating the reliability of individual
predictions, Text mining, Matrix factorization, Arcehtypal analysis, ML as data
compression, active learning, user porfiling and recommendation systems, ILP, Introduction
to learning theory.

Practical part is in the form of solving problems and web quizzes and completing the seminar work. Assistant is available for consultations. The grade of practical work is the grade of the seminar work. The precondition for passing practical work is achieving at least 50% of points in web quizzes.

The final course grade consists of practical work grade (50%) and exam (50%). On the written exam students need to achieve at least 50% of points.