HomePredlogi tem za diplomske in magistrske naloge
cover image

Predlogi tem za diplomske in magistrske naloge

Strojno učenje, globoki modeli, razlage, zaupanje

Spodaj naštevam nekaj možnih tem za diplomske naloge, ki jih lahko opravljate pod mojim mentorstvom. Če vas kakšna od tem zanima, mi pišite ([email protected]) ali pa se oglasite pri meni po predavanjih ali kadarkoli, še najbolje pa ali v ponedeljek ali v petek dopoldne, v pisarni. Teme so odprtega tipa; v pogovori z vami za izbrano temo skupaj sestavimo načrt dela in predlagamo cilje, zahtevnost pa ustrezno prilagodimo vašemu predznanju.

Vse naštete teme so sicer primerne tudi za sodelovanje z Laboratorijem za bioinformatiko, kjer iščemo sodelavke in sodelavce, jih dobro opremimo, nudimo delovno mesto v laboratoriju in jih dobro honoriramo.

Blaž Zupan. Zadnji popravki tega zapisa so nastali januarja 2024.

Chapter 1: Nadzorovan PCA

Pred časom smo s kolegi objavili članek FreeViz—An intelligent multivariate visualization approach to explorative analysis of biomedical data. Članek govori o metodi, ki zna za večdimenzionalne podatke poiskati projekcijo, kjer so podatki čimbolj ločeni glede na razred. Članek je objavljen leta 2007, so se pa takrat in tudi kasneje ukvarjali z zelo podobno metodo, ki ji pravijo "Supervised PCA", torej metodo glavnih komponent, kjer je cilj ne samo povečanje variance ampak tudi ločitev primerov različnih razredov. Tako FreeViz kot Supervised PCA naj bi znala obravnavati zvezne in diskretne razrede, torej, sta primerna tako za klasifikacijo kot regresijo. FreeViz je implementiran v orodju Orange.

Za Supervised PCA kot vse kaže obstaja nekaj pythonovskih implementacij (npr. tale tu, ki kot vir navaja članek Prediction by Supervised Principal Components slovitih avtorjev s področja statistike). Člankov na temo Supervised PCA se sicer najde še kar nekaj, npr Supervised PCA: A Multiobjective Approach iz leta 2020, pa Supervised principal component analysis: Visualization, classification and regression on subspaces and submanifolds iz leta 2011.

Cilj naloge je:

  • preberi članke (supervised PCA in FreeViz) in še malo pobrskaj po literaturi
  • skušaj razumeti uporabljeno matematiko
  • implementiraj obe tehnike oziroma prilogodi že znane implementacije
  • primerjaj obe tehnike, na primerih in v teoriji razloži, v čem je razlika in kje je bolje uporabiti FreeViz in kje Supervised PCA

Chapter 2: Klepetalniki

V okviru tem na področju klepetalnikov nas zanima, ali je možno narediti klepetalnik za izbrano področje, ki ga predstavimo z izbranim naborom dokumentov. Klepetalnik bi radi razvili tako, da ta pri pogovoru in odgovorih na naša vprašanja uporablja besedilo iz našega nabora dokumentov in dokumente ali dele dokumentov pri tem navaja (citira). Ciljamo sicer na klepetalnike, ki so na primer specializirani za določena zelo ozka področja, kot je na primer socialna amebe D. dictyostelium, korak pred tem pa bi bilo razviti klepetalnike za recimo tekoče dnevne novice, ali pa klepetalnike za določena pravna področja. Naloga bi torej vsebovala:

  • zbiranje podatkov (dokumentov) in ureditev teh v korpus
  • ustrezno indeksiranje dokumentov
  • razvoj klepetalnika
  • vrednotenje rešitve

Chapter 3: Klepetalnik za delotoke

Je možno zgraditi klepetalnik, ki predlaga postopek za analizo podatkov in na primer oblikuje delotoke v izbranem programu za podatkovno analitiko? Konkretno, želeli bi zgraditi klepetalnik, ki bi uporabniku pomaga pri vizualnem programiranju, kot ga implementira program Orange.

Slika: tipičen delotok v programu Orange. Bi bilo možno, da bi ga sistem predlagal na podlagi opisa delotok, npr. "Za vhodne podatke želim izdelati delotok, ki preveri napovedno točnost nekaterih modelov strojnega učenja. Rezultate primerno vizualiziraj.".

Klepetalnika na tem področju je najbrž silno težko izdelati, zato bi se za začetek pri diplomski nalogi lotili česa lažjega, a nič manj zanimivejšega:

  • Iz že izdelanih besedil, ki vsebujejo delotoke, iz lušči delotoke in pripadajočo besedilo. Primer takega besedila je npr. nedavno uporabljeno učno gradivo.
  • Ker so telotoki vključeni v besedila kot slike, bi bilo potrebno iz njih izluščiti strukturo, to je prepoznati gradnike in povezave med njimi. Morda še najlažja bo za to uporaba konvolucijskih nevronskih mrež, ki bi prepoznala območje z ikono in območje z povezavo, znala prepoznati ikono in zgradila delotok. Že samo ta alineja je recimo primerna za temo za diplomsko nalogo.
  • Prvi približek klepetalnika bi potem lahko uporabljal vložitve besedil v vektorski prostor, in besedilo z iskalnim nizom v prostoru vložitev primerjal z besedilom povezanim z določenim delotokom. Tudi ta alineja bi bila primerna za (morda nekoliko enostavnejšo) diplomsko nalogo. Ta bi recimo vključevala uporabo razvrščevalnika slik, ki bi prepoznaval, ali je na sliki delokrog ali pa kaj drugega, in potem uporabil samo slike z delotokom.
  • V naslednjem približku klepetalnika bi iz besedil in delotokov, ki bi bili opisani kot graf, zgradili globoki generativni model.
  • Vse zgornje bi bilo potrebno primerno ovrednotiti.

Iz zgornjega zato izhajajo tri možne teme:

  • Iskalnik delotokov na podlagi besedilnega opisa.
  • Pretvorba slik delotoka v graf.
  • Generativni model delotokov, ki iz besedila tvori graf.