Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Basics of Machine Learning
Tok studiów:
2019/2020
Kod:
AMAT-2-305-MO-s
Wydział:
Matematyki Stosowanej
Poziom studiów:
Studia II stopnia
Specjalność:
Matematyka obliczeniowa i komputerowa
Kierunek:
Matematyka
Semestr:
3
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Angielski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr Morkisz Paweł (morkiszp@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

The course will be devoted to practical applications of Python, classical machine learning algorithms, and deep learning algorithms.

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 Student knows and understands basic machine learning methods MAT2A_W08 Egzamin,
Projekt
M_W002 Student has detailed knowledge about algorithms and their computational complexity within the topics considered in the course MAT2A_W08, MAT2A_W07 Egzamin,
Projekt
M_W003 Student knows basic concepts of Python programming language MAT2A_W12, MAT2A_W08 Projekt
Umiejętności: potrafi
M_U001 Student knows simple classification, regression, and clustering machine learning methods and is able to choose properly and use them in practice MAT2A_U19, MAT2A_U12, MAT2A_U16 Aktywność na zajęciach,
Egzamin,
Projekt
M_U002 Student can gain information from the literature, data bases and other sources and apply gained knowledge to solving practical problems. MAT2A_U22, MAT2A_U16, MAT2A_U13 Projekt
Kompetencje społeczne: jest gotów do
M_K001 Student can evaluate presented solution of a problem and track missing elements or errors MAT2A_K01, MAT2A_K02 Egzamin,
Projekt
M_K002 Student is able to work in team, understands the necessity of systematical work with any long term projects. MAT2A_K03 Egzamin,
Projekt
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
30 0 0 0 0 30 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 Student knows and understands basic machine learning methods - - - - + - - - - - -
M_W002 Student has detailed knowledge about algorithms and their computational complexity within the topics considered in the course - - - - + - - - - - -
M_W003 Student knows basic concepts of Python programming language - - - - + - - - - - -
Umiejętności
M_U001 Student knows simple classification, regression, and clustering machine learning methods and is able to choose properly and use them in practice - - - - - - - - - - -
M_U002 Student can gain information from the literature, data bases and other sources and apply gained knowledge to solving practical problems. - - - - + - - - - - -
Kompetencje społeczne
M_K001 Student can evaluate presented solution of a problem and track missing elements or errors - - - - + - - - - - -
M_K002 Student is able to work in team, understands the necessity of systematical work with any long term projects. - - - - + - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 112 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 30 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 20 godz
Samodzielne studiowanie tematyki zajęć 60 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Konwersatorium (30h):
  1. Discussion seminar (in lab)

    The seminar will be a combination of lectures on practical applications of Python, classical machine learning algorithms, and deep learning algorithms, presentations of students and discussions on practical problems arising in implementation of programs solving particular problems. Mathematical roots of each algorithm together with the complexity estimate will be presented. Topics considered during seminar include (but are not limited to):

    1. Python programming language (including libraries: numpy, pandas, scikit learn, keras).

    2. Discussion of problems and methods related to classification, regression, and clustering.

    3. Problem of over- and under-fitting, parameters fine tuning, models validation.

    4. Usage of decision trees based algorithms, e.g. random forest, XGBoost

    5. Deep learning algorithms (dense layers, convolutional layers, batch normalization, dropout, LSTM)

    6. Differences and difficulties of supervised, semi-supervised, and unsupervised learning.

    Students will be given some problems for individual solving and discussion during seminar. Each student will pick a project, i.e. a problem including some freely available data set and well defined purpose, for machine learning algorithms application. Student will construct his own solution based on the obtained knowledge and the project will be assessed.

  2. Discussion seminar (in lab)

    The seminar will be a combination of lectures on practical applications of Python, classical machine learning algorithms, and deep learning algorithms, presentations of students and discussions on practical problems arising in implementation of programs solving particular problems. Mathematical roots of each algorithm together with the complexity estimate will be presented. Topics considered during seminar include (but are not limited to):

    1. Python programming language (including libraries: numpy, pandas, scikit learn, keras).

    2. Discussion of problems and methods related to classification, regression, and clustering.

    3. Problem of over- and under-fitting, parameters fine tuning, models validation.

    4. Usage of decision trees based algorithms, e.g. random forest, XGBoost

    5. Deep learning algorithms (dense layers, convolutional layers, batch normalization, dropout, LSTM)

    6. Differences and difficulties of supervised, semi-supervised, and unsupervised learning.

    Students will be given some problems for individual solving and discussion during seminar. Each student will pick a project, i.e. a problem including some freely available data set and well defined purpose, for machine learning algorithms application. Student will construct his own solution based on the obtained knowledge and the project will be assessed.

Pozostałe informacje
Metody i techniki kształcenia:
  • Konwersatorium: Konwersatorium oparte na współpracy prowadzącego z studentami.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Dwa terminy poprawkowe zaliczenia zajęć i projektu.

Zasady udziału w zajęciach:
  • Konwersatorium:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: -
Sposób obliczania oceny końcowej:

Ocena końcowa (OK) jest oceną z zaliczenia konwersatorium (K) otrzymaną na podstawie projektu:
OK = K.
Istnieje też możliwość zaliczenia przedmiotu z egzaminem. W tej opcji ocena końcowa (OK) jest średnią arytmetyczną oceny z Egzaminu (E) oraz oceny z konwersatorium (K):
OK = 1/2 x E + 1/2 x K.

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

The student should report to the teacher in order to determine the individual way of catching up.

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

Passed two semesters of programming courses – including object oriented programming language – such as C++, passed course of introduction to numerical analysis.

Zalecana literatura i pomoce naukowe:

1. S. Raschka, Python Machine Learning, Packt Publishing Ltd, 2015,
2. Trevor Hastie, Robert Tibshirani and Jerome H. Friedman. The Elements of Statistical Learning, Springer, 2001,
3. A. Courville. I. Goodfellow, Y. Bengio. Deep Learning. MIT Press, 2016.

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

1. Kusiak J., Morkisz P., Oprocha P., Sztangret Ł., On aggregation of stages in multi-criteria optimization of chain structured processes, ICAISC 2016, Lecture Notes in Artificial Intelligence, cop. 2016, pp. 411-419,
2. Kusiak J., Morkisz P., Oprocha P., Sztangret Ł., Multi-criteria optimization strategies for production chains, MATEC Web of Conferences, 2016 vol. 80, pp 1-6
3. Kusiak J. Morkisz P., Oprocha P., Pietrucha W., Sztangret Ł., Validation of optimization strategies using the linear structured production chains, Applied mathematics and computer science: proceedings of the 1st international conference on Applied mathematics and computer science : 27–29 January 2017, AIP Publishing, 2017, S. 020067-1–020067-6
4. Marzec M., Morkisz P., Wojdyła J., Uhl T., Intelligent predictive maintenance system , Proceedings of SAI intelligent systems conference (IntelliSys) 2016, Vol. 1, Springer International Publishing, cop. 2018. — (Lecture Notes in Networks and Systems, 794–804

Informacje dodatkowe:

Przedmiot dopuszcza wersję “z egzaminem” – 4 ECTS