6/10/2013
1
Materiały/konsultacje
• http://www.ibp.pwr.wroc.pl/KotulskaLab
• Konsultacje –wtorek, piątek 9-11 (uprzedzić)D1-115
Automatyczna predykcja
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
Przykład
Białka ->
Tłuszcze ->
Węglowodany ->
Nieznane relacje
zakaźne
miażdżyca
Alzheimer
wzrok
Dieta: X=[X1,X2,X3]
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/
6/10/2013
2
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.
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).
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
Kiedy uczenie maszynowe (cd)?Jakie obszary wykorzystują uczenie maszynowe?
• Data mining – wyłuskiwanie niewielkiej, użytecznej części danych z ogromnych zbiorów danych
• Sztuczna inteligencja – wnioskowanie
• ……………………………
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
6/10/2013
3
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)
• Model to 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 metody do 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 nadzoremPodstawowe modele klasyfikacji
6/10/2013
4
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)?
6/10/2013
5
Przykład do uczenia bez nadzoruPrzykł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.
6/10/2013
6
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
• 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
Ile węzłów?
Warstwy WE i WY – w zależności od problemu
Warstwa ukryta – drogą eksperymentów
6/10/2013
7
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 wij 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ła i 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)