Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)
specjalność: Systemy komputerowe zorientowane na człowieka

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ść Inteligencja obliczeniowa
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
wykładyW2 30 2,00,50zaliczenie
laboratoriaL2 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 egzaminu.14
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_W04, I_2A_W06, I_2A_W08C-1, C-2T-L-2, T-W-3, T-L-1, T-L-5, T-W-4, T-W-1, T-W-5, T-L-4, T-W-2, T-L-3M-1S-2, S-1

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_U06, I_2A_U02, I_2A_U08, I_2A_U04C-3T-L-4, T-L-2, T-L-5, T-L-3, T-L-1M-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 egzaminu.14
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_W04Ma rozszerzoną wiedzę o problemach, zadaniach i algorytmach analizy, przetwarzania oraz eksploracji danych
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_W08Posiada wiedzę na temat zagadnień sztucznej inteligencji i ich wykorzystania w systemach informatycznych
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-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-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-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.
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-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-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-W-2Zadania rozpoznawania i detekcji na obrazach. Generowanie i ekstrakcja cech (cechy Haara, deskryptor HOG, deskryptor LBP, obrazy całkowe), kaskady klasyfikatorów.
T-L-3Implementacja algorytmów AdaBoost oraz RealBoost + decision stumps/bins/drzewa (jako słabe klasyfikatory).
Metody nauczaniaM-1Wykłady tablicowe i prezentacje.
Sposób ocenyS-2Ocena podsumowująca: Wykłady: pisemny egzamin końcowy.
S-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 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_U06Potrafi stosować metody analityczne i eksperymentalne do rozwiązywania złożonych problemów w tym obliczeniowych
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_U08Potrafi wykorzystywać narzędzia sprzętowo-programowe wspomagające rozwiązywanie wybranych problemów w różnych obszarach nauki i techniki
I_2A_U04Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
Cel przedmiotuC-3Rozwinięcie umiejętności w zakreisie pracy badawczej.
Treści programoweT-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-2Implementacja algorytmów: głosujący perceptron i/lub Random Forest.
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-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.
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