Transcript

6/10/2013

1

Materiały/konsultacje

• http://www.ibp.pwr.wroc.pl/KotulskaLab

• Konsultacje –wtorek, piątek 9-11 (uprzedzić)D1-115

[email protected]

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)


Recommended