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