Nazwa przedmiotu:
Uczenie maszynowe
Koordynator przedmiotu:
Rajmund Kożuszek
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Sztuczna inteligencja
Kod przedmiotu:
UMA
Semestr nominalny:
5 / rok ak. 2021/2022
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1. liczba godzin kontaktowych – 35 godz.,w tym: a. obecność na wykładach: 30 godz., b. udział w konsultacjach związanych z treścią wykładu: 1 godz., c. udział w konsultacjach związanych z realizacją projektu: 4 godz., 2. praca własna studenta – 75 godz., w tym: a. przygotowanie do wykładów (przejrzenie materiałów z wykładu i dodatkowej literatury, próba rozwiązania ćwiczeń domowych sformułowanych na wykładzie): 15 godz., b. realizacja projektu: 10 godz. (zapoznanie się z literaturą i oprogramowaniem) + 30 godz. (wykonanie zadań projektowych) + 10 godz. (sporządzenie dokumentacji) = 50 godz., c. przygotowanie do kolokwium: 10 godz. Łączny nakład pracy studenta wynosi 110 godz., co odpowiada 4 punktom ECTS.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1.25 pkt. ECTS, co odpowiada 35 godzinom kontaktowym
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
2 pkt. ECTS, co odpowiada 50 godz. realizacji projektu
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt15h
  • Lekcje komputerowe0h
Wymagania wstępne:
Podstawy informatyki i programowania, Wstęp do sztucznej inteligencji
Limit liczby studentów:
60
Cel przedmiotu:
Celem przedmiotu jest zapoznanie studentów z elementami teorii oraz podstawowymi algorytmami uczenia maszynowego. Jest to wiodący obszar badań naukowych w zakresie sztucznej inteligencji, a opracowane w wyniku tych badań algorytmy znajdują liczne zastosowania praktyczne. Przegląd wybranych algorytmów uczenia się, poprzedzony dyskusją podstaw teoretycznych niezbędnych do zrozumienia ich możliwości i ograniczeń, przygotowuje studentów do ich stosowania i implementowania, a także do głębszego zapoznania się z tą tematyką w ramach oferowanych przedmiotów obieralnych. Dzięki ograniczeniu zakresu przedmiotu do najważniejszych wyników teoretycznych oraz algorytmów stosunkowo prostych koncepcyjnie i implementacyjne mogą być one prezentowane szczegółowo i przystępnie. Aby ułatwić pełne i poprawne zrozumienie omawianych na wykładzie zagadnień teoretycznych oraz mechanizmów działania algorytmów, są one ilustrowane przykładami. Wykład jest prowadzony z wykorzystaniem metody interaktywnego nauczania (interactive classroom teaching), przez angażowanie studentów w dyskusję i stymulowanie ich aktywnego udziału w analizowaniu właściwości omawianych algorytmów oraz śledzeniu przykładów ich działania. Projekt daje okazję do zdobycia doświadczeń praktycznych w zakresie implementowania i stosowania algorytmów uczenia się.
Treści kształcenia:
Treść wykładu 1. Wprowadzenie do uczenia się (2 godz.) Definicja uczenia się; wnioskowanie indukcyjne; rodzaje uczenia się; przykłady zastosowań systemów uczących się; zadanie uczenia się pojęć (klasyfikacji); błąd hipotezy; nadmierne dopasowanie; obciążenie indukcyjne. 2. Podstawy obliczeniowej teorii uczenia się (4 godz.) Model PAC; przestrzeń wersji; spójne i agnostyczne uczenie się; wymiar VC; model ograniczania pomyłek; praktyczne wnioski z teorii. 3. Przeszukiwanie przestrzeni wersji (2 godz.) Częściowy porządek przestrzeni hipotez; ograniczenie ogólne i szczegółowe przestrzeni wersji; algorytm eliminacji kandydatów; generalizacja i specjalizacja hipotez; algorytm połowienia. 4. Indukcja zbiorów reguł (4 godz.) Reprezentacja hipotez za pomocą zbiorów reguł; sekwencyjne pokrywanie; mechanizmy specjalizacji warunków reguł; ocena jakości warunków reguł; unikanie nadmiernego dopasowania. 5. Indukcja drzew decyzyjnych (4 godz.) Reprezentacja hipotez za pomocą drzew; zstępująca budowa drzewa; kryteria stopu i wyboru podziału; unikanie nadmiernego dopasowania. 6. Klasyfikatory liniowe (2 godz.) Reprezentacja hipotez za pomocą modelu liniowego; liniowa separowalność; wyznaczanie liniowej granicy decyzyjnej. 7. Ocena jakości klasyfikatorów (2 godz.) Macierz pomyłek; wskaźniki jakości oparte na macierzy pomyłek; analiza ROC; walidacja krzyżowa. 8. Uczenie się języków regularnych (2 godz.) Reprezentacja hipotez za pomocą automatów skończonych; zapytania o przynależność i równoważność; algorytm L*; sekwencje sprowadzające. 9. Uczenie się ze wzmocnieniem (4 godz.) Scenariusz uczenia się na podstawie nagród; procesy decyzyjne Markowa; strategie i funkcje wartości; uczenie się funkcji wartości i funkcji wartości akcji; reprezentacja funkcji wartości; strategie eksploracji. 10. Zastosowania (2 godz.) Wybrane przykłady praktycznych zastosowań algorytmów uczenia maszynowego. PROJEKT Celem jest samodzielne zastosowanie metod z obszaru uczenia maszynowego w praktyce. Projekt realizowany w zespołach 2-osobowych będzie swoim zakresem obejmować: 1. eksperymenty z użyciem dostępnych bibliotek dostarczających implementacji algorytmów uczenia maszynowego, 2. samodzielną implementację lub modyfikację dostępnej implementacji algorytmu uczenia maszynowego i badanie jego właściwości, 3. zadania wymagające doboru odpowiednich metod uczenia maszynowego, ich zastosowania oraz zaraportowania i oceny jakości uzyskanych wyników.
Metody oceny:
Realizacja przedmiotu obejmuje następujące formy zajęć: ● wykład prowadzony w wymiarze 2 godz. tygodniowo, ● projekt realizowany samodzielnie w zespołach, ● konsultacje. Sprawdzanie założonych efektów kształcenia realizowane jest przez: ● ocenę wiedzy i umiejętności wykazanych na sprawdzianie pisemnym, ● ocenę wiedzy i umiejętności związanych z realizacją zadań projektowych – ocena wykonanych prac implementacyjnych, eksperymentalnych i jakości dokumentacji, ● formatywną ocenę związaną z rozwiązywaniem ćwiczeń domowych formułowanych na wykładzie, udziałem w konsultacjach i interaktywną formą prowadzenia wykładu.
Egzamin:
nie
Literatura:
1. T. Mitchell: Machine Learning. McGraw Hill, 1997. 2. I. H. Witten, E. Frank, M. A. Hall, C. J. Pal: Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, 2016. 3. Y. S. Abu-Mostafa, M. Magdon-Ismail, H.-T. Lin: Learning from Data: A Short Course. AMLBook, 2012. 4. P. Cichosz: Systemy uczące się. Wydawnictwa Naukowo-Techniczne, 2001, 2007. 5. Biblioteka Weka. 6. Pakiety języka R (m.in. rpart, e1071, ReinforcementLearning, RWeka). 7. Pakiety języka Python (m.in. scikit-learn, gym).
Witryna www przedmiotu:
https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INSZI-ISP-UMA
Uwagi:
(-)

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka W01
zna podstawowy obliczeniowej teorii uczenia się
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W06
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W02
zna zasady działania i właściwości algorytmów indukcji reguł
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W06
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W03
zna zasady działania i właściwości algorytmów indukcji drzew decyzyjnych
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W05, W06
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W04
zna zasady działania i właściwości klasyfikatorów liniowych
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W06
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W05
zna zasady działania i właściwości podstawowych algorytmów uczenia się języków regularnych
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W06
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W06
zna zasady działania i właściwości podstawowych algorytmów uczenia się ze wzmocnieniem
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W06
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o

