Wydział Informatyki - Informatyka (S2)
specjalność: grafika komputerowa i systemy multimedialne
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/8_W01 Rozumie podstawowe rodzaje zadań stawiane w ramach sztucznej inteligencji (i eksploracji danych): klasyfikacja, regresja, indukcja reguł, selekcja atrybutów. | I_2A_W01, I_2A_W08 | T2A_W01, T2A_W03, T2A_W04, T2A_W07 | C-2 | T-W-7, T-W-2, T-W-6, T-W-3 | M-1, M-4, M-2 | S-4, S-5 |
I_2A_D19/8_W02 Ma znajomość środowiska WEKA oraz biblioteki obiektowej WEKA API. | I_2A_W09, I_2A_W06 | T2A_W03, T2A_W07 | C-1 | T-W-1, T-W-4, T-W-3 | M-4, M-1, M-3 | S-4, S-2, S-1 |
I_2A_D19/8_W03 Zna szczegółowo algorytmy do zadania regresji z regularyzacją. | I_2A_W01, I_2A_W08 | T2A_W01, T2A_W03, T2A_W04, T2A_W07 | C-3 | T-W-6, T-W-7 | M-2, M-1 | S-5, S-3, S-4 |
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/8_U01 Potrafi biegle używać środowisk: WEKA Explorer oraz WEKA Experimenter. | I_2A_U09, I_2A_U06, I_2A_U10, I_2A_U05 | T2A_U08, T2A_U09, T2A_U10, T2A_U11, T2A_U18 | C-1, C-2 | T-L-2, T-L-1 | M-2, M-1, M-4, M-3 | S-4, S-2, S-1, S-5 |
I_2A_D19/8_U02 Potrafi obsługiwać z poziomu języka Java (w ramach WEKA API): wczytywanie / przetwarzanie danych, uruchamianie algorytmów, wykonywanie eksperymentów. | I_2A_U03, I_2A_U08, I_2A_U10 | T2A_U02, T2A_U03, T2A_U09, T2A_U18 | C-2, C-1, C-3 | T-L-3 | M-3, M-1, M-4 | S-5, S-2, S-4 |
I_2A_D19/8_U03 Potrafi zaprojektować obiektowo i zaimplementować własne algorytmy analizy danych jako rozszerzenia do WEKA API. | I_2A_U14, I_2A_U12, I_2A_U03 | T2A_U02, T2A_U03, T2A_U07, T2A_U12, T2A_U14, T2A_U18, T2A_U19 | C-3 | T-L-4 | M-2, M-1, M-3 | S-3, 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/8_K01 Potrafi umiejętnie łączyć elementy wiedzy z inżynierii oprogramowania (projektowanie, programowanie obiektowe) z matematyczną wiedzą z zakresu sztucznej inteligencji. | I_2A_K03, I_2A_K06 | T2A_K02, T2A_K06, T2A_K07 | C-2, C-1, C-3 | T-W-5, T-W-4, T-W-6 | M-3, M-2, M-4, M-1 | S-4, S-3, S-5, S-2, S-1 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D19/8_W01 Rozumie podstawowe rodzaje zadań stawiane w ramach sztucznej inteligencji (i eksploracji danych): klasyfikacja, regresja, indukcja reguł, selekcja atrybutów. | 2,0 | Nie zna podstawowych zadań eksploracji danych. |
3,0 | Potrafi zdefinować zadanie klasyfikacji. | |
3,5 | Potrafi zdefinować zadanie regresji. | |
4,0 | Potrafi zdefinować zadanie: indukcji reguł. | |
4,5 | Potrafi zdefinować zadania: klasteryzacji i selekcji atrybutów. | |
5,0 | Zna przykładowe algorytmy w ramach każdego typu zadania eksploracji danych. | |
I_2A_D19/8_W02 Ma znajomość środowiska WEKA oraz biblioteki obiektowej WEKA API. | 2,0 | Nie zna podstawowych elementów środowiska WEKA. |
3,0 | Zna podstawowe elementy środowiska WEKA. | |
3,5 | Zna podstawowe możliwości środowiska WEKA Explorer. | |
4,0 | Zna szczegółowo możliwości środowiska WEKA Explorer (przykładowe filtry, klasyfikatory, metody selekcji atrybutów itp.). | |
4,5 | Zna podstawowe możliwości środowiska WEKA Experimenter. | |
5,0 | Zna elementy WEKA API. Potrafi ogólnie podać możliwości zastosowania oraz rozszerzania WEKA API o własne implementacje. | |
I_2A_D19/8_W03 Zna szczegółowo algorytmy do zadania regresji z regularyzacją. | 2,0 | Nie potrafi wyjaśnić zadania estymacji funkcji regresji. |
3,0 | Potrafi wyjaśnić zadanie estymacji funkcji regresji. | |
3,5 | Zna rozwiązanie metody najmniejszych kwadratów dla liniowej kombinacji dowolnych funkcji bazowych. | |
4,0 | Potrafi zdefiniować wielomian wielu zmiennych zadanego stopnia. Potrafi podać liczbę wyrazów dla poszczególnych wykładników oraz dla całego wielomianu. | |
4,5 | Zna rozwiązanie metody najmniejszych kwadratów z regularyzacją L2. | |
5,0 | Potrafi zilustrować punkt rozwiązania i wyjaśnić różnice metody najmniejszych kwadratów bez i z regularyzacją L2. |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D19/8_U01 Potrafi biegle używać środowisk: WEKA Explorer oraz WEKA Experimenter. | 2,0 | Nie potrafi wykonać podstawowej obsługi w środowisku WEKA Explorer. |
3,0 | Potrafi uruchamiać filtry w środowisku WEKA Explorer. | |
3,5 | Potrafi używać kilku klasyfikatorów w środowisku WEKA Explorer. | |
4,0 | Potrafi interpretować wyniki kilku klasyfikatorów w środowisku WEKA Explorer. | |
4,5 | Potrafi dla różnych danych dobrać dobre sposoby wstępnego przetwarzania i klasyfikator w celu uzyskania dobrych wyników testowania. | |
5,0 | Potrafi używać środowiska WEKA Experimenter. | |
I_2A_D19/8_U02 Potrafi obsługiwać z poziomu języka Java (w ramach WEKA API): wczytywanie / przetwarzanie danych, uruchamianie algorytmów, wykonywanie eksperymentów. | 2,0 | Nie potrafi wykonać podstawowych operacji z wykorzystaniem WEKA API. |
3,0 | Potrafi wczytać zbiór danych za pomocą WEKA API i wyłuskać podstawowe informacje o nim. | |
3,5 | Potrafi przetwarzać filtrami zbiór danych za pomocą WEKA API. | |
4,0 | Potrafi uruchamiać jeden wybrany klasyfikator za pomocą WEKA API. | |
4,5 | Potrafi uruchamiać różne klasyfikatory za pomocą WEKA API i porównywać ich wyniki. | |
5,0 | Potrafi przeprowadzać różne sposoby testowania wyników klasyfikacji (hold-out, krzyżowa walidacja). | |
I_2A_D19/8_U03 Potrafi zaprojektować obiektowo i zaimplementować własne algorytmy analizy danych jako rozszerzenia do WEKA API. | 2,0 | Nie potrafi wykonać podstawowych elementów implementacji własnego klasyfikatora w ramach WEKA API. |
3,0 | Potrafi zaimplementotwać własny prosty klasyfikator ZeroRules i podpiąć go do WEKA Explorer. | |
3,5 | Potrafi zaimplementować liniową regresję metodą najmniejszych kwadratów i podpiąć do WEKA Explorer. | |
4,0 | Potrafi zaimplementować wielomianową regresję metodą najmniejszych kwadratów i podpiąć do WEKA Explorer. | |
4,5 | Potrafi zaimplementować wielomianową regresję z regularyzacją i podpiąć do WEKA Explorer. | |
5,0 | Potrafi zaimplementować liniową regresję metodą najmniejszych kwadratów i podpiąć do WEKA Explorer i porównać jej wyniki z gotowymi klasyfikatorami. |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_2A_D19/8_K01 Potrafi umiejętnie łączyć elementy wiedzy z inżynierii oprogramowania (projektowanie, programowanie obiektowe) z matematyczną wiedzą z zakresu sztucznej inteligencji. | 2,0 | Nie zna podstawowych zadań uczenia się z danych w ramach sztucznej inteligencji. |
3,0 | Zna podstawowe zadania uczenia się z danych w ramach sztucznej inteligencji. | |
3,5 | Potrafi przeprowadzać eksperymenty eksploracji danych z użyciem środowiska WEKA. | |
4,0 | Posiada podstawy inżynierii oprogramowania potrzebne do łączenia elementów projektowania z problemami eksploracji danych. | |
4,5 | Potrafi wykorzystać i łączyć elementy inżynierii oprogramowania z problemami eksploracji danych. | |
5,0 | Potrafi w sposób pełny i inżynierski zaprojektować i zaprogramować rozwiązanie dla problemu eksploracji danych. |
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