Materiały/konsultacje Automatyczna predykcja http://www.ibp.pwr.wroc.pl/kotulskalab Konsultacje wtorek, piątek 9-11 (uprzedzić) D1-115 malgorzata.kotulska@pwr.wroc.pl Co to jest uczenie maszynowe? Uczenie maszynowe to wnioskowanie o nieznanych zależnościach pomiędzy danymi wejściowymi (zmienne niezależne, cechy, predyktory) a wyjściowymi (zmienne zależne, odpowiedź). Zależność pomiędzy WE i WY nie zawsze może być przedstawiona w formie analitycznej funkcji lub innej relacji typu explicite. Często przyjmuje formę czarnej skrzynki, działającej wg. określonego algorytmu uzyskanego z uczenia W przypadku danych, dla których nie istnieje WY jest to wnioskowanie o prawdopodobieństwie równoczesnego wystąpienia pewnego zespołu cech Białka -> Tłuszcze -> Węglowodany -> Dieta: X=[X1,X2,X3] Przykład Nieznane relacje zakaźne miażdżyca Alzheimer wzrok Przewidywana zapadalność na schorzenia (klasa choroby lub przewidywana data) Google buduje wehikuł czasu Google Prediction API, maj 2010 http://code.google.com/intl/pl/apis/predict/ 1
Rozpoznawanie twarzy Kiedy uczenie maszynowe? W przypadku danych określonych deterministycznie wystarczy znać funkcję wiążącą dane wejściowe z wyjściowymi. Mając zestaw uczący można próbować tę funkcję aproksymować (dopasowanie, z ang. fitowanie ), co jest tym skuteczniejsze im lepiej znamy typ funkcji (np. wielomian, wykładnicza, etc) i ilość wolnych parametrów. Kiedy uczenie maszynowe (cd)? W przypadku danych ze składową losową, np. seria pomiarów określona za pomocą pewnego ciągu funkcji gęstości prawdopodobieństwa lub zaburzona losowym szumem (patrz poprzedni wykład o analizie medycznych szeregów czasowych) zadanie jest znacznie trudniejsze. Często nie istnieje żadna funkcja analityczna wiążąca dane wyjściowe z klasąobiektu lub wartościąodpowiedzi. Aproksymacja opierać się może na modelu nauczonym na danych uczących (czyli o znanej odpowiedzi na zadane dane wejściowe). Jakie obszary wykorzystują uczenie maszynowe? Data mining wyłuskiwanie niewielkiej, użytecznej części danych z ogromnych zbiorów danych Sztuczna inteligencja wnioskowanie Model może szacować zależność pewną funkcją (np. regresja liniowa) lub generować odpowiedź za pomocą czarnej skrzynki, czyli bez ujawniania typu zależność w postaci analitycznej -explicite Rodzaje uczenia maszynowego Uczenie maszynowe z nadzorem (ang. supervised learning) Uczenie maszynowe bez nadzoru (ang. unsupervised learning) Popularna metoda uczenia maszynowego z nadzorem Sieci neuronowe 2
Uczenie z nadzorem Mamy pewien zbiór danych tzw. zbiór uczący, w którym znamy zmienną wejściową i wynikającą z niej zmienną wyjściową. Na tej podstawie możemy próbować znaleźć relacje, które łączą WE z WY i przewidywać WY dla nowych danych (spoza zbioru uczącego) Komputerowa metoda znajdowania tych relacji (na podstawie odpowiednio dużego zbioru uczącego) jest metodą uczenia maszynowego Uczenie z nadzorem Mamy pewien zbiór danych tzw. zbiór uczący, w którym znamy zmienną wejściową i wynikającą z niej zmienną wyjściową. Na tej podstawie możemy próbować znaleźć ukryte relacje, które łączą WE z WY i przewidywać WY dla nowych danych (spoza zbioru uczącego) Modelto komputerowa metoda znajdowania tych relacji (na podstawie odpowiednio dużego zbioru uczącego) - metoda uczenia maszynowego Przykład spam w emailu Zbiór uczący: e-maile, o których wiemy, czy są spamem, czy wiadomościami Zbiór testowy: e-maile przychodzące na serwer, o których nie mamy takiej informacji, a jest nam potrzebna do ustawienia filtru Cechy (zmienna niezależna): np. zbiór słów w tytule albo.? Problemy w uczeniu maszynowym Wybór optymalnej metodydo wyznaczenia modelu Właściwy dobór cech znaczących w uczeniu (redukcja cech nadmiarowych). Podaj możliwe zestawy cech w przykładzie ze spamem emailowym i redukcję. Właściwy dobór optymalnego i reprezentatywnego zbioru uczącego Funkcja oceny akceptowalności wyniku Przykładowe metody w uczeniu z nadzorem Sieci neuronowe Drzewa decyzyjne SVM (ang. Support Vector Machines) Metody liniowe i najmniejszych kwadratów Metoda najbliższych sąsiadów Metody Bayesa Ukryte modele Markova Algorytmy genetyczne Gramatyki formalne. Uczenie z nadzorem Podstawowe modele klasyfikacji 3
Uczenie z nadzorem: klasyfikacja i regresja KLASYFIKACJA -Uczenie z nadzorem, w którym WY jest podane w sposób jakościowy podział na klasy (np. spam-niespam; choroba krążenia czy choroba zakaźna) REGRESJA-Uczenie z nadzorem, w którym WY jest podane w sposób ilościowy liczbowo (np. przewidywany czas zapadnięcia na schorzenie; poziom korelacji pomiędzy wielkościami) WEKA http://www.cs.waikato.ac.nz/ml/weka Uczenie bez nadzoru - klastering Obserwujemy tylko cechy (zmiennę wejściową) ale zmiennej wyjściowej nie znamy (lub nie istnieje). Nie istnieje więc zbiór uczący, który umożliwi nam wyznaczenie modelu zależności Nie wyznaczamy więc tych zależności interesuje nas tylko grupowanie danych w tzw. klastry, których elementy są w jakiś sposób do siebie podobne. Innymi słowy chcemy wnioskować o prawdopodobieństwie (tzn. funkcji gęstości prawd.) znalezienia się obiektu (zdefiniowanego poprzez wektor cech) w określonym miejscu przestrzeni Problem do uczenia bez nadzoru (klastrowanie; grupowanie) Kompresja obrazów (np. grupowanie właściwości kolorystycznych) Jak pogrupować ludzi podobnych na podstawie danych demograficznych? Np. jak dowiedzieć się o prawdopodobieństwie wystąpienia pewnych zestawów cech w populacji (np. osoby o dużych dochodach i nie leczonych zębach)? 4
Przykład do uczenia bez nadzoru Przykładowe metody w uczeniu bez nadzoru Algorytm k-średnich Grupowanie hierarchiczne Grupowanie skupione (ang. agglometrative clustering) Grupowanie dzielące (ang. divisive clustering) Grupowanie spektralne Skalowanie wielowymiarowe Zachowanie klasyfikatora dla różnych k w metodzie k-średnich Sztuczne sieci neuronowe. Zastosowanie w uczeniu z nadzorem i analizie skupień Literatura R. Tadeusiewicz, Sieci neuronowe S. Ossowski, Sieci neuronowe w ujęciu algorytmicznym Samouczek - http://nrn.prv.pl/ MÓZG ODPORNY NA USZKODZENIA; ELASTYCZNY ŁATWO DOSTOSOWUJE SIĘ DO ZMIENNEGO OTOCZENIA; UCZY SIĘ - NIE MUSI BYĆ PROGRAMOWANY; POTRAFI RADZIĆ SOBIE Z INFORMACJĄ ROZMYTĄ, LOSOWĄ, ZASZUMIONĄ LUB NIESPÓJNĄ; W WYSOKIM STOPNIU RÓWNOLEGŁY; MAŁY, ZUŻYWA BARDZO MAŁO ENERGII. 5
Inspiracje biologiczne Neuron McCullocha-Pittsa Odpowiedź pojedynczego neuronu liniowego Perceptron wielowarstwowy Ile warstw? Sieć 1 warstwowa rozwiązuje tylko problemy liniowe Sieć dwuwarstwowa dzieli obszar na spójne i wypukłe klasy Ile węzłów? Warstwy WE i WY w zależności od problemu Warstwa ukryta drogą eksperymentów Sieć trzywarstwowa rozwiąże każdy problem klasyfikacji/regresji, ale ze względu na redukcję węzłów w jednej warstwie stosuje się czasem sieci czterowarstwowe 6
Możliwości klasyfikacji Wyznaczanie wag Algorytm wstecznej propagacji błędów Jest to podstawowy algorytm uczenia nadzorowanego wielowarstwowych jednokierunkowych sieci neuronowych. Podaje on przepis na zmianę wag w ij dowolnych połączeń elementów przetwarzających rozmieszczonych w sąsiednich warstwach sieci. Oparty jest on na minimalizacji sumy kwadratów błędów uczenia z wykorzystaniem optymalizacyjnej metody największego spadku. Funkcje aktywacji Neuron typu sigmoidalnego ma strukturę podobną do modelu McCullocha-Pittsa, z tą różnicą, że w przeciwieństwie do perceptronu funkcja aktywacji jest ciągłai przyjmuje postać funkcji sigmoidalnej unipolarnej (0,1) lub bipolarnej (-1,1). Funkcja unipolarna ma zwykle postać natomiast bipolarna Sieć Hopfielda to sieć autoasocjacyjna (każdy z każdym) 7