- 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:
P6U_U, I.P6S_UW.o, III.P6S_UW.o
- 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:
III.P6S_UW.o, P6U_U, I.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