Zaawansowane uczenie maszynowe:
zasady realizacji projektu


Zasady ogólne

Proponowane tematy przewidywane są do realizacji w zespołach dwuosobowych. W szczególnie uzasadnionych przypadkach (np. uczestnictwo w projektach badawczych obejmujących zagadnienia należące do zakresu przedmiotu) będzie także możliwe zaproponowanie własnego tematu projektu.

Wymagania i kryteria oceniania

Podane niżej zasady mają na celu zapewnienie sprawnej realizacji projektu i procesu oceniania, a nie wprowadzanie nadmiernego rygoryzmu. W indywidualnych uzasadnionych przypadkach niektóre z tych zasad mogą zostać złagodzone. Zdarza się też, że wynikające z ogólnych zasad terminy są ze względu na specyficzny układ kalendarza semestru przesuwane o kilka dni, jednak są to wyłącznie przesunięcia w przód (wydłużenie dostępnego czasu).

W przypadku, gdy projekt oprócz mnie prowadzi także inny prowadzący, może on uszczegółowić bądź zmodyfikować niektóre zapisane tu warunki dla zespołów realizujących projekt pod jego kierunkiem. Zespoły te powinny zapoznać się z przedstawionymi przez niego informacjami!

  1. Wybór tematu projektu musi nastąpić do końca piątego tygodnia semestru. Niedokonanie wyboru tematu w tym terminie może być traktowane jako rezygnacja z wykonywania projektu.
  2. Do końca siódmego tygodnia semestru należy dostarczyć w formie pliku PDF zawierającego maksymalnie 3 strony wstępne założenia obejmujące:
    1. interpretację tematu projektu,
    2. opis części implementacyjnej (jeśli dotyczy),
    3. listę algorytmów, które będą wykorzystane w eksperymentach (ze wskazaniem wykorzystywanych bibliotek, i klas/funkcji),
    4. plan badań, w tym:
      1. cel poszczególnych eksperymentów (pytania, na które będzie poszukiwana odpowiedź, lub hipotezy do weryfikacji),
      2. charakterystykę zbiorów danych, które będą wykorzystane (oraz ewentualnych czynności związanych z przygotowaniem danych),
      3. parametry algorytmów, których wpływ na wyniki będzie badany,
      4. miary jakości i procedury oceny modeli,
    5. otwarte kwestie wymagające późniejszego rozwiązania (wraz z wyjaśnieniem powodów, dla których ich rozwiązanie jest odłożone na później).
  3. Do końca przedostatniego tygodnia semestru należy dostarczyć w postaci linku do udostępnionego notatnika Google Colab, spełniającego wymagania techniczne, wyniki realizacji projektu zawierające:
    1. zaktualizowaną treść założeń wstępnych z zaznaczeniem zmian wprowadzonych w trakcie realizacji,
    2. opis implementacji (jeśli dotyczy),
    3. kod implementacji (jeśli dotyczy),
    4. opis przeprowadzonych eksperymentów,
    5. kod eksperymentów,
    6. uzyskane wyniki w formie wykresów lub tabel,
    7. dyskusję wyników i wnioski.
  4. Na ocenę z projektu (100%) składają się:
    1. ocena założeń wstępnych (20%),
    2. ocena realizacji (80%).
  5. Opóźnienie w oddaniu założeń wstępnych nie przekraczające jednego tygodnia powoduje przemnożenie uzyskanej oceny za założenia wstępne przez współczynnik 0.8. Po upływie jednego tygodnia od terminu założenia nie będą przyjmowane do oceny, a ocena późniejszych elementów projektu będzie automatycznie mnożona przez współczynnik 0.8.
  6. Po upływie jednego tygodnia od terminu lub po zakończeniu zajęć dydaktycznych w semestrze kod i dokumentacja nie będą przyjmowane, z wyjątkiem uzasadnionych przypadków losowych. Opóźnienie w oddaniu któregokolwiek z produktów końcowych projektu (kodu źródłowego lub dokumentacji) nieprzekraczające jednego tygodnia powoduje przemnożenie uzyskanych ocen za realizację projektu przez współczynnik 0.8 (w przypadku braku założeń wstępnych łączny mnożnik wyniesie 0.8*0.8=0.64).
  7. Przy ustalaniu numerów tygodni, o których mowa wyżej, stosuje się numerację kolejnych wykładów, tzn. w szczególności siódmym tygodniem jest tydzień, w którym przypada termin siódmego wykładu z ZUM, a ostatnim tygodniem -- tydzień, w którym przypada termin ostatniego wykładu z ZUM, zgodnie z rozkładem zajęć i obowiązującym kalendarzem semestru.

Interpretacja tematów

Tematy są sformułowane bardzo lakonicznie jako stosunkowo otwarte hasła do rozwinięcia, przez co oczywiście mogą być przy pierwszym kontakcie z nimi niezrozumiałe. Bliższych informacji dotyczących wybranych tematów można zasięgnąć w ramach konsultacji.

Środowisko realizacji

Środowiskiem implementacji i eksperymentów dla wszystkich tematów projektu jest język R lub język Python. Zapoznanie się z wybranym środowiskiem na wystarczającym poziomie wchodzi w zakres projektu i jest dodatkową korzyścią, jaka z niego wynika dla wykonawców. Wykonawcy mogą przedstawić propozycję realizacji części zakresu projektu w obydwu środowiskach (np. w celu porównania dostępnych w obu środowiskach implementacji niektórych algorytmów).

Implementując algorytmy uczenia się w języku R lub Python należy przestrzegać powszechnie przyjmowanych w tych środowiskach konwencji dotyczących przekazywanie danych, parametrów i zwracania wyników. Dodatkowe wymagania i wskazówki techniczne podane są tutaj.


Strona przedmiotu ZUM

Paweł Cichosz