Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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

Sylabus przedmiotu Uczenie maszynowe 1:

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 1
Specjalność Sztuczna inteligencja
Jednostka prowadząca Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej
Nauczyciel odpowiedzialny Marcin Korzeń <Marcin.Korzen@zut.edu.pl>
Inni nauczyciele Jacek Klimaszewski <Jacek.Klimaszewski@zut.edu.pl>, Przemysław Klęsk <pklesk@wi.zut.edu.pl>, Marcin Pietrzykowski <Marcin.Pietrzykowski@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-1Zapoznanie z podstawowymi algorytmami uczenia maszynowego
C-2Nabycie umiejętności rozpoznawania róznych zadań ucznia maszynowego w sytuacjach praktycznych oraz wyboru odpowiednich technik i algorytmów do ich rozwiązywania
C-3Nabycie umiejętności implementacji wybranych metod ucznia maszynowego.
C-4Przygotowanie do prowadzenia badań naukowych w dyscyplinie Informatyka

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

KODTreść programowaGodziny
laboratoria
T-L-1Wprowadzenie do środowiska python/sklearn.2
T-L-2Testowanie klasyfikatorów w pakiecie sklearn: miary jakości klasyfikacji, ROC i AUC, klasyfikacja wieloklasowa.4
T-L-3Drzewa decyzyjne: algorym uczenia, przycinanie, testowanie.4
T-L-4Metoda SVM wariant liniowy implementacja, Wariant nieliniwy badanie wpływu wyboru jądra na działanie algorytmu SVM ze zbiorami nieseparowalnymi liniowo,6
T-L-5Regresja liniowa i logistyczna, regularyzacja modeli (ridge, lasso, elastic-net, fussed-lasso) algorytmy uczenia, wybrane zastosowania.6
T-L-6Metody selekcji zmiennych: selekcja zmiennych oparta na entropii oraz informacji wzajemnej, selekcja zmiennych oparta na modelach regularyzowanych.4
T-L-7Wielowarstwowa sieć neuronowa oraz algorytm wstecznej propagacji błędów, wybrane zastosowania.4
30
wykłady
T-W-1Powtórzenie z rachunku prawdopodobieństwa: prawdopodobieństwo warunkowe, prawdopodobieństwo całkowite, reguła Bayesa, wielowymiarowe zmienne losowe, korelacje.2
T-W-2Elementy teorii informacji, entropia, informacja wzajemna i ich własności2
T-W-3Paradygmaty uczenia maszynowego, pojęcia podstawowe, dwa podstawowe zadania uczenia nadzorowanego (klasyfikacja i regresja), testowanie maszyn uczących się (miary jakości w modeli klasyfikacyjnych i regresyjnych, ROC i AUC, bootstrap, kroswalidacja).3
T-W-4Drzewa klasyfikacyjne, algorytm uczenia, miary zanieczyszczenia, strategie przycinania (głębokość, rzadkie węzły, kary za liść), przeglądanie poddrzew wyczerpujące i zachłanne, algorytm przycinania z automatycznym wyborem kary za liść.4
T-W-5Klasyfikatory funkcyjne: klasyfikatory liniowe (metoda LDA, regresja logistyczna, liniowy SVM), pojęcie marginesu separacji, regularyzacja modeli (ridge, lasso, elastic-net, fussed-lasso), wybrane algorymy uczenia.4
T-W-6Klasyfikatory funkcyjne nieliniowe, metoda QDA, jądra i przekształcenia jądrowe, nieliniowy SVM.4
T-W-7Sieci neuronowe (MLP), algorytm wstecznej propagacji, uczenie ekstremalne, algorytm SGD (gradient stochastyczn).4
T-W-8Metody regresyjne, rzadka regresja, odporna regresja, regracja nieliniowa, algorytm MARS4
T-W-9Klasyfikacja wielo-klasowa i wielo-etykietowa, regresja wielowartościowa3
30

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

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie do zajęć10
A-L-3Praca nad zadaniami programistycznymi oraz sprawozdaniami10
50
wykłady
A-W-1Uczestnictwo w wykładach30
A-W-2Konsultacje2
A-W-3Przygotowanie do zaliczenia18
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład prezentacja w postaci slajdów, wybrane treść pokazywne na tablicy
M-2Laboratoria praca przy komputerach w środowisku programu Python (ewntulanie do wyboru Matlab lub R), samodzielna impelementacja wybranych algorytmów oraz wykorzystywnie dostępnych bibliotek w zależności od zadania.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Laboratorium ocena sprawozdań
S-2Ocena formująca: Laboratorium: ocena zadań programistycznych
S-3Ocena formująca: Laboratorium: ocena pracy na zajęciach
S-4Ocena podsumowująca: Zaliczenie ustne lub pisemne.
S-5Ocena podsumowująca: Laboratorium zagregowana ocena łączna z poczególnych ocen cząstkowych

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.02_W01
Studenta zna podstawowe zadania, algorytmy i techniki uczenia maszynowego.
I_2A_W01, I_2A_W02, I_2A_W04C-1T-W-5, T-W-1, T-W-8, T-W-6, T-W-9, T-W-2, T-W-7, T-W-4, T-W-3M-1, M-2S-2, S-4

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.02_U01
Student umie rozwiązywać podstawowe zadania uczenia maszynowego oraz umie posuługiwać sie wybranymi bibliotekami uczenia maszynowego.
I_2A_U04, I_2A_U07, I_2A_U06, I_2A_U09C-4, C-3, C-2T-L-1, T-L-2, T-L-7, T-L-6, T-L-3, T-L-4, T-L-5M-2S-2, S-3, S-1, S-5

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_2A_D01.02_W01
Studenta zna podstawowe zadania, algorytmy i techniki uczenia maszynowego.
2,0
3,0Student opanował podstawowe zadania i techniki uczenia maszynowego w stopniu dostatecznym.
3,5
4,0Student opanował materiał przedmiotu w stopniu dobrym, rozróżnia główne zdania uczenia maszynowego, zna dobrze możliwości dostęnych bibliotek w tym zakesie, zna gółwne algorytmy.
4,5
5,0Student opanował materiał przedmiotu w stopniu bardzo dobrym, rozróżnia główne zdania uczenia maszynowego, zna bardzo dobrze możliwości dostęnych bibliotek w tym zakesie, zna gółwne algorytmy i jest biegły w szczególach impelementacyjnych.

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
I_2A_D01.02_U01
Student umie rozwiązywać podstawowe zadania uczenia maszynowego oraz umie posuługiwać sie wybranymi bibliotekami uczenia maszynowego.
2,0
3,0Student umie rozwiązywać najprostsze zadania uczenia maszynowego, posługując się dostępnymi narzedziami.
3,5Student umie rozwiązywać zadania uczenia maszynowego, posługując się dostępnymi narzedziami.
4,0Student umie rozwiązywać zadania uczenia maszynowego, posługując się dostępnymi narzedziami, umie implementować wybrane algorytmy.
4,5Student umie rozwiązywać zaawansowane zadania uczenia maszynowego, posługując się dostępnymi narzedziami, umie implementować wybrane algorytmy uczenia maszynowego.
5,0Student umie rozwiązywać zaawansowane zadania uczenia maszynowego, posługując się dostępnymi narzedziami, umie biegle implementować wybrane algorytmy uczenia maszynowego.

