Zaawansowane uczenie maszynowe


To jest strona domowa przedmiotu Zaawansowane uczenie maszynowe (ZUM) prowadzonego na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. Można tu znaleźć informacje organizacyjne oraz materiały pomocnicze.

Komentarze na temat zawartości tej strony i inne uwagi dotyczące przedmiotu proszę kierować pocztą.

Zawartość strony

  1. O przedmiocie
  2. Aktualności
  3. Aktualna realizacja
  4. Zasady oceniania
  5. Projekt
  6. Kolokwia
  7. Konsultacje
  8. Plan wykładów (przybliżony)
  9. Slajdy do wykładów
  10. Ćwiczenia sprawdzające
  11. Przykłady kodu w R
  12. Literatura

O przedmiocie

Przedmiot kierowany jest do studentów studiów magisterskich, którzy mieli już wcześniej pierwszy kontakt z elementami teorii i podstawowymi algorytmami uczenia maszynowego. Ma on na celu poszerzenie oraz pogłębienie ich wiedzy w tym zakresie. Da on także okazję do zdobycia doświadczeń praktycznych dotyczących implementacji i stosowania algorytmów uczenia maszynowego do tworzenia modeli predykcyjnych. Zakres przedmiotu obejmuje wybrane nie-neuronowe algorytmy uczenia się stosowane do danych tabelarycznych. Bardziej szczegółowe informacje zawiera oficjalny konspekt przedmiotu.

Przedmiot jest kontynuacją przedmiotu Uczenie maszynowe (UMA), który jest prowadzony na studiach inżynierskich, lecz pełna rozłączność zakresów wykładów i eliminacja "przypominania" wybranych elementów treści UMA nie jest możliwa, gdyż wcześniejsza realizacja UMA nie jest ściśle wymagana.

Aktualności

Kolokwium 1 odbędzie się w terminie wykładu 8, w czwartek 11 kwietnia. Początek o 8.15, czas pracy ok. 75 minut (wykładu nie będzie). Kolokwium będzie miało postać testu jednokrotnego wyboru, przy czym zakres i poziom trudności zadań nie będzie wykraczać poza to, co demonstrują udostępniane po wykładach ćwiczenia.

Dostępne są aktualne informacje na temat realizacji projektu.

Przedmiot został uruchomiony w semestrze 24L.

Aktualna realizacja

  1. Zajęcia wykładowe prowadzone są w trybie stacjonarnym i odbywają się w terminie i miejscu określonym przez rozkład zajęć.

  2. Realizacja projektu następuje samodzielnie w zespołach projektowych z możliwością korzystania z konsultacji.

  3. We wszystkich sprawach nieuregulowanych tutaj mają zastosowanie ogólne zasady określone przez Regulamin Studiów PW oraz bieżące rozporządzenia i zalecenia władz PW.

Zasady oceniania

Ocena z przedmiotu ustalana jest na podstawie:

Końcowa ocena jest wyznaczana na podstawie łącznej punktacji (0-100) przez zastosowanie standardowych progów.

Projekt

W obecnym semestrze projekt prowadzą:

  1. Stanisław Kozdrowski,
  2. Paweł Cichosz.

Proszę o sprawdzenie w systemie USOS swojej przynależności do grup projektowych oraz przypisania prowadzących do grup, a następnie zgłoszenia zespołów złożonych z dwóch osób należących do grup przypisanych do tego samego prowadzącego (ale mogą to być różne grupy) do odpowiednich prowadzących. Zgłoszenia te proszę składać za pomocą arkuszy wyboru tematu, do których linki zostały wysłane na listę mailową przedmiotu. Oferta tematów projektu jest wspólna i wybór tematu jest w pełni swobodny (w szczególności ten sam temat może być realizowany przez różne zespoły).

W kwestiach związanych z interpretacją tematów, zakresem wymagań oraz ewentualnych materiałów pomocniczych do projektu proszę zwracać się wyłącznie do odpowiednich prowadzących projekt.

Kolokwia

