Wydział Informatyki
Kierunek studiów Data Science Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Podstawy optymalizacji Kod przedmiotu DS1S3POP
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 3
15 15 Punkty ECTS 2
Przedmioty wprowadzające Algebra liniowa 1 (DS1S1AL1),   Algebra liniowa 2 (DS1S2AL2),   Analiza matematyczna 1 (DS1S1AM1),   Analiza matematyczna 2 (DS1S2AM2),   Podstawy programowania (DS1S1PPR),  
Cele przedmiotu

Przekazanie wiedzy z zakresu teorii, metod i algorytmów optymalizacji, ze szczególnym uwzględnieniem ich zastosowań w data science i uczeniu maszynowym. Rozwój praktycznych umiejętności formułowania i rozwiązywania problemów optymalizacyjnych w kontekście analizy danych i budowy modeli.

Treści programowe

Ramowe treści programowe

Podstawowe pojęcia optymalizacji, klasyfikacja problemów optymalizacyjnych oraz przykłady zastosowań w data science. Optymalizacja bez ograniczeń, metody gradientowe poszukiwania ekstremów funkcji jednej i wielu zmiennych, warunki konieczne i dostateczne ekstremum. Optymalizacja z ograniczeniami, mnożniki Lagrange’a, warunki Kuhna-Tucka, metody funkcji kary. Programowanie liniowe, metoda sympleks, algorytm punktu wewnętrznego, dualizm w programowaniu liniowym. Optymalizacja wypukła, definicje i własności. Metody stochastyczne w optymalizacji, stochastyczny spadek gradientu (SGD), mini-batch SGD. Metody heurystyczne i metaheurystyczne, algorytmy genetyczne, symulowane wyżarzanie, optymalizacja rojem cząstek.

Wykład

1 Wprowadzenie do optymalizacji - podstawowe pojęcia, klasyfikacja problemów optymalizacyjnych, przykłady zastosowań w data science.
2 Optymalizacja bez ograniczeń - metody gradientowe poszukiwania ekstremów funkcji jednej i wielu zmiennych, warunki konieczne i dostateczne ekstremum.
3 Optymalizacja z ograniczeniami - mnożniki Lagrange'a, warunki Kuhna-Tuckera, metody funkcji kary.
4 Programowanie liniowe - metoda sympleks, algorytm punktu wewnętrznego, dualizm w programowaniu liniowym.
5 Optymalizacja wypukła - definicje, własności.
6 Metody stochastyczne w optymalizacji - stochastyczny spadek gradientu (SGD), mini-batch SGD.
7 Metody heurystyczne i metaheurystyczne - algorytmy genetyczne, symulowane wyżarzanie, optymalizacja rojem cząstek.
8 Zaliczenie wykładu.

Pracownia specjalistyczna

1 Implementacja wybranych gradientowych metod optymalizacji funkcji jednej zmiennej (metoda siecznych, Newtona, Davidona).
2 Implementacja wybranych gradientowych metod optymalizacji bez ograniczeń funkcji wielu zmiennych (metoda najszybszego spadku, metoda gradientów sprzężonych, metoda Newtona).
3 Implementacja wybranych metod optymalizacji z ograniczeniami (metody funkcji kary).
4 Programowanie liniowe w praktyce - formułowanie problemów, implementacja i zastosowanie w data science.
5 Stochastyczne metody optymalizacji - implementacja SGD i wariantów, zastosowania w uczeniu maszynowym.
6 Implementacja wybranych algorytmów metaheurystycznych i ich zastosowanie w problemach z dziedziny data science.
7 Projekt końcowy - rozwiązanie złożonego problemu optymalizacyjnego z zakresu analizy danych lub uczenia maszynowego.
8 Zaliczenie pracowni specjalistycznej.

Metody dydaktyczne

dyskusja rozwiązań,   praca w grupach,   wykład konwersatoryjny,   wykład problemowy,   wykład z prezentacją multimedialną,  

Forma zaliczenia

W zaliczenie pisemne z pytaniami testowymi i otwartymi
Ps opracowanie zadań projektowych realizowanych w grupach

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 student zna i rozumie podstawowe pojęcia, metody i algorytmy optymalizacji DS1_W01
EU2 student zna i rozumie matematyczne podstawy metod optymalizacyjnych i ich zastosowanie w data science DS1_W02
EU3 student zna i rozumie specjalistyczne metody optymalizacji stosowane w uczeniu maszynowym DS1_W03
EU4 student potrafi formułować problemy optymalizacyjne dla zagadnień z dziedziny data science DS1_U01
EU5 student potrafi implementować i stosować algorytmy optymalizacyjne DS1_U02
EU6 student potrafi dobierać odpowiednie metody optymalizacji do różnych klas problemów DS1_U03
EU7 student jest gotów do krytycznej oceny efektywności metod optymalizacyjnych DS1_K01
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 zaliczenie pisemne W
EU2 zaliczenie pisemne W
EU3 zaliczenie pisemne W
EU4 ocena zadań projektowych realizowanych w grupach Ps
EU5 ocena zadań projektowych realizowanych w grupach Ps
EU6 ocena zadań projektowych realizowanych w grupach Ps
EU7 ocena zadań projektowych realizowanych w grupach Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - udział w wykładach 15
2 - udział w innych formach zajęć 15
3 - indywidualne wsparcie merytoryczne procesu uczenia się, udział w zaliczeniach organizowanych poza planem zajęć 4
4 - przygotowanie do zaliczenia wykładu 8
5 - wykonanie projektu 8
RAZEM: 50
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 34
(1)+(2)+(3)
1.4
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 27
(2)+(3)+(5)
1.1
Literatura podstawowa

1 J. Arabas, Wykłady z algorytmów ewolucyjnych, WNT, 2004
2 A. Stachurski, Wprowadzenie do optymalizacji, OW PW, 2009
3 P. Oprocha, A. Danielewska-Tułecka, J. Kusiak, Optymalizacja: Wybrane metody z przykładami zastosowań, PWN, 2019
4 J. Stadnicki, Teoria i praktyka rozwiązywania zadań optymalizacji z przykładami zastosowań technicznych, WNT, 2017

Literatura uzupełniająca

1 M. Brdyś, A. Ruszczyński, Metody optymalizacji w zadaniach, WNT, 1985
2 A. Nowak, Optymalizacja. Teoria i zadania, Wyd. Politechniki Śląskiej, 2007
3 K. Piekarski, Metody optymalizacji. Wybrane zagadnienia, OW PB, 2024

Jednostka realizująca Wydział Informatyki Data opracowania programu
Program opracował(a) dr Krzysztof Piekarski,dr inż. Rajmund Stasiewicz 2025.03.03