Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
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 niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauki techniczne
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

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW1 10 1,00,62egzamin
laboratoriaL1 10 2,00,38zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1matematyka
W-2rachunek prawdopodobieństwa i statystyka
W-3podstawy programowania
W-4programowanie obiektowe
W-5wstęp do sztucznej inteligencji

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów ze środowiskiem WEKA - jako otwartą bibliotekami algorytmów eksploracji danych.
C-2Przećwiczenie zasad poprawnego wykonywania zadań uczenia maszynowego (na podstawie danych) oraz dobrych praktyk przeprowadzania eksperymentów (przetwarzanie danych, testowanie modeli).
C-3Połą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ęć

KODTreść programowaGodziny
laboratoria
T-L-1Zapoznanie 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-2Zapoznanie ze środowiskiem WEKA Experimenter. Wykonanie zbiorczych eksperymentów na podstawie zadania nr 1.2
T-L-3Zapoznanie ze środiwskiem IDE Eclipse. Korzystanie z WEKA Java API. Wczytywanie danych, wyświetlanie informacji o danych, uruchamianie filtrów i algorytmów.4
10
wykłady
T-W-1Wprowadzenie 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-2Przeglą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.2
T-W-3Omó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-4Przedstawienie 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-5Algorytm 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
10

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Samodzielne 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).10
A-L-2Przeprowadzanie 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.8
A-L-3Uzupeł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.12
A-L-4Dokoń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
54
wykłady
A-W-1Samodzielne uzupełnienie wiadomości o nowopoznanych algorytmach do klasyfikacji, klasteryzacji, indukcji reguł, selekcji atrybutów (około 15 algorytmów).4
A-W-2Studiowanie dokumentacji elektronicznej (.pdf) na temat środowiska WEKA oraz WEKA API.4
A-W-3Poszerzanie 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-4Przygotowanie się do kolokwium egzaminacyjnego.16
28

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny.
M-2Wykład problemowy.
M-3Metody programowane z użyciem komputera.
M-4Pokaz.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Sprawozdanie pisemne z analiz danych wykonanych na 2 zbiorach danych w środowiskach WEKA Explorer i Experimenter.
S-2Ocena formująca: Implementacja programu w języku Java wykonującego zadane operacje za pomocą biblioteki obiektowej WEKA Java API.
S-3Ocena formująca: Implementacja programu w Javie algorytmu do regresji wielomianowej z regularyzacją L2 i "podpięcie" jej do drzewa algorytmów w WEKA.
S-4Ocena podsumowująca: Ocena zaliczeniowa z laboratoriów, jako uśrednienie ocen cząstkowych za zadania 1, 2, 3.
S-5Ocena podsumowująca: Napisanie kolokwium zaliczeniowego z wykładów.

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D19/1_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_W08C-2T-W-2, T-W-5, T-W-3M-4, M-2, M-1S-5, S-4

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D19/1_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_U06, I_2A_U05C-1, C-2T-L-1, T-L-2M-4, M-2, M-1, M-3S-5, S-4, S-2, S-1

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D19/1_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_K03C-1, C-2, C-3T-W-4, T-W-5M-4, M-2, M-1, M-3S-5, S-4, S-2, S-1, S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D19/1_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,0Uzyskanie przynajmniej 50% punktów z pisemnego kolokwium zaliczeniowego.
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D19/1_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,0Uzyskanie przynajmniej 50% z 3 zadań stawianych na laboratoriach: (1) obsługa WEKA Explorer / Experimenter, (2) umiejętność programowania z użyciem 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łceniaOcenaKryterium oceny
I_2A_D19/1_K01
Potrafi umiejętnie łączyć elementy wiedzy z inżynierii oprogramowania (projektowanie, programowanie obiektowe) z matematyczną wiedzą z zakresu sztucznej inteligencji.
2,0
3,0Zna podstawowe zadania uczenia się z danych w ramach sztucznej inteligencji.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. R. Bouckaert, E. Frank, M. Hall i in., WEKA Manual (for version 3.6), Uniwersytet w Waikato, Hamilton, Nowa Zelandia, 2010

