Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Uczenie maszynowe
Tok studiów:
2019/2020
Kod:
EAiR-1-606-s
Wydział:
Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Automatyka i Robotyka
Semestr:
6
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Prowadzący moduł:
dr hab. inż. Jaworek-Korjakowska Joanna (jaworek@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Podczas zajęć omówione zostaną zarówno podstawowe jak i zaawansowane metody uczenia maszynowego i sztucznej inteligencji w tym sieci neuronowych. Studenci zostaną przygotowani do praktycznego wykorzystania najnowszych algorytmów i rozwiązań.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Zna podstawowe i zaawansowane metody uczenia maszynowego, zasady ich działania oraz możliwości zastosowania. AiR1A_W01 Sprawozdanie,
Kolokwium,
Egzamin
M_W002 Zna narzędzia i środowiska do tworzenia i rozbudowy systemów informatycznych wykorzystujących algorytmy uczenia maszynowego AiR1A_W04 Sprawozdanie,
Kolokwium,
Egzamin
Umiejętności: potrafi
M_U001 Potrafi pozyskiwać informacje o zaawansowanych metodach uczenia maszynowego oraz wykorzystywać je podczas implementowania rozwiązań algorytmicznych. AiR1A_U01 Sprawozdanie,
Aktywność na zajęciach
M_U002 Potrafi przygotować dokumentację zaimplementowanego rozwiązania ze szczegółowym omówieniem wyników, wyciągnąć wnioski oraz wyczerpująco je uzasadnić. AiR1A_U03 Sprawozdanie,
Aktywność na zajęciach
Kompetencje społeczne: jest gotów do
M_K001 Potrafi zaproponować ulepszenie oraz optymalizację zaimplementowanego algorytmu uczenia maszynowego. Potrafi przeanalizować wyniki i na ich podstawie sformułować wnioski. AiR1A_K01 Sprawozdanie,
Aktywność na zajęciach
M_K002 Zna i rozumie potrzebę wykorzystania zaawansowanych metod uczenia maszynowego. Potrafi w sposób samodzielny i kreatywny wybrać odpowiednie rozwiązanie dla określonego problemu badawczego. AiR1A_K01 Sprawozdanie,
Aktywność na zajęciach
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
56 28 0 28 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Zna podstawowe i zaawansowane metody uczenia maszynowego, zasady ich działania oraz możliwości zastosowania. + - + - - - - - - - -
M_W002 Zna narzędzia i środowiska do tworzenia i rozbudowy systemów informatycznych wykorzystujących algorytmy uczenia maszynowego + - + - - - - - - - -
Umiejętności
M_U001 Potrafi pozyskiwać informacje o zaawansowanych metodach uczenia maszynowego oraz wykorzystywać je podczas implementowania rozwiązań algorytmicznych. - - + - - - - - - - -
M_U002 Potrafi przygotować dokumentację zaimplementowanego rozwiązania ze szczegółowym omówieniem wyników, wyciągnąć wnioski oraz wyczerpująco je uzasadnić. - - + - - - - - - - -
Kompetencje społeczne
M_K001 Potrafi zaproponować ulepszenie oraz optymalizację zaimplementowanego algorytmu uczenia maszynowego. Potrafi przeanalizować wyniki i na ich podstawie sformułować wnioski. - - + - - - - - - - -
M_K002 Zna i rozumie potrzebę wykorzystania zaawansowanych metod uczenia maszynowego. Potrafi w sposób samodzielny i kreatywny wybrać odpowiednie rozwiązanie dla określonego problemu badawczego. + - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 100 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 56 godz
Samodzielne studiowanie tematyki zajęć 44 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (28h):

1. Wprowadzenie do tematyki uczenia maszynowego, podstawowe zagadnienia z algebry
2. Wykorzystywanie środowiska Python do uczenia maszynoweg. Regresja liniowa wielu zmiennych (optymalizacja danych).
3. Zagadnienie klasyfikacji: algorytm K-najbliższych sąsiadów (k-NN), okno Parzena, drzewa decyzyjne
4. Sprawdzanie poprawności danych. Kwestia brakujących danych. Dobór odpowiednich cech. Ocenianie istotności cech za pomocą algorytmu losowego lasu. Analiza wyników klasyfikacji (macierz pomyłek, krzywa ROC)
5. Regularyzacja (problem nadmiernego dopasowania, funkcja kosztu)
6. Strategia tworzenia systemów uczenia maszynowego
7. Maszyny wektorów nośnych (ang. Support Vector Machine – SVM) – teoria, funkcje jądra, wyznaczanie maksymalnego marginesu za pomocą maszyn wektorów nośnych.
8. Redukcja wymiarowości: analiza głównych składowych (PCA) – motywacja, sformułowanie problemu, algorytm
9. Detekcja anomalii w dużych zbiorach danych (ang. Large Scale Machine Learning – LSML)
10.Najlepsze metody oceny modelu i strojenie parametryczne.
11. Wprowadzenie do sztucznych sieci neuronowych. Podstawowe zagadnienia i domeny sztucznej inteligencji. Sztuczny neuron.
Wielowarstwowe sieci neuronowe I
12. Sieci wielowarstwowe II. Algorytm backpropagation, i jego modyfikacje.
13. Sposoby uczenia sieci neuronowych (z nauczycielem i bez nauczyciela). Omówienie sieci neuronowych typu RBF, sieci samoorganizujące się, sieci Kohonena.
14. Omówienie sieci LVQ, rezonansowej ART, Hopfielda. Praktyczne zastosowanie metod uczenia maszynowego.

Ćwiczenia laboratoryjne (28h):

Zajęcia laboratoryjne są wspomagane za pomocą kursu na platformie e-learningowej AGH.

1. Wprowadznie do programowania w Pythonie z wykorzystaniem pakietów Panda, Scikit-learn, NumPy.
2. Regresja liniowa wielu zmiennych – (optymalizacja danych).
3. Zagadnienie klasyfikacji: algorytm K-najbliższych sąsiadów (k-NN), drzewa decyzyjne. Wybór liczby sąsiadów/rozmiaru okna, wpływ obserwacji odstających.
4. Tworzenie i analiza drzew decyzyjnych w wersji tekstowej i graficznej. Analiza procesu klasyfikacji, kosztu resubstytucji (ang. resubstitution error). Analiza wyników klasyfikacji (macierz pomyłek, krzywa ROC)
5. Regularyzacja (problem nadmiernego dopasowania, funkcja kosztu). Analiza wyników klasyfikacji (macierz pomyłek, krzywa ROC)
6. Walidacja: różnice w wynikach między poprawnym a błędnym zastosowaniem. Przygotowanie zbioru danych: strategia postępowania w przypadku brakujących danych (ang. data imputation), analiza błędnych pomiarów (ang. outlier detection), wpływ normalizacji danych na wynik klasyfikatorów opartych o miary odległości. Ocenianie istotności cech za pomocą algorytmu losowego lasu.
7. Klasyfikacja parametrów geometrycznych znamion skórnych przy pomocy SVM
8. Kompresja zdjęć twarzy metodą PCA. Omówienie i wizualizacja wyników.
9. Wykorzystanie wielowymiarowego rozkładu Gaussa do detekcji anomalii w danych biomedycznych (analiza częstości skurczów serca). Zastosowanie algorytmu expectation-minimization do maksymalizacji funkcji wiarogodności.
10. Usprawnianie cyklu pracy za pomocą kolejkowania. Stosowanie k-krotnego sprawdzianu krzyżowego w ocenie skuteczności modelu.Sprawdzanie algorytmów za pomocą krzywych uczenia i krzywych walidacji
11. Implementacja podstawowoej komórki neuronowej. Sieci neuronowe typu Perceptron prosty. Architektura sieci MLP
12. Przygotowanie i zastosowanie jednowarstwowej perceptronowej sieci neuronowej do klasyfikacji obrazów i praktyczne jej wykorzystanie
13. Kompresja obrazów wykonana przy pomocy samoorganizujących się map. Zastosowanie sieci Kohonena do rozpoznawania obiektów.
14. Zastosowanie sieci LVQ do problemu rozpoznawania 3 klas. Sieć rezonansowa ART– rozpoznawanie liter.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Laboratorium:
1. Warunkiem uczestnictwa w zajęciach laboratoryjnych jest dokonanie zapisu na kurs e-learningowy na platformie AGH.
2.Obecność na zajęciach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.

Kolokwium:
W trakcie semestru odbędą się dwa kolokwia zaliczeniowe (odpowiednio w połowie oraz pod koniec semestru). Wymagane jest uzyskanie powyżej 50 % punktów z każdego z kolokwium.
Studentom przysługuje możliwość jednokrotnej poprawy danego kolokwium.W przypadku poprawy kolokwium student może uzyskać maksymalnie ocenę 3.0 (zal.)

Ocena końcowa:
Podstawą do wystawienia oceny z laboratorium jest średnia arytmetyczna ocen uzyskanych za każde z kolokwium zaokrąglona w górę do najbliższej oceny zgodnej z Regulaminem Studiów AGH.

Aby zaliczyć przedmiot należy uzyskać zaliczenie z laboratoriów oraz z każdego z kolokwiów.

Uwaga. Dla osób zaangażowanych w działalność kół naukowych (projekty, konkursy) lub w prace badawcze istnieje możliwość realizacji zadań ustalonych z prowadzącym przedmiot oraz opiekunem naukowym zamiast wybranych ćwiczeń laboratoryjnych. Zadania te muszą być zbieżne z tematyką przedmiotu i zapewniać realizację efektów kształcenia. Sposób ich wykonania, sporządzony raport oraz dostarczony kod źródłowy będą podstawą do wystawienia oceny z laboratorium.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu.
Sposób obliczania oceny końcowej:

Ocena końcowa (OK) jest wyznaczana na podstawie ocen z kolokwiów zaliczeniowych (K1, K2) zgodnie ze wzorem:
OK=0.5 * K1+0.5* K2

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Obecność na zajęciach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność. Laboratoria zaległe należy odrobić w ciągu tygodnia od powrotu na uczelnię po nieobecności, w trakcie zajęć pozostałych grup na roku lub podczas konsultacji. Nieodrobienie zajęć (brak sprawozdania) w tym okresie skutkować będzie definitywnym brakiem zaliczenia danego ćwiczenia. Dopuszczalne jest jedno niezaliczone ćwiczenie.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Wymagania wstępne: zaliczenie z przedmiotu – Analiza i bazy danych
Wymagania dodatkowe: podstawowa znajomość Pythona oraz podstawowa wiedza ze statystyki

Zalecana literatura i pomoce naukowe:

1. Cichosz P., Systemy uczące się, WNT Warszawa, 2000, ISBN 83-204-2544-1
2. Ian H. Witten, Eibe Frank, Mark A. Hall, Data Mining: Practical Machine Learning Tools and Techniques, 2011
3. Peter Flach, Machine Learning: The Art and Science of Algorithms that Make Sense of Data, 2012
4. Krawiec K., Stefanowski J.: Uczenie maszynowe i sieci neuronowe, Wydawnictwo Politechniki Poznańskiej, Poznań, 2004
5. Christopher M. Bishop: Pattern Recognition and Machine Learning, wyd. Springer, 2006
6. Richard O. Duda, Peter E. Hart, David G. Stork: Pattern Classification (2nd Ed.), wyd. Wiley, 2000

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. J. Jaworek-Korjakowska: Computer-aided diagnosis of micro-malignant melanoma lesions applying support vector machines, BioMed Research International, 2016, s. 1–8
2. J. Jaworek-Korjakowska, P. Kłeczek: Automatic classification of specific melanocytic lesions using artificial intelligence, BioMed Research International, 2016, s. 1–17
3. J.Jaworek-Korjakowska: Artificial neural networks in the diagnosis of pigmented skin lesions: a review., Bio-Algorithms and Med-Systems, 2015 vol. 11 iss. 2, s. 36
4. Jaworek-Korjakowska J.: A deep learning approach to vascular structure segmentation in dermoscopy colour images, BioMed Research International, vol. 2018, pp. 1 – 8, 2018
5. Jaworek-Korjakowska J., Kłeczek P.: Region adjacency graph approach for acral melanocytic lesion segmentation, Applied Sciences (Basel), vol. 8, pp. 1 – 14, 2018

Informacje dodatkowe:

Zajęcia laboratoryjne są wspomagane za pomocą kursu na platformie e-learningowej AGH.
Wszystkie materiały dostępne są na stronie home.agh.edu.pl/mdig