Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)
specjalność: Programowanie gier komputerowych

Sylabus przedmiotu Uczenie maszynowe 2:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Uczenie maszynowe 2
Specjalność Sztuczna inteligencja
Jednostka prowadząca Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej
Nauczyciel odpowiedzialny Marcin Korzeń <Marcin.Korzen@zut.edu.pl>
Inni nauczyciele Paweł Forczmański <Pawel.Forczmanski@zut.edu.pl>, Przemysław Klęsk <pklesk@wi.zut.edu.pl>, Marcin Pietrzykowski <Marcin.Pietrzykowski@zut.edu.pl>, Marcin Pluciński <Marcin.Plucinski@zut.edu.pl>
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL2 30 2,00,50zaliczenie
wykładyW2 30 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Podstawowe wiadomości z rachunku prawdopodobieństwa i statystyki.
W-2Podstawowe wiadomości z algebry liniowej.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Poznanie zaawansowanych algorytmów z zakresu uczenia maszynowego.
C-2Poznanie podstaw teoretycznych uczenia maszynowego (SLT).
C-3Rozwinięcie umiejętności w zakreisie pracy badawczej.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Implementacja ekstraktora cech Haara oraz przygotowanie zbiorów danych do dalszych zadań laboratoryjnych.4
T-L-2Implementacja algorytmów: głosujący perceptron i/lub Random Forest.2
T-L-3Implementacja algorytmów AdaBoost oraz RealBoost + decision stumps/bins/drzewa (jako słabe klasyfikatory).8
T-L-4Uczenie ze wzmocnieniem: opis grafów w formie procesów decyzyjnych Markowa, wartościowanie strategii dla prostych środowisk opisanych grafami i poszukiwaniu strategii wykorzystaniem programowania dynamicznego. Implementacja i wykorzystanie algorytmów TD i Q-learning.6
T-L-5Implementacje wybranych algorytmów z zakresu głębokiego uczenia: sieć konwolucyjna (CNN), sieć rekurencyjna (RNN), sieć LSTM, autoenkoder. Metoda wstecznej propagacji błędu w sieciach głębokich i optymalizacja procesu uczenia.10
30
wykłady
T-W-1Meta-klasyfikatory i zespoły klasyfikatorów (ogólnie): bagging, boosting, stacking, głosujący perceptron, Random Forest. Algorytm AdaBoost, różne słabe klasyfikatory, własności. Algorytm RealBoost, różne słabe klasyfikatory, własności, błąd wykładniczy, przekształcenie logit i związki z regresją logistyczną, weight trimming.8
T-W-2Zadania rozpoznawania i detekcji na obrazach. Generowanie i ekstrakcja cech (cechy Haara, deskryptor HOG, deskryptor LBP, obrazy całkowe), kaskady klasyfikatorów.4
T-W-3SLT - Statystyczna Teoria Uczenia - wprwadzenie: zbiory funkcji (hipotez), funkcja straty, błąd na próbie, błąd prawdziwy (klasyfikacja i regresja), zasada i.i.d. SLT dla skończonych zbiorów funkcji: nierówność Chernoffa, jednostajna zbieżność błędów na próbie do prawdziwych, ograniczenia na błąd prawdziwy dla skończonego zbioru funkcji zerojedynkowych, złożoność próbkowa. SLT dla nieskończonych zbiory funkcji zerojedynkowych: rozstrzaskiwanie (shattering), wymiar Vapnika-Chervonenkisa (VC-dim), entropia VC, funkcja wzrostu, lemat Saurea, ograniczenia na błąd prawdziwy dla zbiorów funkcji o skończonym VC-dim. SLT dla nieskończonych zbiory funkcji rzeczywistoliczbowych: klasyfikacja z marginesem, margines a najmniejsze kwadraty, pokrycia i liczby pokryciowe (metryki d1, d2, d∞ ), zwartość, pseudowymiar, tłusty wymiar, wahanie funkcji, upakowania a pokrycia, regularyzacja a liczby pokryciowe (twierdzenie Zhanga i lemat Maureya), złożoność Rademachera, ograniczenia na błąd prawdziwy.6
T-W-4Uczenie ze wzmocnieniem (RL): cel i przebieg uczenia, rola środowiska i wzmocnienia, zadania epizodyczne i tryby uczenia. Procesy decyzyjne Markowa, strategie i funkcje wartości, optymalność strategii, Programowanie dynamiczne i jego związek z uczeniem ze wzmocnieniem. Równanie Bellmana, wartościowanie strategii i poszukiwanie strategii optymalnej. Uczenie się funkcji wartości – algorytm TD. Metody uczenia się strategii - algorytm AHC, Q-learning, SARSA, Monte-Carlo. Wybór akcji w uczeniu. Sposoby reprezentacji funkcji wartości. Przyspieszanie uczenia – ślad aktywności. Praktyczne przykłady zastosowań uczenia ze wzmocnieniem.6
T-W-5Głębokie uczenie (Deep Learning): głębokie sieci skierowane (feed-forward): uczenie, ocena funkcji kosztu, sieci konwolucyjne (CNN): rodzaje warstw, sieci rekurencyjne (RNN), model long short-term memory (LSTM), autoenkodery, algorytm wstecznej propagacji błędu, regularyzacja i augumentacja danych w sieciach głębokich, metody inicjalizacji sieci, algorytmy optymalizacji procesu uczenia.6
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach laboratoryjnych.30
A-L-2Praca nad zadaniami programistycznymi.20
50
wykłady
A-W-1Uczestnictwo w wykładach.30
A-W-2Praca samodzielna nad zrozumieniem algorytmów i ich własności.6
A-W-3Przygotowanie się do zaliczenia.12
A-W-4Konsultacje2
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykłady tablicowe i prezentacje.
M-2Rozwiązywanie zadań laboratoryjnych z użyciemy komputerów

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Zajęcia laboratoryjne: ocena ważona z zadań programistycznych i krótkich sprawdzianów.
S-2Ocena podsumowująca: Wykłady: pisemny egzamin końcowy.

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D01.03_W01
Student zna podstawy teoretyczne uczenia maszynowego oraz zaawansowane algorytmy z tego zakresu.
I_2A_W08, I_2A_W06, I_2A_W04C-1, C-2T-L-2, T-L-4, T-L-3, T-L-1, T-L-5, T-W-2, T-W-1, T-W-3, T-W-5, T-W-4M-1S-1, S-2

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D01.03_U01
Student umie implementować wybrane algorytmy z zakresu uczenia maszynowego zarówno samodzielnie jak i ze wsparciem bibliotek.
I_2A_U04, I_2A_U02, I_2A_U06, I_2A_U08C-3T-L-2, T-L-4, T-L-3, T-L-1, T-L-5M-2S-1

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_2A_D01.03_W01
Student zna podstawy teoretyczne uczenia maszynowego oraz zaawansowane algorytmy z tego zakresu.
2,0
3,0Student opanował w stopniu podstawowym podstawy teoretyczne i algorytmy uczenia maszynowego.
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
I_2A_D01.03_U01
Student umie implementować wybrane algorytmy z zakresu uczenia maszynowego zarówno samodzielnie jak i ze wsparciem bibliotek.
2,0
3,0Student opanował w stpomniu podstawowym umiejętość rozwiązywania wybranych zadań uczenia masznynowego.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. V. Cherkassky, F. Mullier, Learning from Data: Concepts, Theory, and Methods, Wiley and Sons, 2007, 2
  2. C. Bishop, Pattern Recognition and Machine Learning, Srpinger-Verlag, 2006
  3. A. Geron, Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow, Helion-O'Reilly, 2018
  4. R.S. Sutton, A.G. Barto, Reinforcement learning: an introduction, MIT Press, 1998
  5. I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, MIT Press, 2016

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Implementacja ekstraktora cech Haara oraz przygotowanie zbiorów danych do dalszych zadań laboratoryjnych.4
T-L-2Implementacja algorytmów: głosujący perceptron i/lub Random Forest.2
T-L-3Implementacja algorytmów AdaBoost oraz RealBoost + decision stumps/bins/drzewa (jako słabe klasyfikatory).8
T-L-4Uczenie ze wzmocnieniem: opis grafów w formie procesów decyzyjnych Markowa, wartościowanie strategii dla prostych środowisk opisanych grafami i poszukiwaniu strategii wykorzystaniem programowania dynamicznego. Implementacja i wykorzystanie algorytmów TD i Q-learning.6
T-L-5Implementacje wybranych algorytmów z zakresu głębokiego uczenia: sieć konwolucyjna (CNN), sieć rekurencyjna (RNN), sieć LSTM, autoenkoder. Metoda wstecznej propagacji błędu w sieciach głębokich i optymalizacja procesu uczenia.10
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Meta-klasyfikatory i zespoły klasyfikatorów (ogólnie): bagging, boosting, stacking, głosujący perceptron, Random Forest. Algorytm AdaBoost, różne słabe klasyfikatory, własności. Algorytm RealBoost, różne słabe klasyfikatory, własności, błąd wykładniczy, przekształcenie logit i związki z regresją logistyczną, weight trimming.8
T-W-2Zadania rozpoznawania i detekcji na obrazach. Generowanie i ekstrakcja cech (cechy Haara, deskryptor HOG, deskryptor LBP, obrazy całkowe), kaskady klasyfikatorów.4
T-W-3SLT - Statystyczna Teoria Uczenia - wprwadzenie: zbiory funkcji (hipotez), funkcja straty, błąd na próbie, błąd prawdziwy (klasyfikacja i regresja), zasada i.i.d. SLT dla skończonych zbiorów funkcji: nierówność Chernoffa, jednostajna zbieżność błędów na próbie do prawdziwych, ograniczenia na błąd prawdziwy dla skończonego zbioru funkcji zerojedynkowych, złożoność próbkowa. SLT dla nieskończonych zbiory funkcji zerojedynkowych: rozstrzaskiwanie (shattering), wymiar Vapnika-Chervonenkisa (VC-dim), entropia VC, funkcja wzrostu, lemat Saurea, ograniczenia na błąd prawdziwy dla zbiorów funkcji o skończonym VC-dim. SLT dla nieskończonych zbiory funkcji rzeczywistoliczbowych: klasyfikacja z marginesem, margines a najmniejsze kwadraty, pokrycia i liczby pokryciowe (metryki d1, d2, d∞ ), zwartość, pseudowymiar, tłusty wymiar, wahanie funkcji, upakowania a pokrycia, regularyzacja a liczby pokryciowe (twierdzenie Zhanga i lemat Maureya), złożoność Rademachera, ograniczenia na błąd prawdziwy.6
T-W-4Uczenie ze wzmocnieniem (RL): cel i przebieg uczenia, rola środowiska i wzmocnienia, zadania epizodyczne i tryby uczenia. Procesy decyzyjne Markowa, strategie i funkcje wartości, optymalność strategii, Programowanie dynamiczne i jego związek z uczeniem ze wzmocnieniem. Równanie Bellmana, wartościowanie strategii i poszukiwanie strategii optymalnej. Uczenie się funkcji wartości – algorytm TD. Metody uczenia się strategii - algorytm AHC, Q-learning, SARSA, Monte-Carlo. Wybór akcji w uczeniu. Sposoby reprezentacji funkcji wartości. Przyspieszanie uczenia – ślad aktywności. Praktyczne przykłady zastosowań uczenia ze wzmocnieniem.6
T-W-5Głębokie uczenie (Deep Learning): głębokie sieci skierowane (feed-forward): uczenie, ocena funkcji kosztu, sieci konwolucyjne (CNN): rodzaje warstw, sieci rekurencyjne (RNN), model long short-term memory (LSTM), autoenkodery, algorytm wstecznej propagacji błędu, regularyzacja i augumentacja danych w sieciach głębokich, metody inicjalizacji sieci, algorytmy optymalizacji procesu uczenia.6
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach laboratoryjnych.30
A-L-2Praca nad zadaniami programistycznymi.20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w wykładach.30
A-W-2Praca samodzielna nad zrozumieniem algorytmów i ich własności.6
A-W-3Przygotowanie się do zaliczenia.12
A-W-4Konsultacje2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_2A_D01.03_W01Student zna podstawy teoretyczne uczenia maszynowego oraz zaawansowane algorytmy z tego zakresu.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W08Posiada wiedzę na temat zagadnień sztucznej inteligencji i ich wykorzystania w systemach informatycznych
I_2A_W06Posiada wiedzę o narzędziach sprzętowo-programowych wspomagających rozwiązywanie wybranych i złożonych problemów w różnych obszarach nauki i techniki
I_2A_W04Ma rozszerzoną wiedzę o problemach, zadaniach i algorytmach analizy, przetwarzania oraz eksploracji danych
Cel przedmiotuC-1Poznanie zaawansowanych algorytmów z zakresu uczenia maszynowego.
C-2Poznanie podstaw teoretycznych uczenia maszynowego (SLT).
Treści programoweT-L-2Implementacja algorytmów: głosujący perceptron i/lub Random Forest.
T-L-4Uczenie ze wzmocnieniem: opis grafów w formie procesów decyzyjnych Markowa, wartościowanie strategii dla prostych środowisk opisanych grafami i poszukiwaniu strategii wykorzystaniem programowania dynamicznego. Implementacja i wykorzystanie algorytmów TD i Q-learning.
T-L-3Implementacja algorytmów AdaBoost oraz RealBoost + decision stumps/bins/drzewa (jako słabe klasyfikatory).
T-L-1Implementacja ekstraktora cech Haara oraz przygotowanie zbiorów danych do dalszych zadań laboratoryjnych.
T-L-5Implementacje wybranych algorytmów z zakresu głębokiego uczenia: sieć konwolucyjna (CNN), sieć rekurencyjna (RNN), sieć LSTM, autoenkoder. Metoda wstecznej propagacji błędu w sieciach głębokich i optymalizacja procesu uczenia.
T-W-2Zadania rozpoznawania i detekcji na obrazach. Generowanie i ekstrakcja cech (cechy Haara, deskryptor HOG, deskryptor LBP, obrazy całkowe), kaskady klasyfikatorów.
T-W-1Meta-klasyfikatory i zespoły klasyfikatorów (ogólnie): bagging, boosting, stacking, głosujący perceptron, Random Forest. Algorytm AdaBoost, różne słabe klasyfikatory, własności. Algorytm RealBoost, różne słabe klasyfikatory, własności, błąd wykładniczy, przekształcenie logit i związki z regresją logistyczną, weight trimming.
T-W-3SLT - Statystyczna Teoria Uczenia - wprwadzenie: zbiory funkcji (hipotez), funkcja straty, błąd na próbie, błąd prawdziwy (klasyfikacja i regresja), zasada i.i.d. SLT dla skończonych zbiorów funkcji: nierówność Chernoffa, jednostajna zbieżność błędów na próbie do prawdziwych, ograniczenia na błąd prawdziwy dla skończonego zbioru funkcji zerojedynkowych, złożoność próbkowa. SLT dla nieskończonych zbiory funkcji zerojedynkowych: rozstrzaskiwanie (shattering), wymiar Vapnika-Chervonenkisa (VC-dim), entropia VC, funkcja wzrostu, lemat Saurea, ograniczenia na błąd prawdziwy dla zbiorów funkcji o skończonym VC-dim. SLT dla nieskończonych zbiory funkcji rzeczywistoliczbowych: klasyfikacja z marginesem, margines a najmniejsze kwadraty, pokrycia i liczby pokryciowe (metryki d1, d2, d∞ ), zwartość, pseudowymiar, tłusty wymiar, wahanie funkcji, upakowania a pokrycia, regularyzacja a liczby pokryciowe (twierdzenie Zhanga i lemat Maureya), złożoność Rademachera, ograniczenia na błąd prawdziwy.
T-W-5Głębokie uczenie (Deep Learning): głębokie sieci skierowane (feed-forward): uczenie, ocena funkcji kosztu, sieci konwolucyjne (CNN): rodzaje warstw, sieci rekurencyjne (RNN), model long short-term memory (LSTM), autoenkodery, algorytm wstecznej propagacji błędu, regularyzacja i augumentacja danych w sieciach głębokich, metody inicjalizacji sieci, algorytmy optymalizacji procesu uczenia.
T-W-4Uczenie ze wzmocnieniem (RL): cel i przebieg uczenia, rola środowiska i wzmocnienia, zadania epizodyczne i tryby uczenia. Procesy decyzyjne Markowa, strategie i funkcje wartości, optymalność strategii, Programowanie dynamiczne i jego związek z uczeniem ze wzmocnieniem. Równanie Bellmana, wartościowanie strategii i poszukiwanie strategii optymalnej. Uczenie się funkcji wartości – algorytm TD. Metody uczenia się strategii - algorytm AHC, Q-learning, SARSA, Monte-Carlo. Wybór akcji w uczeniu. Sposoby reprezentacji funkcji wartości. Przyspieszanie uczenia – ślad aktywności. Praktyczne przykłady zastosowań uczenia ze wzmocnieniem.
Metody nauczaniaM-1Wykłady tablicowe i prezentacje.
Sposób ocenyS-1Ocena podsumowująca: Zajęcia laboratoryjne: ocena ważona z zadań programistycznych i krótkich sprawdzianów.
S-2Ocena podsumowująca: Wykłady: pisemny egzamin końcowy.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student opanował w stopniu podstawowym podstawy teoretyczne i algorytmy uczenia maszynowego.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_2A_D01.03_U01Student umie implementować wybrane algorytmy z zakresu uczenia maszynowego zarówno samodzielnie jak i ze wsparciem bibliotek.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U04Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
I_2A_U02Ma umiejętność wykrywania związków i zależności zachodzących w systemach rzeczywistych i potrafi prawidłowo zaplanować i przeprowadzić proces modelowania
I_2A_U06Potrafi stosować metody analityczne i eksperymentalne do rozwiązywania złożonych problemów w tym obliczeniowych
I_2A_U08Potrafi wykorzystywać narzędzia sprzętowo-programowe wspomagające rozwiązywanie wybranych problemów w różnych obszarach nauki i techniki
Cel przedmiotuC-3Rozwinięcie umiejętności w zakreisie pracy badawczej.
Treści programoweT-L-2Implementacja algorytmów: głosujący perceptron i/lub Random Forest.
T-L-4Uczenie ze wzmocnieniem: opis grafów w formie procesów decyzyjnych Markowa, wartościowanie strategii dla prostych środowisk opisanych grafami i poszukiwaniu strategii wykorzystaniem programowania dynamicznego. Implementacja i wykorzystanie algorytmów TD i Q-learning.
T-L-3Implementacja algorytmów AdaBoost oraz RealBoost + decision stumps/bins/drzewa (jako słabe klasyfikatory).
T-L-1Implementacja ekstraktora cech Haara oraz przygotowanie zbiorów danych do dalszych zadań laboratoryjnych.
T-L-5Implementacje wybranych algorytmów z zakresu głębokiego uczenia: sieć konwolucyjna (CNN), sieć rekurencyjna (RNN), sieć LSTM, autoenkoder. Metoda wstecznej propagacji błędu w sieciach głębokich i optymalizacja procesu uczenia.
Metody nauczaniaM-2Rozwiązywanie zadań laboratoryjnych z użyciemy komputerów
Sposób ocenyS-1Ocena podsumowująca: Zajęcia laboratoryjne: ocena ważona z zadań programistycznych i krótkich sprawdzianów.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student opanował w stpomniu podstawowym umiejętość rozwiązywania wybranych zadań uczenia masznynowego.
3,5
4,0
4,5
5,0