Oris poglavij

  • Splošno

    Predavatelja: Blaž Zupan (blaz.zupan@fri.uni-lj.si)
    Asistent: Marko Toplak (marko.toplak@fri.uni-lj.si), Primož Godec (primoz.godec@fri.uni-lj.si)

    Predavanja so ob torkih v P22 s pričetkom ob 11:15. Prosim, bodite točni!

    Vaje pri predmetu bodo kombinacija konzultacij in (po potrebi) kratkih tečajev o praktičnih temah, ki bodo povezane z izvedbo domačih nalog. Z vajami pričnemo takoj, v prvem tednu semestra.

    Ocenjevanje: domače naloge (50%) + pisni izpit (50%). Pozitivna ocena domačih nalog (študent je zbral več kot 60% možnih točk) je pogoj za pristop k izpitu. Izpit je opravljen s pozitivno oceno če je pozitivna tako ocena domačih nalog kot pisnega izpita (zbranih več kot 60% možnih točk pri domačih nalogah in več kot 60% možnih točk pri izpitu). Bonusi iz domačih nalog se ne prenašajo na pisni izpit (in obratno). Združena ocena domačih nalog in izpita v odstotnih točkah, kjer je DN ocena domačih nalog in I ocena izpita v odstotnih točkah se izračuna skladno z enačbo: ocena [odstotne točke] = max( min(DN+15, I), min(DN, I+15) ). Primer: 85% točk iz domačih nalog, 65% iz izpita, ocena je 80%. Še en primer: pisni izpit 90%, domače naloge 65%, ocena je 80%. Zaokrožene odstotne točke (celo število) se prevedejo v končno oceno pri predmetu: do 60 -> 5, od 61 do 68 -> 6, od 69 do 76 -> 7, od 77 do 84 -> 8, od 85 do 92 -> 9, od 93  -> 10. Vpis ocene bo potekal v izpitnem obdobju hkrati z ustnim izpitom, ki bo na voljo za vse, ki bi radi spremenili oceno.

    Domače nalog: Poročila o domačih nalogah so napisana v LaTeXu (predloga, primer). Domače naloge imajo rok. Za vsak dan zamude se ocena množi z 0,9. Primer: študent je za nalogo, ki jo je oddal dva in pol dni po roku, prejel 75 točk. Končna ocena naloge je 75*(0,9^3) = 54,7 točk. Naloge je obvezno oddati vsaj sedem dni po roku, po tem se šteje naloga ko neopravljena (0 točk). Ocena naloge je sestavljena iz ocene za vsebino (90%) in strukturo/pravopis (10%). Predvidoma boste imeli od šest do osem domačih nalog, ki bodo enakomerno razporejene po semestru. Prva domača naloga bo predstavljena že na prvem predavanju.

    Literatura:

    Priporočena dodatna gradiva in tečaji (neobvezno, a za vsa radovedne):

    • Janez Demšar (2009) Python za programerje. Knjiga, namenjena tem, ki že znajo programirati v kakem drugem jeziku. Kdor ima raje verzijo na papirju, jo lahko kupi pod menzo za ceno cca dveh kosil v menzi.
    • Luciano Ramalho (2015) Fluent Python, O'Reilly Media. Lahko tudi Early Release 2014, ki je bil nekaj časa prosto dostopen na webu. Debela bukla, skoraj enciklopedija, a s super primeri in triki.
    • Tečaji s področij strojnega učenja, analize podatkov, nevronskih mrež dostopni na raznih MOOCih. 

  • Odkrivanje skupin

    Odkrivanje skupin je eden od temeljnih postopkov, ki jih uporabljamo pri analizi podatkov. Odkrivamo lahko skupine uporabnikov glede na njihove uporabniške profile (uporaba storitev, nakupovalne košarice, vzorci obnašanja, stiki v družabnih omrežij), stvari (profili zanimanja uporabnikov, semantične podobnosti), dokumentov (glede na besedilo, ključne besede, zanimanje in ocene uporabnikov). Med številnimi algoritmi, ki se danes uporabljajo za odkrivanje skupin v podatkih, je prav gotovo najbolj znan algoritem hierarhičnega razvrščanja v skupine. Najbrž zaradi njegovi enostavnosti in pa zaradi tega, ker je njegove rezultate moč enostavno grafično predstaviti. Prav je, da s tem algoritmom pričnemo predmet. Osnovna literatura
    Dodatni viri
    Podatki in koda
    • Metoda voditeljev

      Hierarhično gručenje lahko zaradi časovne in prostorske kompleksnosti algoritma uporabljamo samo na manjših množicah podatkov. Gručenje, ki ga lahko uporabimo tudi na velikih množicah podatkov uporablja metodo voditeljev, ki pa od uporabnika zahteva, da vnaprej poda število gruč. Iskanje primernega števila voditeljev lahko avtomatiziramo z oceno kvalitete razbitja. Ena od preprostejših mer uporablja pristop silhuete. Osnovna literatura
      Dodatni viri
      • Razvrščanje besedil

        Za obravnavo besedilnih dokumentov bomo uporabili trik. In sicer jih bomo za rešitev domače naloge predstavili s frekvenco k-terk, to je frekvenco k soslednih znakov, ki jih bomo dobili tako, da bomo z oknom širine k drseli po besedilu, znak po znak, in si zapisovali, kolikokrat smo pri tem naleteli na posamezno terko. Ker dokumente na ta način zapišemo s frekvencami terk, pravimo tudi, da je gre za spektralno predstavitev besedila. Osnovna literatura

        Koda s predavanja

        Dodatni viri
        • Programming Collective Intelligence, tretje poglavje (Document Filtering)
        • Language Trees and Zipping, eden prvih člankov, ki predlaga, da se za jezikovna drevesa da uporabljati tudi navadni program za zgoščevanje datotek (npr. gzip)
        • Quantitative analysis of culture using millions of digitized books, članek Ereza Liebermana in sodelavcev iz revije Science, kjer so analizirali angleška besedila od leta 1800 do 2000 in opazovali razvoj jezika, kulture in zgodovine.
        • Linearna regresija

          Problemom, kjer je cilj iz atributnega opisa primera napovedati vrednost ciljne zvezne spremenljivke (imenujemo jo tudi razred), pravimo regresijski problemi. Iz učnih podatkov, ki tokrat poleg atributnega opisa vsebujejo tudi podatek o razredu, tu gradimo regresijske napovedne modele. Pri predmetu se bomo z večino tehnik regresijskega modeliranja le seznanili. Pobližje spoznamo le linearno regresijo. Gre za sicer zelo enostaven model, ki pa ima skoraj vse, kar imajo veliki. Najprej je tu struktura modela, kjer pri linearni regresiji povemo, da gre za uteženo vsoto vrednosti atributov, kjer pravimo utežem parametri modela in jih moramo določiti iz podatkov. Določimo jih tako, da minimizirajo neko kriterijsko funkcijo. Pri predavanji to definiramo kot povprečno vrednost kvadrata napake. Kot postopek optimizacije, se pravi, iskanja optimalne vrednosti parametrov glede na izbrano kriterijsko funkcijo, uporabimo metodo gradientnega spusta. Osnovna literatura
          Drugi viri
          Koda s predavanj
          • Merjenje napovedne točnosti in regularizacija

            Linearna regresije se v primeru dovolj velikega števila atributov povsem prilagodi učni množici. Če je atributov dovolj, primerov pa dovolj malo, lahko celo dosežemo, da model linearne regresije točno napove vse vrednosti razredov primerov učne množice. Tako prilagojeni modeli pa tipično ne napovedujejo dobro na učni množici. Da vse to rešimo rabimo določiti mere za ocenjevanje točnosti, postopek, kako merimo točnost (množico primerov razbijemo na učno in testno množico) in postopek, kako preprečimo preveliko prileganje učni množici. Slednjega imenujemo regularizacija, in je v osnovni zelo enostavna: poleg napake na učni množici gradimo model linearne regresije tako, da skušamo minimizirati tudi vsoto kvadratov vrednosti parametrov modela. Postopek opišemo na primeru polinomske regresije. Osnovna literatura