Nazwa przedmiotu:
Uczenie maszynowe
Koordynator przedmiotu:
Rajmund Kożuszek
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia II stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne - podstawowe
Kod przedmiotu:
UMA
Semestr nominalny:
1 / 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ę