Uczenie maszynowe i sieci neuronowe
(Machine Learning and Neural Networks)

Osoba odpowiedzialna na za przedmiot i prowadzaca wyklad:
   dr hab. inż. Jerzy Stefanowski
, prof. PP
Osoby wspolprowadzace laboratoria i projekty:
      dr inż. Maciej Komosinski

(Ponadto w przygotowaniu przedmiotu brał udział dr inż. Krzysztof Krawiec, prof PP)

Semestr jesienny - wykład 2 godz. oraz laboratorium 2 godz.
Wstepnie planowany termin wykładu – piatek 13.30-15.00 sala CW6
laboratoria:czwartki (+ extra grupa obieralna)


Wydano skrypt do tego przedmiotu - spójrz na okładkę i spis treści

1. Cel przedmiotu:

Zadaniem przedmiotu jest wprowadzenie do problematyki tworzenia systemów posiadających zdolności uczenia się na przykładach i w rezultacie doskonalenia swojego działania. Dziedzina uczenia maszynowego (termin ang. Machine Learning) zyskuje obecnie rosnącą popularność z uwagi na rozwój zarówno nowych algorytmów jak i zastosowań. Celem końcowym przedmiotu jest przygotowanie studentów do samodzielnego rozwiązywania praktycznych problemów z zakresu uczenia maszynowego i tworzenia inteligentnych systemów informatycznych.

2. Zakres wykładów i laboratoriów

Pojęcia podstawowe z zakresu uczenia maszynowego. Typowe zastosowania sieci neuronowych i metod uczenia maszynowego. Definiowanie i reprezentowanie zbioru przykładów uczących. Algorytmiczna teoria indukcji. Wykorzystane metod indukcyjnych do tworzenia systemów klasyfikujących. Kryteria oceny systemów. Algorytm eliminacji kandydatów (przestrzeń wersji). Przegląd wybranych algorytmów budowania drzew decyzyjnych (ID3, C4.5) oraz tworzenia reguł (AQ, CN2, MODLEM, RIPPER). Systemy uczenia się z wcześniej zapamiętanych przypadków (k-NN oraz IBL). Klasyfikatory bayesowskie. Zasada minimalnej długości kodu. Selekcja atrybutów. Statystyczne podejścia do konstruowania systemów uczących (SVM). Geneza sieci neuronowych.  Sieci wielowarstwowe i algorytm wstecznej propagacji błędów. Metody zwiększania efektywności uczenia sieci. Pamięci autoasocjacyjne. Uczenie nienadzorowane sieci neuronowych (sieci Kohonena). Indukcyjne programowanie logiczne (ILP). Systemy uczące się o zaawansowanej architekturze (klasyfikatory złożone). Aktywne i pasywne tryby uczenia się. Powiązanie uczenia maszynowego z problematyką odkrywania wiedzy w bazach danych. Metodyka tworzenia i stosowania systemów uczących się.

W ramach ćwiczeń laboratoryjnych studenci będą wykorzystywali gotowe systemy zawierające implementacje algorytmów nadzorowanego uczenia symbolicznego (np. regułowe CN2, LEM; drzewiaste C4.5 oraz środowisko WEKA) oraz programowych symulatorów sieci neuronowych (Statistica Neural Networks) do analizy dostarczonych problemów praktycznych.
 

Plan ćwiczeń oraz instrukcje do przebiegu laboratorium dostępne są na stronie osoby prowadzacej laboratorium - obecnie dr Komosinski.


Zasady zaliczeń

Obecnie wykład zaliczony na podstawie testu w formie pisemnej. Powinno się dokonać wcześniej zaliczenia ćwiczeń laboratoryjnych. Podczas laboratorium należy wykonać ćwiczenia (niektóre wymagają wykonania sprawozdań), zadania domowe oraz zaliczyć sprawdziany.


Plan wykładu

Wykład 1:  Wprowadzenie do maszynowego uczenia się Prostsza wersja slajdow; Pelniejsza wersja slajdow
Wykład 2:  Indukcja drzew decyzyjnych cz 1. (czesc starszych slidow)
Wykład 3:  Indukcja drzew decyzyjnych cz 2 - nowsze materialy bezposrednio u prowadzacego wyklad
Wykład 3:  Indukcja regul decyzyjnych. (skorzystaj z moich innych slajdow anglojezycznych)
Wykład 5:  Algorytmy k-NN i uczenie się na wcześniej zapamiętanych przypadkach (oraz selekcja atrybutów).
Wykład 6:  Klasyfikacja bayesowska, naiwny klasyfikator bayesowski i zasada minimalizacji długości kodu.
Wykład 7 Empiryczna ocena algorytmów uczących się .
Wykład 8 Wprowadz. do sztucznych sieci neuronowych . Wielowarstwowe sieci neuronowe cz 1.
Wykład 9:  Sieci wielowarstwowe cz 2 (algorytm "backpropagation") Spojrz takze na przegladowy wyklad anglojezyczny.
Wykład 10: Uczenie nienadzorowane sieci neuronowych. Sieci neuronowe Kohonena
Wykład 11: Sieci samoorganizujące SOM i sieci RBF
Wykład 12: Statystyczne systemy uczące się - klasyfikatory liniowe i SVM
Wykład 13: Złożone systemy uczące się (multiple classifiers / ensembles) - Wyklad w wersji anglojezycznej
Wykład 14: Indukcyjne programowanie logiczne.
Wykład 15: Uczenie się z częściowo etykietowanych danych. Aktywne uczenie się i inne zaawansowane zagadnienia.
Wykład podsumowujacy: Przeglad innych zagadanien i uwagi podsumowujace.

Pliki ze slajdami do niektórych wykładów będą dostępne stopniowo. Część wykładów nt. sztucznych sieci neuronowych dostepna jest na stronie prof. Krawca .


Literatura


Zasoby sieciowe poświęcone Maszynowemu Uczeniu się

Poniżej zamieszczam kilka podstawowych odwołań, inne umieszczone są na w mojej liście dostępnej na stronie prywatnej jako  my favourite links .  

Materiały pomocnicze do zajęć

Jerzy Stefanowski
Strona utworzona: 29.09.1998, ostatnia modyfikacja: 17. 05. 2010