Literatura podstawowa

  1. K. P. Murphy, Machine Learning A Probabilistic Perspective, MIT Press, 2012
  2. J. Ćwik, J. Koronacki, Statystyczne systemy uczące się, WNT, Warszawa, 2005
  3. M. Krzyśko, W. Wołyński, T. Górecki, M. Skorzybut, Systemy uczące się, WNT, Warszawa, 2008
  4. David MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge University Press, 2003

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Wprowadzenie do środowiska python/sklearn.2
T-L-2Testowanie klasyfikatorów w pakiecie sklearn: miary jakości klasyfikacji, ROC i AUC, klasyfikacja wieloklasowa.4
T-L-3Drzewa decyzyjne: algorym uczenia, przycinanie, testowanie.4
T-L-4Metoda SVM wariant liniowy implementacja, Wariant nieliniwy badanie wpływu wyboru jądra na działanie algorytmu SVM ze zbiorami nieseparowalnymi liniowo,6
T-L-5Regresja liniowa i logistyczna, regularyzacja modeli (ridge, lasso, elastic-net, fussed-lasso) algorytmy uczenia, wybrane zastosowania.6
T-L-6Metody selekcji zmiennych: selekcja zmiennych oparta na entropii oraz informacji wzajemnej, selekcja zmiennych oparta na modelach regularyzowanych.4
T-L-7Wielowarstwowa sieć neuronowa oraz algorytm wstecznej propagacji błędów, wybrane zastosowania.4
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Powtórzenie z rachunku prawdopodobieństwa: prawdopodobieństwo warunkowe, prawdopodobieństwo całkowite, reguła Bayesa, wielowymiarowe zmienne losowe, korelacje.2
T-W-2Elementy teorii informacji, entropia, informacja wzajemna i ich własności2
T-W-3Paradygmaty uczenia maszynowego, pojęcia podstawowe, dwa podstawowe zadania uczenia nadzorowanego (klasyfikacja i regresja), testowanie maszyn uczących się (miary jakości w modeli klasyfikacyjnych i regresyjnych, ROC i AUC, bootstrap, kroswalidacja).3
T-W-4Drzewa klasyfikacyjne, algorytm uczenia, miary zanieczyszczenia, strategie przycinania (głębokość, rzadkie węzły, kary za liść), przeglądanie poddrzew wyczerpujące i zachłanne, algorytm przycinania z automatycznym wyborem kary za liść.4
T-W-5Klasyfikatory funkcyjne: klasyfikatory liniowe (metoda LDA, regresja logistyczna, liniowy SVM), pojęcie marginesu separacji, regularyzacja modeli (ridge, lasso, elastic-net, fussed-lasso), wybrane algorymy uczenia.4
T-W-6Klasyfikatory funkcyjne nieliniowe, metoda QDA, jądra i przekształcenia jądrowe, nieliniowy SVM.4
T-W-7Sieci neuronowe (MLP), algorytm wstecznej propagacji, uczenie ekstremalne, algorytm SGD (gradient stochastyczn).4
T-W-8Metody regresyjne, rzadka regresja, odporna regresja, regracja nieliniowa, algorytm MARS4
T-W-9Klasyfikacja wielo-klasowa i wielo-etykietowa, regresja wielowartościowa3
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie do zajęć10
A-L-3Praca nad zadaniami programistycznymi oraz sprawozdaniami10
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ładach30
A-W-2Konsultacje2
A-W-3Przygotowanie do zaliczenia18
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_2A_D01.02_W01Studenta zna podstawowe zadania, algorytmy i techniki uczenia maszynowego.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W01Ma poszerzoną i pogłębioną wiedzę w zakresie matematyki stosowanej i inżynierii obliczeniowej
I_2A_W02Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W04Ma rozszerzoną wiedzę o problemach, zadaniach i algorytmach analizy, przetwarzania oraz eksploracji danych
Cel przedmiotuC-1Zapoznanie z podstawowymi algorytmami uczenia maszynowego
Treści programoweT-W-5Klasyfikatory funkcyjne: klasyfikatory liniowe (metoda LDA, regresja logistyczna, liniowy SVM), pojęcie marginesu separacji, regularyzacja modeli (ridge, lasso, elastic-net, fussed-lasso), wybrane algorymy uczenia.
T-W-1Powtórzenie z rachunku prawdopodobieństwa: prawdopodobieństwo warunkowe, prawdopodobieństwo całkowite, reguła Bayesa, wielowymiarowe zmienne losowe, korelacje.
T-W-8Metody regresyjne, rzadka regresja, odporna regresja, regracja nieliniowa, algorytm MARS
T-W-6Klasyfikatory funkcyjne nieliniowe, metoda QDA, jądra i przekształcenia jądrowe, nieliniowy SVM.
T-W-9Klasyfikacja wielo-klasowa i wielo-etykietowa, regresja wielowartościowa
T-W-2Elementy teorii informacji, entropia, informacja wzajemna i ich własności
T-W-7Sieci neuronowe (MLP), algorytm wstecznej propagacji, uczenie ekstremalne, algorytm SGD (gradient stochastyczn).
T-W-4Drzewa klasyfikacyjne, algorytm uczenia, miary zanieczyszczenia, strategie przycinania (głębokość, rzadkie węzły, kary za liść), przeglądanie poddrzew wyczerpujące i zachłanne, algorytm przycinania z automatycznym wyborem kary za liść.
T-W-3Paradygmaty uczenia maszynowego, pojęcia podstawowe, dwa podstawowe zadania uczenia nadzorowanego (klasyfikacja i regresja), testowanie maszyn uczących się (miary jakości w modeli klasyfikacyjnych i regresyjnych, ROC i AUC, bootstrap, kroswalidacja).
Metody nauczaniaM-1Wykład prezentacja w postaci slajdów, wybrane treść pokazywne na tablicy
M-2Laboratoria praca przy komputerach w środowisku programu Python (ewntulanie do wyboru Matlab lub R), samodzielna impelementacja wybranych algorytmów oraz wykorzystywnie dostępnych bibliotek w zależności od zadania.
Sposób ocenyS-2Ocena formująca: Laboratorium: ocena zadań programistycznych
S-4Ocena podsumowująca: Zaliczenie ustne lub pisemne.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student opanował podstawowe zadania i techniki uczenia maszynowego w stopniu dostatecznym.
3,5
4,0Student opanował materiał przedmiotu w stopniu dobrym, rozróżnia główne zdania uczenia maszynowego, zna dobrze możliwości dostęnych bibliotek w tym zakesie, zna gółwne algorytmy.
4,5
5,0Student opanował materiał przedmiotu w stopniu bardzo dobrym, rozróżnia główne zdania uczenia maszynowego, zna bardzo dobrze możliwości dostęnych bibliotek w tym zakesie, zna gółwne algorytmy i jest biegły w szczególach impelementacyjnych.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_2A_D01.02_U01Student umie rozwiązywać podstawowe zadania uczenia maszynowego oraz umie posuługiwać sie wybranymi bibliotekami uczenia maszynowego.
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_U07Potrafi ocenić istniejące rozwiązania techniczne w wybranym obszarze zastosowań oraz zaproponować ich modyfikacje
I_2A_U06Potrafi stosować metody analityczne i eksperymentalne do rozwiązywania złożonych problemów w tym obliczeniowych
I_2A_U09Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-4Przygotowanie do prowadzenia badań naukowych w dyscyplinie Informatyka
C-3Nabycie umiejętności implementacji wybranych metod ucznia maszynowego.
C-2Nabycie umiejętności rozpoznawania róznych zadań ucznia maszynowego w sytuacjach praktycznych oraz wyboru odpowiednich technik i algorytmów do ich rozwiązywania
Treści programoweT-L-1Wprowadzenie do środowiska python/sklearn.
T-L-2Testowanie klasyfikatorów w pakiecie sklearn: miary jakości klasyfikacji, ROC i AUC, klasyfikacja wieloklasowa.
T-L-7Wielowarstwowa sieć neuronowa oraz algorytm wstecznej propagacji błędów, wybrane zastosowania.
T-L-6Metody selekcji zmiennych: selekcja zmiennych oparta na entropii oraz informacji wzajemnej, selekcja zmiennych oparta na modelach regularyzowanych.
T-L-3Drzewa decyzyjne: algorym uczenia, przycinanie, testowanie.
T-L-4Metoda SVM wariant liniowy implementacja, Wariant nieliniwy badanie wpływu wyboru jądra na działanie algorytmu SVM ze zbiorami nieseparowalnymi liniowo,
T-L-5Regresja liniowa i logistyczna, regularyzacja modeli (ridge, lasso, elastic-net, fussed-lasso) algorytmy uczenia, wybrane zastosowania.
Metody nauczaniaM-2Laboratoria praca przy komputerach w środowisku programu Python (ewntulanie do wyboru Matlab lub R), samodzielna impelementacja wybranych algorytmów oraz wykorzystywnie dostępnych bibliotek w zależności od zadania.
Sposób ocenyS-2Ocena formująca: Laboratorium: ocena zadań programistycznych
S-3Ocena formująca: Laboratorium: ocena pracy na zajęciach
S-1Ocena formująca: Laboratorium ocena sprawozdań
S-5Ocena podsumowująca: Laboratorium zagregowana ocena łączna z poczególnych ocen cząstkowych
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student umie rozwiązywać najprostsze zadania uczenia maszynowego, posługując się dostępnymi narzedziami.
3,5Student umie rozwiązywać zadania uczenia maszynowego, posługując się dostępnymi narzedziami.
4,0Student umie rozwiązywać zadania uczenia maszynowego, posługując się dostępnymi narzedziami, umie implementować wybrane algorytmy.
4,5Student umie rozwiązywać zaawansowane zadania uczenia maszynowego, posługując się dostępnymi narzedziami, umie implementować wybrane algorytmy uczenia maszynowego.
5,0Student umie rozwiązywać zaawansowane zadania uczenia maszynowego, posługując się dostępnymi narzedziami, umie biegle implementować wybrane algorytmy uczenia maszynowego.