Ścieżka naukowa przeznaczona jest dla osób zainteresowanych prowadzeniem eksperymentów, konstrukcją algorytmów sztucznej inteligencji czy — prościej mówiąc — zajrzeniem głębiej do tej czarnej skrzynki nazywanej uczeniem maszyn.
Najważniejszą składową tego projektu jest implementacja algorytmu na podstawie artykułu naukowego lub własnego pomysłu.
Projekty eksperymentów w tej ścieżce oparte są w dużej mierze o program laboratoriów, na których korzystają Państwo z metod podziału zbioru danych, w szczególności walidacji krzyżowej.
Etapy realizacji projektu
- Omówienie zasad zaliczenia projektu i zasad BHP, tworzenie grup projektowych.
- Wybór ścieżki realizacji projektu oraz tematu.
- Opis celów projektu oraz przegląd literatury, który powinien zawierać:
- opisy naukowych podstaw realizacji projektu wraz z omówionymi pokrótce najważniejszymi dla projektu pojęciami (nie należy definiować pojęć tak podstawowych jak “machine learning”),
- omówienie istniejących metod, które rozwiązują opisany problem (można powołać się na metody state-of-the-art, takie jak np. bagging dla metod zespołowych czy SMOTE dla resamplingu, należy jednak przytoczyć również przynajmniej dwie metody opisane w ciągu ostatnich czterech lat),
- wskazanie metod referencyjnych.
- Projekt eksperymentów uwzględniający:
- protokół eksperymentalny — w tym informację o tym, w jaki sposób stabilizowane są informacje o uzyskanych rezultatach (może być to zrealizowane np. poprzez walidację krzyżową),
- metryki oceny wyników,
- wykorzystywane testy statystyczne,
- opis poszczególnych eksperymentów wraz z ich celami,
- opis rzeczywistych zbiorów danych wraz z metodami ich pozyskania i/ lub sposobów generowania danych syntetycznych.
- Implementacja środowiska eksperymentalnego oraz metody zawierające:
- implementację metody w języku Python, kompatybilną z danym stosem technologicznym (np. BaseEstimator ****dla estymatorów podlegającym pod bibliotekę scikit-learn),
- implementację wstępnego eksperymentu, w którym dana metoda jest uruchamiana w odpowiednim protokole eksperymentalnym i który wstępnie prezentuje jej wyniki na zadanej metryce (nie musi zawierać testów statystycznych ani metod referencyjnych, służy zaprezentowaniu poprawności działania zaimplementowanej metody).
- Implementacja oraz przeprowadzenie eksperymentów:
- implementacja opierać się powinna na projekcie eksperymentów z etapu 3.,
- wyniki każdego eksperymentu należy zapisywać w odpowiednich plikach (np. .npy dla zapisywania wyników przechowywanych w tablicy NumPy),
- w implementacji należy zapewnić powtarzalność wyników, co zrealizować można przy użyciu mechanizmów pseudolosowości opartych na zadanym ziarnie losowości, takich jak
random_state
,
- w przypadku wykorzystania syntetycznych zbiorów danych, również należy stosować
random_state
,
- w przypadku dużych zbiorów syntetycznych, również rekomendujemy zapisanie ich w plikach po wygenerowaniu.
- Implementacja kodu analitycznego, który służy interpretacji wyników:
- prezentacja jakości według metryki/ metryk po przeprowadzeniu agregacji wyników z foldów walidacji krzyżowej wraz z odchyleniem standardowym,
- przeprowadzenie testów statystycznych,
- wykresy i tabele odpowiednie dla danego zadania.
- Oddanie całości projektu na podstawie:
- interpretacji wyników na podstawie informacji wygenerowanych w etapie 6. poparte ilustracjami, tabelami itp.,
- pełnego kodu udostępnionemu prowadzącemu,
- dokumentacji zawierającej słowny opis uwzględniający wszystkie zrealizowane etapy, w tym interpretację oraz wnioski,
- pięciominutowej prezentacji dla całej grupy zajęciowej.
Spis treści dokumentacji
- Wstęp i przegląd literatury — etapy 1, 2 oraz 3
W pierwszym rozdziale należy zawrzeć wprowadzenie do tematu projektu, wraz z jego rysem teoretycznym. Jest to również miejsce na dokonanie przeglądu literatury, czyli krótkiego omówienia istniejących metod służących do realizacji zadania będącego przedmiotem projektu. Z przeglądu literatury powinny wynikać metody referencyjne, z którymi porównywana będzie metoda. Na koniec należy również określić główny cel (lub cele) projektu.
- Metoda — etap 5
W niniejszym rozdziale powinien znaleźć się opis implementowanego estymatora oraz szczegóły odnośnie jego implementacji. Implementacja metody ma miejsce w etapie 4., czyli po zaprojektowaniu eksperymentów, jednakże rozdział na jej temat powinien zostać umieszczony w tym miejscu ze względu na praktyki przyjęte w pisaniu artykułów naukowych z naszej dziedziny — przeczytanie o metodzie przed projektami eksperymentów ułatwia odbiorcy zrozumienie całości.
Jest to miejsce na słowny opis estymatora oraz przedstawienie jego procedury przetwarzania w formie, którą autorzy projektu uznają za stosowną — do standardowych form należą opis słowny, schemat lub pseudokod. Przydatnym narzędziem do tworzenia schematów w LaTeX jest TikZ, nie ma jednak obowiązku stosowania go.
- Projekt eksperymentów — etapy 4 oraz 5