Wybrane zaawansowane zagadnienia uczenia

Transkrypt

Wybrane zaawansowane zagadnienia uczenia
Wybrane zaawansowane zagadnienia uczenia maszynowego
Projekt II.
9 stycznia 2014
Celem projektu jest zastosowanie wybranych metod uczenia maszynowego do rzeczywistych problemów/danych. Projekt można realizować w dowolnym języku programowania, jednak polecanymi
są Python, Matlab, Java lub R, które posiadają szereg bibliotek z ciekawymi funkcjonalnościami i
implementacjami części algorytmów. Należy wybrać jeden projekt spośród następujących:
Projekt 2.1 Lokalizacja robota.
Robot porusza się na arenie (kwadrat 1x1 ograniczony ścianami z rozstawionymi przeszkodami). W
jednej chwili czasu może przesunąć się o odległość p lub obrócić o kąt α. Robot posiada czujnik
rejestrujący odległość robota od ściany/przeszkody z pewnym zaburzeniem. Należy z użyciem dynamicznych sieci Bayesowskich i filtrów cząsteczkowych zbudować model lokalizacji robota na podstawie
historii jego ruchów oraz historii odczytów czujnika (patrz slajdy z wykładu). Zakładamy następujące
rozkłady a’priori: (x0 , y 0 ) ∼ U (0, 1) oraz α0 ∼ U (0, 2π).
Pod adresem http://students.mimuw.edu.pl/∼am248424/robot/ znajdują się pliki z częściową
implementacją lokalizacji robota w Pythonie, należy uzupełnić kod. Oczywiście można zaimplementować własną wersję w innym języku programowania.
Projekt 2.2 Rozpoznawanie pisma ręcznego, multi-task learning.
Pod adresem http://www.seas.upenn.edu/∼taskar/ocr/ znajduje się zbiór danych (zebrany przez
Roba Kassela z MIT Spoken Language Systems Group), który składa się z liter alfabetu pisanych
ręcznie przez różnych autorów. Litery są zapisane w postaci wektorów 0-1 (zapis wierszowy: pierwsze
8 cyfr to pierwszy wiersz obrazka itd.), które reprezentują obrazek o wymiarach 8x16 pikseli. Dla
każdego z piszących liczba przykładowych liter waha się między 4 a 30. Każdy piszący inaczej pisze
daną literę, ale mimo to litery mają wiele wspólnego, dlatego uzasadnionym wydaje się być użycie
modeli multi-task. Należy zbudować taki model, który będzie rozróżniał litery podobne do siebie: c/e,
g/y, m/n, a/o, h/n itp. Taki model został opisany w pracy
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.951&rep=rep1&type=pdf.
1
Można więc porównać swoje wyniki do wyników autorów artykułu.
Projekt 2.3 Rozpoznawanie pisma ręcznego, deep learning.
Cel tego projektu jest analogiczny do projektu 2.2, ale do jego realizacji należy użyć metod uczenia
głębokiego (deep learning).
TERMIN i zasady zaliczenia
Termin oddawania projektów to 29.01.2014 do godziny 23:55. Jako efekt pracy powinien powstać raport
(do 8 stron A4) w formacie .pdf, który należy przesłać na adres [email protected],
trzeba też będzie krótko zreferować swoje wyniki na zajęciach 30.01.2014 i odpowiedzieć na kilka pytań
dotyczących pracy nad projektem. Tak jak poprzednio projeky mogą być wykonywane w parach, ale
muszą to być inne pary niż przy pierwszym projekcie.
2