Wprowadzenie do sztucznej inteligencji i uczenia maszynowego 3800-AIK-WAIML
Celem kursu jest wprowadzenie studentów do zagadnień sztucznej inteligencji, ze szczególnym uwzględnieniem uczenia maszynowego i sieci neuronowych. Omówione zostaną kluczowe zadania, takie jak regresja, klasyfikacja i klasteryzacja. Studenci poznają podstawowe modele sieci neuronowych, w tym perceptron i wielowarstwowe sieci neuronowe (MLP), a także algorytmy uczenia i propagacji wstecznej. Zajęcia będą miały zarówno charakter teoretyczny, jak i praktyczny, z wykorzystaniem języka Python.
Zakres omawianych tematów
1. Historia dyscypliny, pojęcie inteligentnego agenta, przykłady zastosowań — np. gry i symulacje.
2. Dane w uczeniu maszynowym: rodzaje, formaty, eksploracja z użyciem biblioteki Pandas.
3. Czyszczenie i przygotowanie danych: brakujące wartości, normalizacja, standaryzacja.
4. Wizualizacja danych i eksploracyjna analiza danych (EDA): Matplotlib, Seaborn, korelacja.
5. Podstawy rachunku prawdopodobieństwa i statystyki dla uczenia maszynowego.
6. Regresja liniowa — podejście statystyczne: równanie normalne, operacje macierzowe (NumPy).
7. Regresja liniowa — podejście ML: gradient descent, propagacja w przód i wstecz.
8. Klasyfikacja: K najbliższych sąsiadów (KNN), naiwny klasyfikator Bayesa, regresja logistyczna.
9. Drzewa decyzyjne, lasy losowe (Random Forest) i XGBoost.
10. Regularyzacja i walidacja modelu: overfitting, bias-variance tradeoff, cross-validation.
11. Uczenie nienadzorowane: klasteryzacja (K-Means, DBSCAN), PCA, t-SNE.
12. Wykrywanie anomalii: Isolation Forest, Local Outlier Factor.
13. Sieci neuronowe: architektura MLP, funkcje aktywacji, propagacja wsteczna.
14. SVM — maszyny wektorów nośnych: kernel trick, parametry C i gamma.
15. Przegląd zagadnień współczesnych: deep learning (CNN, RNN, Transformer), LLM, AI generatywna, odpowiedzialne AI, AI Act UE.
Koordynatorzy przedmiotu
Rodzaj przedmiotu
Efekty uczenia się
Wiedza — po ukończeniu kursu student:
• W1. Definiuje podstawowe pojęcia sztucznej inteligencji i uczenia maszynowego, w tym uczenie nadzorowane, nienadzorowane i przez wzmacnianie.
• W2. Opisuje zasady działania kluczowych algorytmów ML: regresji liniowej, regresji logistycznej, KNN, naiwnego klasyfikatora Bayesa, drzew decyzyjnych, lasów losowych, SVM i wielowarstwowych sieci neuronowych (MLP).
• W3. Wyjaśnia proces uczenia sieci neuronowej: propagację w przód, funkcję kosztu, propagację wsteczną i gradient descent.
• W4. Rozróżnia rodzaje danych (strukturalne/niestrukturalne, numeryczne/kategoryczne) oraz opisuje etapy przygotowania danych do analizy.
• W5. Charakteryzuje metody walidacji modeli (cross-validation, bias-variance tradeoff) i techniki regularyzacji (L1, L2).
• W6. Wymienia współczesne kierunki rozwoju AI, w tym deep learning, modele generatywne i regulacje prawne (AI Act UE).
Umiejętności — po ukończeniu kursu student:
• U1. Przygotowuje dane do analizy: wczytuje, czyści, transformuje i wizualizuje zbiory danych z użyciem bibliotek Pandas, NumPy, Matplotlib i Seaborn.
• U2. Przeprowadza eksploracyjną analizę danych (EDA), w tym analizę korelacji, rozkładów i wartości odstających.
• U3. Buduje, trenuje i ewaluuje modele uczenia maszynowego z wykorzystaniem biblioteki scikit-learn (regresja, klasyfikacja, klasteryzacja).
• U4. Dobiera odpowiedni algorytm ML do danego problemu, uzasadniając swój wybór.
• U5. Ocenia jakość modeli za pomocą odpowiednich metryk (MSE, R², accuracy, precision, recall, F1, macierz pomyłek, krzywa ROC/AUC, silhouette score).
• U6. Stosuje techniki optymalizacji hiperparametrów (GridSearchCV, RandomizedSearchCV) oraz walidacji krzyżowej.
• U7. Realizuje pełny pipeline uczenia maszynowego: od eksploracji danych, przez budowę modelu, po prezentację wyników.
Kompetencje społeczne — po ukończeniu kursu student:
• K1. Ma świadomość ograniczeń i potencjalnych zagrożeń związanych ze stosowaniem sztucznej inteligencji, w tym problemu stronniczości (bias), wyjaśnialności i prywatności.
• K2. Współpracuje w zespole przy realizacji projektu ML (projekt końcowy w grupach 2–3 osobowych).
• K3. Krytycznie ocenia wyniki modeli ML i rozumie konieczność weryfikacji oraz interpretacji wyników w kontekście dziedzinowym.
Kryteria oceniania
Składowe oceny końcowej
Składowa Waga Forma
Wykład — egzamin 50% Egzamin pisemny (test)
Laboratorium 50% Zadania laboratoryjne (30%) + klasówka (20%)
Wykład — egzamin (50%)
• Egzamin pisemny w formie testu (pytania jednokrotnego / wielokrotnego wyboru).
• Egzamin obejmuje materiał ze wszystkich wykładów (tygodnie 1–15).
• Warunek konieczny zaliczenia: uzyskanie co najmniej 50% punktów z egzaminu.
Laboratorium (50%)
Zadania laboratoryjne (30% oceny końcowej)
• Na każdych ćwiczeniach studenci realizują zadania praktyczne w Jupyter Notebook.
• Zadania obejmują: przygotowanie danych, implementację modeli ML, analizę wyników.
• W tygodniu 15 studenci prezentują projekty końcowe (grupy 2–3 osobowe): pełny pipeline ML — od EDA, przez przygotowanie danych, po porównanie modeli.
Klasówka (20% oceny końcowej)
• Jedna klasówka pisemna w połowie semestru.
• Zakres: materiał z ćwiczeń 1–7.
Obecności na laboratorium
• Dopuszczalne są 2 nieusprawiedliwione nieobecności w semestrze.
• Przekroczenie limitu nieobecności skutkuje niezaliczeniem laboratorium.
Warunki zaliczenia przedmiotu
• Zaliczenie obu komponentów (wykład i laboratorium) jest wymagane.
• Niezaliczenie egzaminu (< 50% punktów) lub niezaliczenie laboratorium oznacza brak zaliczenia przedmiotu.
Skala ocen
Procent punktów Ocena
91–100% 5,0 (bardzo dobry)
81–90% 4,5 (ponad dobry)
71–80% 4,0 (dobry)
61–70% 3,5 (dość dobry)
51–60% 3,0 (dostateczny)
0–50% 2,0 (niedostateczny)
Literatura
Podstawowa
• A. Géron, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, O'Reilly, 3rd edition, 2022.
• Dokumentacja scikit-learn: scikit-learn.org
Uzupełniająca
• I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, MIT Press, 2016. Dostępna online: deeplearningbook.org
• Kursy Andrew Ng na platformie deeplearning.ai i Coursera (Machine Learning Specialization, Deep Learning Specialization).
• W. McKinney, Python for Data Analysis, O'Reilly, 3rd edition, 2022.
• J. VanderPlas, Python Data Science Handbook, O'Reilly, 2016. Dostępna online: jakevdp.github.io/PythonDataScienceHandbook