Wydział Informatyki - Informatyka (S2)
specjalność: projektowanie i zarządzanie projektami informatycznymi
Sylabus przedmiotu Projektowanie i programowanie systemów sztucznej inteligencji:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | drugiego stopnia |
Tytuł zawodowy absolwenta | magister inżynier | ||
Obszary studiów | nauk technicznych | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Projektowanie i programowanie systemów sztucznej inteligencji | ||
Specjalność | inteligentne aplikacje komputerowe | ||
Jednostka prowadząca | Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej | ||
Nauczyciel odpowiedzialny | Przemysław Klęsk <pklesk@wi.zut.edu.pl> | ||
Inni nauczyciele | |||
ECTS (planowane) | 3,0 | ECTS (formy) | 3,0 |
Forma zaliczenia | egzamin | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | matematyka |
W-2 | rachunek prawdopodobieństwa i statystyka |
W-3 | podstawy programowania |
W-4 | programowanie obiektowe |
W-5 | wstęp do sztucznej inteligencji |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów ze środowiskiem WEKA - jako otwartą bibliotekami algorytmów eksploracji danych. |
C-2 | Przećwiczenie zasad poprawnego wykonywania zadań uczenia maszynowego (na podstawie danych) oraz dobrych praktyk przeprowadzania eksperymentów (przetwarzanie danych, testowanie modeli). |
C-3 | Połączenie umiejętności dotycząych inżynierii oprogramowania (projektowanie i programowanie obiektowe) z wiedzą matematyczną dotyczącą sztucznej inteligencji i eksploracji danych. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Zapoznanie ze środowiskiem WEKA Explorer. Uruchamianie filtrów i algorytmów do klasyfikacji i klasteryzacji. Wpływ wstępnego przetwarzania (poszczególnych filtrów) na wyniki klasyfikacji. | 4 |
T-L-2 | Zapoznanie ze środowiskiem WEKA Experimenter. Wykonanie zbiorczych eksperymentów na podstawie zadania nr 1. | 2 |
T-L-3 | Zapoznanie ze środiwskiem IDE Eclipse. Korzystanie z WEKA Java API. Wczytywanie danych, wyświetlanie informacji o danych, uruchamianie filtrów i algorytmów. | 4 |
T-L-4 | Realizacja końcowego zadania projektowego - implementacja regresji wielomianowej z regularyzacją L2 w ramach WEKA API i "podpięcie" tej implementacji do WEKA Explorer. W szczególności wykorzystanie otwartej biblioteki jscience do operacji macierzowych w Javie. | 5 |
15 | ||
wykłady | ||
T-W-1 | Wprowadzenie do środowiska WEKA. Formaty danych .arff i C4.5. Przedstawienie możliwości WEKA Explorer: wstępne przetwarzanie danych i filtry, klasyfikacja, klasteryzacja, indukcja reguł, znajdowanie zmiennych istotnych, wizualizacja. | 2 |
T-W-2 | Przegląd wybranych klasyfikatorów w WEKA Explorer: klasyfikator "zero rules", naiwny klasyfikator Bayesa, Multi-Layer Perceptron, sieć RBF, simple CART, J48, SVM i SMO, głosujący perceptron, regresja liniowa; oraz algorytmów klasteryzacji: EM, K-means. | 3 |
T-W-3 | Omówienie pracy z WEKA Experimenter: tryby prosty i zaawansowany, wczytywanie i źródła danych, nastawy testowania. Analiza wyników zbiorczych: test T-studenta parami dla algorytmów. | 2 |
T-W-4 | Przedstawienie zarysu biblioteki WEKA Java API. Podstawowe klasy Instance, Instances, Attribute. Ustawianie parametrów, opcji algorytmom. Wczytywanie i zapisywanie zbiorów danych. Uruchamianie filtrów i algorytmów. Uczenie on-line, off-line. Serializacja i deserializacja modeli. Metody informacyjne: toSummaryString(), toConfusionMatrix(). | 2 |
T-W-5 | Omówienie sposobu implementacji własnych klas w WEKA API: dziedziczenie po klasie Classifier, metody informacyjno-obsługowe, przeciążanie metod buildClassifier(), classifyInstance(). Budowanie pliku .jar i umieszczanie w CLASSPATH. Wpięcie algorytmu do drzewa WEKA Explorer. | 2 |
T-W-6 | Algorytm regresji wielomianowej z regularyzacją L2 (ridge) - jako zadanie do zaprojektownia i własnej implementacji w WEKA API. W szczególności: omówienie zadania optymalizacji z ograniczeniem (związanego z regularyzacją) oraz kombinatoryki związanej z generowaniem wyrazów wielomianu wielu zmiennych dowolnego stopnia. | 2 |
T-W-7 | Algorytm regresji wielomianowej z regularyzacją L1 (lasso) - algorytmy Forward Stagewise Lasso, LARS, wykresy ewolucji wag. | 2 |
15 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Samodzielne przebadanie możliwości WEKA Explorer (w tym uruchamianie algorytmów, które nie były uruchamiane na zajęciach, a są potrzebne do wykonania zadania domowego nr 1). | 5 |
A-L-2 | Przeprowadzanie eksperymentów zbiorczych (kilka algorytmów, kilka zbiorów danych, kilka powtórzeń) w ramach WEKA Experimenter. Odnotowanie algorytmów istotnie lepszych w teście statystycznym. Opracowanie sprawozdania. | 10 |
A-L-3 | Uzupełnienie wiadomości z programowania obiektowego w języku Java. Wykonanie zadania domowego nr 2 - przeprowadzenie eksperymentu uczenia (wczytanie danych, wyświetlenie informacji o atrybutach, uruchomienie algorytmów uczących) z poziomu WEKA API. | 10 |
A-L-4 | Dokończenie implementacji dla zadania nr 3 (regresja wielomianowa z regularyzacją L2 i "podpięcie" algorytmu do WEKA Explorer). Wykorzystanie biblioteki macierzowej jscience. Testy na zbiorach 'sin' oraz 'cpu'. Porównanie wyników z istniejącym algorytmem LinearRegression (bez i z opcją ridge). | 24 |
A-L-5 | Udział w konsultacjach i zaliczeniu | 2 |
51 | ||
wykłady | ||
A-W-1 | Samodzielne uzupełnienie wiadomości o nowopoznanych algorytmach do klasyfikacji, klasteryzacji, indukcji reguł, selekcji atrybutów (około 15 algorytmów). | 5 |
A-W-2 | Studiowanie dokumentacji elektronicznej (.pdf) na temat środowiska WEKA oraz WEKA API. | 5 |
A-W-3 | Poszerzanie wiadomości z wykładów na temat różnych algorytmów regularyzacji: L2 (ridge), L1 (lasso, LARS, Forward Stagewise Lasso, elastic net). | 4 |
A-W-4 | Przygotowanie się do kolokwium egzaminacyjnego. | 16 |
A-W-5 | Udział w konsultacjach i egzaminie | 2 |
32 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny. |
M-2 | Wykład problemowy. |
M-3 | Metody programowane z użyciem komputera. |
M-4 | Pokaz. |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Sprawozdanie pisemne z analiz danych wykonanych na 2 zbiorach danych w środowiskach WEKA Explorer i Experimenter. |
S-2 | Ocena formująca: Implementacja programu w języku Java wykonującego zadane operacje za pomocą biblioteki obiektowej WEKA Java API. |
S-3 | Ocena formująca: Implementacja programu w Javie algorytmu do regresji wielomianowej z regularyzacją L2 i "podpięcie" jej do drzewa algorytmów w WEKA. |
S-4 | Ocena podsumowująca: Ocena zaliczeniowa z laboratoriów, jako uśrednienie ocen cząstkowych za zadania 1, 2, 3. |
S-5 | Ocena podsumowująca: Napisanie kolokwium zaliczeniowego z wykładów. |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
I_2A_D19/01_W01 Rozumie podstawowe rodzaje zadań stawiane w ramach sztucznej inteligencji (i eksploracji danych): klasyfikacja, regresja, indukcja reguł, selekcja atrybutów. Ma znajomość środowiska WEKA oraz biblioteki obiektowej WEKA API. | I_2A_W01, I_2A_W08 | T2A_W01, T2A_W03, T2A_W04, T2A_W07 | C-2 | T-W-3, T-W-2, T-W-6, T-W-7 | M-1, M-2, M-4 | S-4, S-5 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
I_2A_D19/01_U01 Potrafi używać środowisk: WEKA Explorer, WEKA Experimenter. Potrafi obsługiwać WEKA z poziomu języka Java (w ramach WEKA API) oraz zaprojektować i zaimplementować własne algorytmy analizy danych jako rozszerzenia do WEKA API. | I_2A_U09, I_2A_U10, I_2A_U05, I_2A_U06 | T2A_U08, T2A_U09, T2A_U10, T2A_U11, T2A_U18 | C-1, C-2 | T-L-1, T-L-2 | M-1, M-2, M-3, M-4 | S-1, S-2, S-4, S-5 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
I_2A_D19/01_K01 Potrafi umiejętnie łączyć elementy wiedzy z inżynierii oprogramowania (projektowanie, programowanie obiektowe) z matematyczną wiedzą z zakresu sztucznej inteligencji. | I_2A_K06, I_2A_K03 | T2A_K02, T2A_K06, T2A_K07 | C-1, C-3, C-2 | T-W-5, T-W-4, T-W-6 | M-1, M-2, M-3, M-4 | S-1, S-2, S-3, S-4, S-5 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D19/01_W01 Rozumie podstawowe rodzaje zadań stawiane w ramach sztucznej inteligencji (i eksploracji danych): klasyfikacja, regresja, indukcja reguł, selekcja atrybutów. Ma znajomość środowiska WEKA oraz biblioteki obiektowej WEKA API. | 2,0 | |
3,0 | Uzyskanie przynajmniej 50% z pisemnego kolokwium zaliczeniowego. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D19/01_U01 Potrafi używać środowisk: WEKA Explorer, WEKA Experimenter. Potrafi obsługiwać WEKA z poziomu języka Java (w ramach WEKA API) oraz zaprojektować i zaimplementować własne algorytmy analizy danych jako rozszerzenia do WEKA API. | 2,0 | |
3,0 | Uzyskanie przynajmniej 50% punktów z trzech zadań stawianych na laboratoriach: (1) obsługa WEKA Explorer i Experimenter, (2) umiejętność programowania z wykorzystaniem WEKA API, (3) implementacja algorytmu ridge regression i wpięcie go do WEKA Explorer. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D19/01_K01 Potrafi umiejętnie łączyć elementy wiedzy z inżynierii oprogramowania (projektowanie, programowanie obiektowe) z matematyczną wiedzą z zakresu sztucznej inteligencji. | 2,0 | |
3,0 | Zna podstawowe zadania uczenia się z danych w ramach sztucznej inteligencji. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Literatura podstawowa
- R. Bouckaert, E. Frank, M. Hall i in., WEKA Manual (for version 3.6), Uniwersytet w Waikato, Hamilton, Nowa Zelandia, 2010
Literatura dodatkowa
- L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2012, III
- P. Cichosz, Systemy uczące się, WNT, Warszawa, 2000
- T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning, Springer, New York, 2001