Zasady

  1. Kolokwia mają charakter "pisemnego sprawdzianu z notatkami", co oznacza, że każdy uczestnik może korzystać z dowolnych własnych (przyniesionych ze sobą) materiałów na papierze (kartek, zeszytów, książek itp.), lecz nie może się nimi wymieniać z innymi osobami.
  2. Pierwsze kolokwium odbywa się zazwyczaj w terminie wykładu 8, a drugie kolokwium -- zazwyczaj w terminie ostatniego wykładu w semestrze. Terminy kolokwiów będą potwierdzone z co najmniej dwutygodniowym wyprzedzeniem.
  3. Kolokwium poprawkowe, na którym można poprawiać ocenę z jednego bądź obu kolokwiów, jest organizowane w ostatnich dniach semestru lub pierwszych dniach sesji. Udział w nim oznacza rezygnację z oceny uzyskanej wcześniej (z wyjątkiem sytuacji, gdy stosowanie tej zasady powodowałoby niezaliczenie przedmiotu).

Konsultacje

Stały dyżur: czwartek 10-11, pok. 24 -- bez umawiania się.
Inne terminy: -- możliwe po umówieniu się.

Plan wykładów (przybliżony)

Wykład Temat
1 Informacje organizacyjne i wprowadzenie.
2-4 Przegląd/przypomnienie elementów teorii (PAC-uczenie, wymiar VC) i podstawowych algorytmów (drzewa decyzyjne, naiwny klasyfikator bayesowski, modele liniowe, las losowy, SVM, ocena jakości modeli).
5 Drugie spojrzenie na drzewa decyzyjne (przycinanie, obsługa brakujących wartości atrybutów, drzewa regresji, drzewa modeli).
6-7 Drugie spojrzenie na naiwny klasyfikator bayesowski (model wielomianowy, model dopełnieniowy).
Drugie spojrzenie na modele liniowe (logarytm wiarygodności, regresja logistyczna, kalibracja predykcji probabilistycznych, regularyzacja).
Drugie spojrzenie na algorytm SVM (postać dualna, funkcje jądrowe, SVM do regresji).
8 Kolokwium 1.
9 Drugie spojrzenie na modele zespołowe (bagging, boosting).
10 Koszty pomyłek, nierównoważone klasy, drugie spojrzenie na ocenę jakości modeli (dodatkowe miary jakości, procedury oceny, kryteria informacyjne).
11 Drugie spojrzenie na zadanie klasyfikacji (klasyfikacja wieloetykietowa, aktywne uczenie się, półnadzorowane uczenie się).
12 Grupowanie (k-środków, gęstościowe, ocena jakości).
13 Detekcja anomalii (klasyfikacja jednoklasowa, niepodobieństwo do sąsiadów, niepodobieństwo do grup).
14 Selekcja i transformacja atrybutów.
15 Kolokwium 2.

Slajdy do wykładów

Po każdym wykładzie będą tu zamieszczane slajdy odpowiadające jego treści.

Udostępniam również wstępne robocze wersje slajdów do przyszłych wykładów, należy jednak brać pod uwagę, że mogą być do nich jeszcze wprowadzane zmiany (poprawki, uzupełnienia, przesunięcia materiału).

Ćwiczenia sprawdzające

W trakcie semestru będą tu udostępniane ćwiczenia do (większości) wykładów, mające na celu ułatwienie weryfikacji zrozumienia ich treści i przygotowania się do kolokwiów.

Przykłady kodu w R

Jako zachętę do zapoznania się z właściwościami R jako języka programowania zamieszczam tu przykładowe pliki źródłowe ilustrujące niektóre z tych właściwości.

  1. index.R (demonstracja indeksowania wektorów i tablic)
  2. list.R (demonstracja list)
  3. noloop.R (demonstracja możliwości unikania pętli)
  4. scope.R (demonstracja leksykalnego zasięgu i domknięć)
  5. lazy.R (demonstracja leniwej ewaluacji)
  6. class.R (demonstracja klas i metod)
  7. oper.R (demonstracja przeciążania operatorów)
  8. quine.R (ciekawostka: demonstracja quine'ów)
  9. tupper.R (ciekawostka: demonstracja formuły Tuppera)

Literatura

Literatura dotycząca szczegółowych zagadnień, w tym zwłaszcza tematów projektu, rekomendowana jest indywidualnie w ramach konsultacji. Tutaj zamieszczam tylko nieliczne wybrane książki, których zakres tematyczny w znacznym stopniu jest zgodny z zakresem przedmiotu.

Paweł Cichosz