Profil ogólnoakademicki - umiejętności

Charakterystyka U01
potrafi wykorzystywać elementy obliczeniowej teorii uczenia się do oceny złożoności zadań i wymaganej liczby przykładów trenujących
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: U01
Powiązane charakterystyki obszarowe: I.P6S_UW.o, III.P6S_UW.o, P6U_U
Charakterystyka U02
potrafi dokonać analizy przebiegu wykonania algorytmów uczenia się i zweryfikować ich wyniki
Weryfikacja: kolokwium, projekt
Powiązane charakterystyki kierunkowe: U01, U03
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka U03
potrafi oceniać jakość klasyfikatorów
Weryfikacja: kolokwium, projekt
Powiązane charakterystyki kierunkowe: U03
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o
Charakterystyka U04
potrafi implementować podstawowe algorytmy uczenia się i stosować je do zadań praktycznych
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: U04, U07
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka K01
stosuje właściwe metody komunikacji ustnej i pisemnej w zakresie formułowania zadań uczenia się i przedstawiania wyników algorytmów uczenia maszynowego
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: K01
Powiązane charakterystyki obszarowe: P6U_K, I.P6S_KK
Charakterystyka K02
efektywnie współpracuje w zespole przy pracach implementacyjnych i badawczych dotyczących uczenia maszynowego
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: K01
Powiązane charakterystyki obszarowe: P6U_K, I.P6S_KK