Dla prowadzących · 33 lekcje · 385 min
Dla prowadzących: kurs ML na zajęciach
Darmowy kurs uczenia maszynowego po polsku możesz wykorzystać na ćwiczeniach albo jako materiał do pracy własnej studentów. Studenci nie zakładają kont: lekcje, laby i quizy działają w przeglądarce, także na telefonie, bez instalacji.
Plan na 8 spotkań
Plan składa się z lekcji kursu, które są już gotowe, w kolejności modułów. Jedno spotkanie obejmuje najwyżej około 50 minut lekcji. Lekcji, które dopiero powstają, w planie nie ma. Spotkania możesz łączyć albo dzielić, jak pasuje do Twoich zajęć.
Spotkanie 1
Moduł 0 · Cała gra. Jak wygląda cała droga od pytania do oceny?
Moduł 1 · Jak model uczy się z przykładów. Skąd model bierze regułę i z czym ją porównać?
- Lekcja 0.1: Cały proces w 15 minut, od pytania do oceny · 15 min
- Lekcja 1.1: Czym jest uczenie maszynowe? · 10 min
- Lekcja 1.2: Dane, cechy, etykiety i podział zbioru · 10 min
- Lekcja 1.3: Punkt odniesienia: z czym porównujesz model? · 12 min
Razem 47 min lekcji (czytanie i lab, czas podany przy lekcji).
Zadania na ćwiczenia (cele labów)
- Zbuduj model, który na testowych pingwinach trafia o co najmniej 40 pkt proc. częściej niż zgadywanie. (lab w lekcji 0.1)
- Sprawdź, czy to nie przypadek: na innym podziale danych model nadal bije zgadywanie o co najmniej 40 pkt proc. (lab w lekcji 0.1)
- Ustaw próg ręcznie tak, by trafność na biopsjach testowych była co najmniej taka jak nauczonego progu. (lab w lekcji 1.1)
- Znajdź ziarno z najwyższą trafnością na teście przy bieżącym udziale testu i zastanów się, czy wolno ci ten wynik podać. (lab w lekcji 1.2)
- Znajdź udział testu, przy którym wyniki różnych ziaren różnią się o co najmniej 10 pkt proc. (lab w lekcji 1.2)
- Znajdź taki test, w którym „zawsze łagodny” ma wyższą trafność niż wyuczona reguła, choć nie wykrywa żadnej złośliwej biopsji. (lab w lekcji 1.3)
- W cukrzycy znajdź model, którego błąd jest co najmniej o 33% mniejszy niż błąd średniej. (lab w lekcji 1.3)
Notebooki: lekcja 0.1, lekcja 1.1, lekcja 1.2, lekcja 1.3.
Kartkówka: lekcja 0.1, lekcja 1.1, lekcja 1.2, lekcja 1.3.
Spotkanie 2
Moduł 1 · Jak model uczy się z przykładów. Skąd model bierze regułę i z czym ją porównać?
- Lekcja 1.4: Najbliżsi sąsiedzi: najprostszy model · 12 min
- Lekcja 1.5: Regresja liniowa: dopasowanie prostej · 10 min
- Lekcja 1.6: Spadek gradientu: nauka małymi krokami · 10 min
Razem 32 min lekcji (czytanie i lab, czas podany przy lekcji).
Zadania na ćwiczenia (cele labów)
- Ustaw kNN tak, żeby trafiał co najmniej 92% testowych pingwinów. (lab w lekcji 1.4)
- W jednostkach standaryzowanych znajdź k większe niż 1, które średnio na 20 podziałach trafia częściej niż k = 1. (lab w lekcji 1.4)
- Ustaw suwaki ręcznie tak, by MSE było najwyżej o 2% większe niż MSE najlepszej prostej. (lab w lekcji 1.5)
- Znajdź największy współczynnik uczenia, przy którym strata wciąż spada w każdym kroku. Wykonaj co najmniej 20 kroków, żeby to udowodnić. (lab w lekcji 1.6)
Notebooki: lekcja 1.4, lekcja 1.5, lekcja 1.6.
Kartkówka: lekcja 1.4, lekcja 1.5, lekcja 1.6.
Spotkanie 3
Moduł 2 · Klasyfikacja i ocena. Kiedy wynik jest dobry i dla kogo?
- Lekcja 2.1: Klasyfikacja: rysowanie granicy · 10 min
- Lekcja 2.2: Ocena klasyfikatora: więcej niż trafność · 10 min
- Lekcja 2.3: Próg, ROC i PR: wszystkie progi naraz · 12 min
- Lekcja 2.4: Kalibracja: czy 0,8 znaczy 80%? · 12 min
- Lekcja 2.5: Niezrównoważone klasy · 12 min
- Lekcja 2.6: Metryka i próg pod koszt pomyłek · 12 min
Razem 68 min lekcji (czytanie i lab, czas podany przy lekcji).
Zadania na ćwiczenia (cele labów)
- Znajdź najwyższy próg, przy którym żaden pingwin Chinstrap nie zostaje przeoczony. (lab w lekcji 2.1)
- Znajdź najwyższy próg, przy którym przeoczonych guzów złośliwych jest najwyżej 2. (lab w lekcji 2.2)
- Znajdź taki udział złośliwych, przy którym ROC AUC zostaje powyżej 0,75, a AP spada poniżej 0,2. (lab w lekcji 2.3)
- Przy 19 złośliwych znajdź próg, który wykrywa co najmniej 85% z nich. Ile alarmów jest trafnych? (lab w lekcji 2.3)
- Znajdź ustawienie, które deklaruje o ponad 5 pkt proc. więcej pewności, niż ma trafności. (lab w lekcji 2.4)
- Obniż Brier naiwnego Bayesa poniżej 0,075, nie zmieniając ani jednej decyzji. (lab w lekcji 2.4)
- Bez wag znajdź taki trening, w którym czułość spada o co najmniej 20 pkt proc., a trafność o mniej niż 10. (lab w lekcji 2.5)
- Przy zaledwie 8 złośliwych w nauce odzyskaj czułość co najmniej 75% bez nowych danych. (lab w lekcji 2.5)
- Przeoczenie kosztuje 10, fałszywy alarm 1: znajdź próg najwyżej o 10% droższy od najtańszego. (lab w lekcji 2.6)
- Ustaw fałszywy alarm droższy od przeoczenia i znajdź próg najwyżej o 10% droższy od najtańszego. Gdzie jest teraz? (lab w lekcji 2.6)
Notebooki: lekcja 2.1, lekcja 2.2, lekcja 2.3, lekcja 2.4, lekcja 2.5, lekcja 2.6.
Kartkówka: lekcja 2.1, lekcja 2.2, lekcja 2.3, lekcja 2.4, lekcja 2.5, lekcja 2.6.
Spotkanie 4
Moduł 3 · Generalizacja. Czy model zadziała jutro, na nowych danych?
- Lekcja 3.1: Przeuczenie: gdy model uczy się na pamięć · 10 min
- Lekcja 3.2: Walidacja i walidacja krzyżowa · 10 min
- Lekcja 3.3: Krzywe uczenia: więcej danych czy lepszy model? · 12 min
- Lekcja 3.4: Regularyzacja: ridge i lasso · 12 min
- Lekcja 3.5: Strojenie hiperparametrów bez oszukiwania · 14 min
- Lekcja 3.6: Wczesne zatrzymanie · 12 min
Razem 70 min lekcji (czytanie i lab, czas podany przy lekcji).
Zadania na ćwiczenia (cele labów)
- Przeucz model celowo: znajdź stopień, przy którym błąd testowy jest co najmniej 2 razy większy od treningowego. (lab w lekcji 3.1)
- Znajdź najwyższy stopień, przy którym błąd testowy jest jeszcze w granicach 10% od najlepszego. (lab w lekcji 3.1)
- Znajdź liczbę foldów, przy której najlepszy i najgorszy fold różnią się o co najmniej 15 pkt proc. (lab w lekcji 3.2)
- Przy wszystkich 64 pikselach znajdź najmniejszy trening, przy którym luka między treningiem a walidacją spada poniżej 5 pkt proc. (lab w lekcji 3.3)
- Znajdź najmniejszy trening, przy którym model szczegółowy bije model rozmytych cyfr uczony na wszystkich 1438 obrazach. (lab w lekcji 3.3)
- Zostaw w lasso dokładnie 3 cechy. (lab w lekcji 3.4)
- Znajdź α, przy którym cecha wyzerowana już przez lasso znów ma wagę. (lab w lekcji 3.4)
- W najwyżej 9 próbach znajdź ustawienie z najlepszym CV całej mapy. (lab w lekcji 3.5)
- Wypróbuj wszystkie 20 ziaren i zostaw najlepsze. (lab w lekcji 3.5)
- Przy etykietach z szumem znajdź cierpliwość, która zatrzymuje trening przed najniższą stratą walidacyjną. (lab w lekcji 3.6)
- Przy etykietach z szumem znajdź cierpliwość, która zostawia epokę z najniższą stratą walidacyjną. (lab w lekcji 3.6)
Notebooki: lekcja 3.1, lekcja 3.2, lekcja 3.3, lekcja 3.4, lekcja 3.5, lekcja 3.6.
Kartkówka: lekcja 3.1, lekcja 3.2, lekcja 3.3, lekcja 3.4, lekcja 3.5, lekcja 3.6.
Spotkanie 5
Moduł 4 · Dane w praktyce. Co psuje modele, zanim w ogóle zaczniesz?
- Lekcja 4.1: Eksploracja: patrz, zanim modelujesz · 12 min
- Lekcja 4.2: Braki danych · 12 min
- Lekcja 4.3: Kategorie i skalowanie · 12 min
- Lekcja 4.4: Inżynieria cech · 12 min
Razem 48 min lekcji (czytanie i lab, czas podany przy lekcji).
Zadania na ćwiczenia (cele labów)
- W kwartecie Anscombe’a znajdź zbiór, w którym całą prostą wyznacza jeden punkt. (lab w lekcji 4.1)
- Podziel pingwiny na gatunki i znajdź parę pomiarów, której korelacja w każdym gatunku ma odwrotny znak. (lab w lekcji 4.1)
- Zostaw jak najwięcej pingwinów do modelu, który przewiduje masę z trzech pozostałych pomiarów. (lab w lekcji 4.2)
- BMI brakuje u najcięższych pacjentów: znajdź sposób na brak, przy którym model najlepiej przewiduje postęp choroby w walidacji krzyżowej dla każdego pacjenta. (lab w lekcji 4.2)
- Podnieś skalowaniem trafność kNN na winach o co najmniej 20 pkt proc. (lab w lekcji 4.3)
- Znajdź kodowanie wyspy, przy którym model pingwinów najlepiej przewiduje masę w walidacji krzyżowej. (lab w lekcji 4.3)
- Spraw, żeby model liniowy w ogóle wskazał odmianę 2 i pobił na winach testowych „zawsze inna odmiana” o co najmniej 10 pkt proc. (lab w lekcji 4.4)
- Znajdź liczbę kolumn szumu, przy której kNN najlepiej rozpoznaje odłożone wina. (lab w lekcji 4.4)
Notebooki: lekcja 4.1, lekcja 4.2, lekcja 4.3, lekcja 4.4.
Kartkówka: lekcja 4.1, lekcja 4.2, lekcja 4.3, lekcja 4.4.
Spotkanie 6
Moduł 4 · Dane w praktyce. Co psuje modele, zanim w ogóle zaczniesz?
- Lekcja 4.5: Wyciek danych · 14 min
- Lekcja 4.6: Pipeline: od tabeli do predykcji · 14 min
Razem 28 min lekcji (czytanie i lab, czas podany przy lekcji).
Zadania na ćwiczenia (cele labów)
- Wyciśnij z czystego szumu co najmniej 90%, wybierając cechy przed podziałem, a potem przełącz na uczciwą walidację przy tym samym k. (lab w lekcji 4.5)
- Znajdź krok, który przecieka, we wszystkich 8 opisach. (lab w lekcji 4.5)
- Pokaż, kiedy skaler dopasowany na teście psuje model: trafność poniżej 50%. (lab w lekcji 4.6)
- Ułóż pipeline z 6 bloków bez żadnej z 3 pułapek. (lab w lekcji 4.6)
Notebooki: lekcja 4.5, lekcja 4.6.
Kartkówka: lekcja 4.5, lekcja 4.6.
Spotkanie 7
Moduł 5 · Modele, które wygrywają na tabelach. Który model, kiedy i dlaczego?
- Lekcja 5.1: Drzewa decyzyjne: dwadzieścia pytań do danych · 10 min
- Lekcja 5.2: Zespoły modeli: czemu wiele drzew bije jedno · 10 min
- Lekcja 5.3: Gradient boosting: drzewa, które poprawiają błędy · 12 min
- Lekcja 5.4: Naiwny Bayes: fałszywe założenie, dobre decyzje · 12 min
Razem 44 min lekcji (czytanie i lab, czas podany przy lekcji).
Zadania na ćwiczenia (cele labów)
- Znajdź głębokość drzewa o najwyższej trafności na teście. (lab w lekcji 5.1)
- Przeucz drzewo: znajdź głębokość, przy której trafność treningowa jest o co najmniej 15 pkt proc. wyższa niż testowa. (lab w lekcji 5.1)
- Znajdź najmniejszą liczbę drzew, przy której las wygrywa na pasażerach testowych z pojedynczym pełnym drzewem. (lab w lekcji 5.2)
- Przy kroku 1 i głębokości 2 (start) znajdź liczbę drzew z najniższym błędem walidacji. (lab w lekcji 5.3)
- Znajdź dowolne ustawienie, w którym błąd walidacji jest najwyżej o 1% wyższy od najniższego w całym labie. (lab w lekcji 5.3)
- Znajdź parę pomiarów, która łamie niezależność (u któregoś gatunku |r| > 0,7), a mimo to daje na walidacji więcej niż 90%. (lab w lekcji 5.4)
- Na guzach znajdź pomiary, przy których deklarowana pewność różni się od trafności na guzach kalibracyjnych o mniej niż 2 pkt proc. (lab w lekcji 5.4)
Notebooki: lekcja 5.1, lekcja 5.2, lekcja 5.3, lekcja 5.4.
Kartkówka: lekcja 5.1, lekcja 5.2, lekcja 5.3, lekcja 5.4.
Spotkanie 8
Moduł 5 · Modele, które wygrywają na tabelach. Który model, kiedy i dlaczego?
Most (dla chętnych): Sieci neuronowe i modele językowe. Co dalej: krok w stronę sieci i dużych modeli językowych.
- Lekcja 5.5: Maszyny wektorów nośnych i jądra · 12 min
- Lekcja 5.6: Który model kiedy? · 12 min
- Lekcja 7.1: Sieci neuronowe: wiele prostych elementów razem · 12 min
- Lekcja 7.2: Od sieci neuronowych do dużych modeli językowych · 12 min
Razem 48 min lekcji (czytanie i lab, czas podany przy lekcji).
Zadania na ćwiczenia (cele labów)
- Na płatkach znajdź najszerszy pas (najmniejsze C), przy którym walidacja jest najwyżej o 1 kwiat gorsza od najlepszej spośród wszystkich C. (lab w lekcji 5.5)
- Na winach znajdź γ jądra RBF z najlepszą walidacją. (lab w lekcji 5.5)
- Znajdź parę modeli, w której jeden ma powtarzalną przewagę na jednym zbiorze, a drugi na innym (test znaków: przy równych modelach tak jednostronny wynik rzadziej niż raz na 100). (lab w lekcji 5.6)
- Znajdź remis: dwa różne modele, których średnie trafności na walidacji różnią się o mniej niż 0,5 pkt proc., a przewaga żadnego się nie powtarza. (lab w lekcji 5.6)
- Wytrenuj sieć, której trafność treningowa jest o ponad 10 pkt proc. wyższa niż testowa (przeuczenie). (lab w lekcji 7.1)
- Wytrenuj sieć, która na kwiatach testowych osiąga trafność co najmniej 80%. (lab w lekcji 7.1)
- Wybierz słowo z kilkoma możliwymi następnikami i ustaw temperaturę tak, by najczęstsze słowo dostało co najmniej 90% prawdopodobieństwa. (lab w lekcji 7.2)
- Wpisz słowo, po którym w całym tekście coś następuje mniej niż 3 razy. (lab w lekcji 7.2)
Notebooki: lekcja 5.5, lekcja 5.6, lekcja 7.1, lekcja 7.2.
Kartkówka: lekcja 5.5, lekcja 5.6, lekcja 7.1, lekcja 7.2.
Jak prowadzić spotkanie
- Przed zajęciami: studenci przerabiają lekcje spotkania. W lekcjach są laby, w których zmieniają dane albo model i od razu widzą wynik, a na końcu każdej lekcji quiz z trzema pytaniami.
- Na ćwiczeniach: cele labów to gotowe zadania. Lab sam sprawdza, czy cel został osiągnięty, i pokazuje wynik z liczbami, więc student może podać, przy jakim ustawieniu mu się udało.
- Notebooki: przy lekcjach z warstwą „W kodzie” jest notebook Jupyter, który sam pobiera dane z publicznego źródła i odtwarza wynik z lekcji. Nadaje się na zadanie domowe albo zajęcia z Pythonem.
- Sprawdzenie: kartkówka do druku z pytań quizów, opisana niżej.
Kartkówka do druku
Do każdej lekcji są trzy pytania z quizu w dwóch grupach, A i B: to samo pojęcie, inaczej zapytane. Wybierz lekcję, otwórz jej kartkówkę i wydrukuj (Ctrl+P, na Macu ⌘P). Wydruk obejmie tylko tę lekcję. Klucz odpowiedzi z wyjaśnieniami jest zwinięty: rozwiń go przed drukiem, jeśli ma być na wydruku.
Lekcja 0.1Lekcja 1.1Lekcja 1.2Lekcja 1.3Lekcja 1.4Lekcja 1.5Lekcja 1.6Lekcja 2.1Lekcja 2.2Lekcja 2.3Lekcja 2.4Lekcja 2.5Lekcja 2.6Lekcja 3.1Lekcja 3.2Lekcja 3.3Lekcja 3.4Lekcja 3.5Lekcja 3.6Lekcja 4.1Lekcja 4.2Lekcja 4.3Lekcja 4.4Lekcja 4.5Lekcja 4.6Lekcja 5.1Lekcja 5.2Lekcja 5.3Lekcja 5.4Lekcja 5.5Lekcja 5.6Lekcja 7.1Lekcja 7.2
Powtórki dla studentów
Po ukończeniu lekcji jej pytania wracają w Powtórkach po 1, 7 i 30 dniach, żeby zostały w pamięci. Postęp w kursie i powtórki zapisują się w przeglądarce studenta (albo na jego koncie, jeśli je założy). Prowadzący ich nie widzi: strona nie ma kont dla grup ani podglądu postępów.
Licencja i jak cytować
Licencja do potwierdzenia. Stopka strony podaje dla treści licencję CC BY-SA 4.0. Zanim opublikujesz materiał oparty na kursie, sprawdź tę sekcję. Licencja kodu, w tym notebooków, też jest do potwierdzenia.
Jak cytować
ML Atlas. „Kurs ML”. https://mlatlas.org/pl/kurs/ml/. Dostęp: data.
Lekcję cytujesz tak samo, z jej tytułem i adresem. Hasło Atlasu ma gotowy opis do cytowania pod treścią. Zbiory danych z przykładów mają własne cytowania na stronie Dane referencyjne.
Skąd biorą się liczby w lekcjach i jak je sprawdzamy: Jak powstają treści.