Literatura dodatkowa

  1. L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2012, III
  2. P. Cichosz, Systemy uczące się, WNT, Warszawa, 2000
  3. T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning, Springer, New York, 2001

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Zapoznanie 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-2Zapoznanie ze środowiskiem WEKA Experimenter. Wykonanie zbiorczych eksperymentów na podstawie zadania nr 1.2
T-L-3Zapoznanie ze środiwskiem IDE Eclipse. Korzystanie z WEKA Java API. Wczytywanie danych, wyświetlanie informacji o danych, uruchamianie filtrów i algorytmów.4
10

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie 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-2Przeglą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.2
T-W-3Omó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-4Przedstawienie 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-5Algorytm 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
10

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Samodzielne 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).10
A-L-2Przeprowadzanie 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.8
A-L-3Uzupeł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.12
A-L-4Dokoń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
54
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Samodzielne uzupełnienie wiadomości o nowopoznanych algorytmach do klasyfikacji, klasteryzacji, indukcji reguł, selekcji atrybutów (około 15 algorytmów).4
A-W-2Studiowanie dokumentacji elektronicznej (.pdf) na temat środowiska WEKA oraz WEKA API.4
A-W-3Poszerzanie 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-4Przygotowanie się do kolokwium egzaminacyjnego.16
28
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D19/1_W01Rozumie 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.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W01Ma poszerzoną i pogłębioną wiedzę w zakresie wybranych działów matematyki teoretycznej oraz matematyki stosowanej
I_2A_W08Ma rozszerzoną wiedzę o podstawowych zadaniach eksploracji i analizy danych zarówno ilościowych jak i jakościowych
Cel przedmiotuC-2Przećwiczenie zasad poprawnego wykonywania zadań uczenia maszynowego (na podstawie danych) oraz dobrych praktyk przeprowadzania eksperymentów (przetwarzanie danych, testowanie modeli).
Treści programoweT-W-2Przeglą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.
T-W-5Algorytm 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.
T-W-3Omó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.
Metody nauczaniaM-4Pokaz.
M-2Wykład problemowy.
M-1Wykład informacyjny.
Sposób ocenyS-5Ocena podsumowująca: Napisanie kolokwium zaliczeniowego z wykładów.
S-4Ocena podsumowująca: Ocena zaliczeniowa z laboratoriów, jako uśrednienie ocen cząstkowych za zadania 1, 2, 3.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Uzyskanie przynajmniej 50% punktów z pisemnego kolokwium zaliczeniowego.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D19/1_U01Potrafi 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.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U09Potrafi wydobywać wiedzę zawartą w dużych zbiorach danych
I_2A_U10Potrafi wykorzystywać oprogramowanie wspomagające rozwiązywanie wybranych problemów
I_2A_U06Ma umiejętność wykrywania związków i zależności zachodzących w systemach rzeczywistych i potrafi prawidłowo zaplanować i przeprowadzić proces modelowania
I_2A_U05Potrafi prawidłowo zaplanować, przeprowadzić eksperyment badawczy, dokonać analizy i prezentacji uzyskanych wyników
Cel przedmiotuC-1Zapoznanie studentów ze środowiskiem WEKA - jako otwartą bibliotekami algorytmów eksploracji danych.
C-2Przećwiczenie zasad poprawnego wykonywania zadań uczenia maszynowego (na podstawie danych) oraz dobrych praktyk przeprowadzania eksperymentów (przetwarzanie danych, testowanie modeli).
Treści programoweT-L-1Zapoznanie 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.
T-L-2Zapoznanie ze środowiskiem WEKA Experimenter. Wykonanie zbiorczych eksperymentów na podstawie zadania nr 1.
Metody nauczaniaM-4Pokaz.
M-2Wykład problemowy.
M-1Wykład informacyjny.
M-3Metody programowane z użyciem komputera.
Sposób ocenyS-5Ocena podsumowująca: Napisanie kolokwium zaliczeniowego z wykładów.
S-4Ocena podsumowująca: Ocena zaliczeniowa z laboratoriów, jako uśrednienie ocen cząstkowych za zadania 1, 2, 3.
S-2Ocena formująca: Implementacja programu w języku Java wykonującego zadane operacje za pomocą biblioteki obiektowej WEKA Java API.
S-1Ocena formująca: Sprawozdanie pisemne z analiz danych wykonanych na 2 zbiorach danych w środowiskach WEKA Explorer i Experimenter.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Uzyskanie przynajmniej 50% z 3 zadań stawianych na laboratoriach: (1) obsługa WEKA Explorer / Experimenter, (2) umiejętność programowania z użyciem WEKA API, (3) implementacja algorytmu ridge regression i wpięcie go do WEKA Explorer.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D19/1_K01Potrafi umiejętnie łączyć elementy wiedzy z inżynierii oprogramowania (projektowanie, programowanie obiektowe) z matematyczną wiedzą z zakresu sztucznej inteligencji.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K06Potrafi myśleć i działać w sposób kreatywny i przedsiębiorczy
I_2A_K03Rozumie potrzebę przekazywania społeczeństwu informacji o rozwoju i osiągnięciach nauki w zakresie informatyki
Cel przedmiotuC-1Zapoznanie studentów ze środowiskiem WEKA - jako otwartą bibliotekami algorytmów eksploracji danych.
C-2Przećwiczenie zasad poprawnego wykonywania zadań uczenia maszynowego (na podstawie danych) oraz dobrych praktyk przeprowadzania eksperymentów (przetwarzanie danych, testowanie modeli).
C-3Połą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 programoweT-W-4Przedstawienie 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().
T-W-5Algorytm 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.
Metody nauczaniaM-4Pokaz.
M-2Wykład problemowy.
M-1Wykład informacyjny.
M-3Metody programowane z użyciem komputera.
Sposób ocenyS-5Ocena podsumowująca: Napisanie kolokwium zaliczeniowego z wykładów.
S-4Ocena podsumowująca: Ocena zaliczeniowa z laboratoriów, jako uśrednienie ocen cząstkowych za zadania 1, 2, 3.
S-2Ocena formująca: Implementacja programu w języku Java wykonującego zadane operacje za pomocą biblioteki obiektowej WEKA Java API.
S-1Ocena formująca: Sprawozdanie pisemne z analiz danych wykonanych na 2 zbiorach danych w środowiskach WEKA Explorer i Experimenter.
S-3Ocena formująca: Implementacja programu w Javie algorytmu do regresji wielomianowej z regularyzacją L2 i "podpięcie" jej do drzewa algorytmów w WEKA.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Zna podstawowe zadania uczenia się z danych w ramach sztucznej inteligencji.
3,5
4,0
4,5
5,0