Metody klasyfikacji danych - część 2 p.1/55

Podobne dokumenty
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Elementy inteligencji obliczeniowej

Zastosowania sieci neuronowych

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Metody Sztucznej Inteligencji II

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

8. Neuron z ciągłą funkcją aktywacji.

SVM: Maszyny Wektorów Podpieraja cych

Metody klasyfikacji danych - część 1 p.1/24

wiedzy Sieci neuronowe

Wrocław University of Technology. Uczenie głębokie. Maciej Zięba

Podstawy Sztucznej Inteligencji (PSZT)

Deep Learning na przykładzie Deep Belief Networks

7. Maszyny wektorów podpierajacych SVMs

Popularne klasyfikatory w pakietach komputerowych

Metody systemowe i decyzyjne w informatyce

Uczenie sieci typu MLP

Optymalizacja systemów

Inteligentne systemy przeciw atakom sieciowym

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

6. Perceptron Rosenblatta

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

UCZENIE MASZYNOWE III - SVM. mgr inż. Adam Kupryjanow

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

Metody systemowe i decyzyjne w informatyce

Podstawy sztucznej inteligencji

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Sieć przesyłająca żetony CP (counter propagation)

Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

METODY INŻYNIERII WIEDZY

Rozpoznawanie obrazów

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

WYKŁAD: Perceptron Rosenblatta. Maszyny wektorów podpierających (SVM). Empiryczne reguły bayesowskie. Zaawansowane Metody Uczenia Maszynowego

Widzenie komputerowe

Zastosowania sieci neuronowych

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Sztuczne sieci neuronowe

Uczenie sieci neuronowych i bayesowskich

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Lekcja 5: Sieć Kohonena i sieć ART

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Optymalizacja ciągła

1. Logika, funkcje logiczne, preceptron.

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Wprowadzenie do uczenia maszynowego

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III

Rozpoznawanie obrazów

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Sztuczna inteligencja

Sztuczne sieci neuronowe (SNN)

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

Sztuczne Sieci Neuronowe

Sztuczne sieci neuronowe

A Zadanie

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

wiedzy Sieci neuronowe (c.d.)

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Uczenie Wielowarstwowych Sieci Neuronów o

Metody systemowe i decyzyjne w informatyce

Biometria WYKŁAD 7: ROZPOZNAWANIE I KLASYFIKACJA OBIEKTÓW

OCENA DZIAŁANIA AE. METODY HEURYSTYCZNE wykład 4 LOSOWOŚĆ W AE KRZYWE ZBIEŻNOŚCI ANALIZA STATYSTYCZNA:

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

Wstęp do sztucznych sieci neuronowych

Metody systemowe i decyzyjne w informatyce

AUTOMATYKA INFORMATYKA

SZTUCZNA INTELIGENCJA

SID Wykład 8 Sieci neuronowe

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Wprowadzenie do sieci neuronowych i zagadnień deep learning

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Rozpoznawanie obrazów

I EKSPLORACJA DANYCH

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

Uczenie sieci radialnych (RBF)

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Systemy Inteligentnego Przetwarzania wykład 7: Sieci RBF

ESI: Perceptrony proste i liniowe

Algorytm grupowania danych typu kwantyzacji wektorów

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.

Sieci neuronowe w Statistica

Transkrypt:

Metody klasyfikacji danych - część 2 Inteligentne Usługi Informacyjne Jerzy Dembski Metody klasyfikacji danych - część 2 p.1/55

Plan wykładu - AdaBoost - Klasyfikacja metoda wektorów wspierajacych (SVM) - Klasyczne sztuczne sieci neuronowe - Głębokie uczenie (Deep Learning) Metody klasyfikacji danych - część 2 p.2/55

Algorytm AdaBoost for każdy przykład do uczenia {(x 1,c 1 ),(x 2,c 2 )...(x K,c K )} przypisz wagom wartości poczatkowew i = 1, gdziek K c jest liczba przykładów, które należa do tej samej klasy c co i-ty c przykład end for while bład fałszywie pozytywnych f > f max or proporcja prawdziwie pozytywnych d < d min 1. normalizuj wagi: w i w i Kj=1 w j 2. wybierz słaby klasyfikator h t (x), który minimalizuje ważony bład klasyfikacji: ǫ t = min K j i=1 w i h j (x i ) c i 3. ǫ zmniejsz wagi poprawnie klasyfikowanych przykładów: w i w t i 1 ǫ t 4. znajdź wartość progu Θ dla silnego klasyfikatora dajac a jak najmniejsza wartość błędu fałszywie pozytywnych, podczas gdy d >= d min end while Metody klasyfikacji danych - część 2 p.3/55

Algorytm AdaBoost - prosty przykład Słaby klasyfikator progowy jest reprezentowany funkcja 4-argumentowa: h(x,f,θ,p), gdzie x - wektor cech, f - cecha, θ - wartość progu, p - polaryzacja h 1 h 3 h 2 H h 1 + + h 2 h 3 Metody klasyfikacji danych - część 2 p.4/55

Algorytm AdaBoost - wzór na silny klasyfikator Silny klasyfikator zawierajacy T słabych klasyfikatorów: H(x) = 1 if T t=1 α th t (x) Θ 0 w przeciwnym razie, gdzie α t = log(1 ǫ t ) logǫ t jest waga t-tego słabego klasyfikatora, h t (x) wartość na wyjściu t-tego słabego klasyfikatora, x obraz wejściowy, Θ wartość progu. Metody klasyfikacji danych - część 2 p.5/55

Algorytm AdaBoost - granice decyzji Granice decyzji dla zadania klasyfikacji punktów i przy różnej liczbie słabych klasyfikatorów T : a) 1, b) 5, c) 10, d) 50, e) 100, f) 1000. a) b) c) 16 14 klasa 1 klasa 2 16 14 16 14 12 12 12 10 10 10 8 8 8 6 6 6 4 4 4 2 klasa 1 klasa 2 2 klasa 1 klasa 2 2 klasa 1 klasa 2 0 0 5 10 15 0 0 5 10 15 d) e) f) 16 16 0 0 5 10 15 16 14 14 14 12 12 12 10 10 10 8 8 8 6 6 6 4 4 4 2 klasa 1 klasa 2 2 klasa 1 klasa 2 2 klasa 1 klasa 2 0 0 5 10 15 0 0 5 10 15 0 0 5 10 15 Metody klasyfikacji danych - część 2 p.6/55

Algorytm AdaBoost w detekcji twarzy Wymagania: Znormalizowane położenie twarzy w przykładach uczacych Znormalizowane średnia i wariancja jasności pikseli Kaskadowa wersja klasyfikatora AdaBoost (przewaga obrazów negatywnych) Cechy obrazów: Różnice średnich jasności pikseli w obszarach prostokatowych (HAAR Features) Lokalne cechy binarne (CENSUS, Local Binary Features (LBF)) Histogram kierunków gradientów (Histogram of Oriented Gradients (HOG)) Zgrupowane binarne cechy prostokatowe, Lokalne zgrupowane cechy binarne (LAB) Metody klasyfikacji danych - część 2 p.7/55

Kaskada silnych klasyfikatorów image Layer 1 object non-object Layer 2 non-object object Layer 3 object non-object Layer 4 object non-object Zaleta kaskady - odrzucanie dużej liczby obrazów negatywnych małym kosztem obliczeniowym w przypadku dużej przewagi obrazów negatywnych podczas skanowania zdjęcia lub obrazu z kamery Metody klasyfikacji danych - część 2 p.8/55

Schemat uczenia kaskady silnych klasyfikatorów w zadaniu detekcji obiektów START CASCADE LAYER CONSTRUCTION MODULE Cropped training images Positive examples Negative examples False positive detections Prepare feature libraries for training Add the layer with classifier definition DETECTION MODULE Photo images without objects repository No target Yes END Metody klasyfikacji danych - część 2 p.9/55

Typy cech prostokątowych (Haar features) w detekcji twarzy Użycie obrazu całkowego: Suma jasności pikseli w prostokacie ABCD = B+D-A-C Dodatkowe założenia: każde okno prostokatne cechy może być skalowane i przesuwane w obszarze obrazu, średnie i wariancje jasności pikseli obrazów w zbiorze do uczenia i do testu (detekcji) musza być takie same. Metody klasyfikacji danych - część 2 p.10/55

Zmodyfikowany Census Przykład obliczania wartości cech zmodyfikowanego Census: k 240 125 120 e > mean 1 1 0 w 90 120 107 58 94 127 0 0 0 0 0 1 feature parameters: (w,k) mean = 120.11 1 2 4 8 16 32 64 128 256 sum feature value 259 classification classification parameters 1 2 3 4 5 6 259 511 512 0 1 0 0 1 0 1 0 0 class 1 Metody klasyfikacji danych - część 2 p.11/55

Zmodyfikowany Census Uczenie słabego klasyfikatora: x best = argmin x (ǫ(x)) ǫ(x) = γ min{g0 (x,γ),g 1 (x,γ)}, gdzie x - wektor parametrów cech: (w,k) lub (w,k,s) w wersji wieloskalowej, γ - numer wzorca (od 1 do 512), g c (x,γ) - ważona suma przykładów uczacych klasy c {0,1} Numer klasy dla wybranej cechy x best i wzorca γ: c γ = 0 jeśli g 0 (x best,γ) < g 1 (x best,γ) 1 w przeciwnym wypadku. c 1 c 2 c 3 c 4 c 5 c 6 c 512 Metody klasyfikacji danych - część 2 p.12/55

AdaBoost: zestawienie typów cech i słabych klasyfikatorów typ cechy typ klasyfikatora parametry cechy p f parametry klasyfikatora p c prostokatowa (Haar) progowy współrzędne lewego górnego i prawego dolnego narożnika prostokata, orientacja prostokata (tylko cechy krawędziowe i liniowe) Z.Census tabelaryczny współrzędne centralnego piksela siatki 3x3 (w,k) próg decyzji, polaryzacja wektor binarny klas: numery klas dla wszystkich możliwych wzorców Metody klasyfikacji danych - część 2 p.13/55

Przykładowa krzywa ROC 1 0.9 0.8 correct detection rate d 0.7 0.6 0.5 0.4 0.3 0.2 0.1 Census 24 (11 levels) Census multiscaled 24 (17 levels) 0 10 10 10 8 10 6 10 4 10 2 10 0 false positive error f Metody klasyfikacji danych - część 2 p.14/55

SVM: problem klasyfikacji Zbiór danych - przykładów (każdy przykład i zawiera wektor cech obrazu x i oraz klasę d i, do której należy): P = {(x i,d i )} K i=1, x i X R N, d i { 1,1}. Cel uczenia: znaleźć hiperpłaszczyznę (np. prosta o równaniu w 1 x 1 + w 2 x 2 + b = 0) dzielac a skupiska punktów należa- cych do klas 1 i 1 z jak najszerszym marginesem. Granice tego marginesu sa wyznaczane przez wybrane wektory x i - tzw. wektory wspierajace. Metody klasyfikacji danych - część 2 p.15/55

SVM: optymalna hiperpłaszczyzna x 2 margines optymalna hiperp³aszczyzna w T x + b = 0 w T x + b = 1 w T x + b = -1 wektory wspieraj¹ce x 1 szerokość marginesu = 2 w Metody klasyfikacji danych - część 2 p.16/55

SVM: szukanie optymalnej hiperpłaszczyzny maksymalizacja marginesu: min w,b 1 2 w 2, przy ograniczeniach: d i ( w T x i +b ) 1, i = 1,...,K. Metody klasyfikacji danych - część 2 p.17/55

SVM: szukanie optymalnej hiperpłaszczyzny Metoda mnożników Lagrange a: 1. definicja lagrangiana: L = 1 2 w 2 K i=1 α i(d i ( w T x i +b ) 1), 2. tzw. dualny problem optymalizacyjny (szukanie punktu siodłowego): minimalizacja L ze względu na w oraz b maksymalizacja L względem α i, i = 1,...,K. Metody klasyfikacji danych - część 2 p.18/55

SVM: minimalizacjalze względu na w oraz b przyrównanie pochodnych do zera: δl δb = 0, δl δw = 0, co daje K α i d i = 0, i=1 w = K α i d i x i. i=1 Metody klasyfikacji danych - część 2 p.19/55

SVM: maksymalizacjalwzględemα problem programowania kwadratowego (QP): max α K α i 1 2 i=1 przy ograniczeniach: K i,j=1 K α i d i = 0, i=1 α i α j d i d j x T i x j, α i 0, i = 1,...,K, α i (d i ( w T x i +b ) 1) = 0, i = 1,...,K. Metody klasyfikacji danych - część 2 p.20/55

SVM: klasyfikacja numer klasy dla obrazu x j : ( S f(x j ) = sgn i=1 ) α i d i x T j x i +b, gdzie S - liczba wektorów wspierajacych (zwykle dużo mniejsza niż liczba wszystkich przykładów K) Metody klasyfikacji danych - część 2 p.21/55

SVM: przykład zadania nieseparowalnego Metody klasyfikacji danych - część 2 p.22/55

SVM: zadania liniowo nieseparowalne Metody rozwiazywania zadań nieseparowalnych: - Ograniczenie wartości mnożników Lagrange a α i C, i = 1,...,K Metody klasyfikacji danych - część 2 p.23/55

SVM: zadania liniowo nieseparowalne Metody rozwiazywania zadań nieseparowalnych: - Ograniczenie wartości mnożników Lagrange a α i C, i = 1,...,K - Zastosowanie współczynników rozluźniajacych ξ i 0 : d i ( w T x i +b ) 1 ξ i, i = 1,...,K Metody klasyfikacji danych - część 2 p.23/55

SVM: zadania liniowo nieseparowalne Metody rozwiazywania zadań nieseparowalnych: - Ograniczenie wartości mnożników Lagrange a α i C, i = 1,...,K - Zastosowanie współczynników rozluźniajacych ξ i 0 : d i ( w T x i +b ) 1 ξ i, i = 1,...,K - Przejście do nowej przestrzeni cech: Φ : R N R M Metody klasyfikacji danych - część 2 p.23/55

SVM: funkcja jądra dokonujac podstawienia: x T i x j kernel(x i,x j ) = Φ(x i ) T Φ(x j ), otrzymujemy nowa postać problemu QP: max α K α i 1 2 i=1 K i,j=1 oraz funkcji klasyfikacji SVM: ( S f(x j ) = sgn i=1 α i α j d i d j kernel(x i,x j ), ) α i y i kernel(x i,x j )+b Metody klasyfikacji danych - część 2 p.24/55

SVM: typy funkcji jądra kernel(x i,x j ) = x T i x j liniowa, (x T i x j +θ) p wielomianowa, exp ( x i x j 2 ) radialna. σ 2 Metody klasyfikacji danych - część 2 p.25/55

SVM: funkcja kwadratowa kernel(u,v) = (u T v) 2 = ([u 1,u 2 ][v 1,v 2 ] T ) 2 = = u 2 1v1 2 +2u 1 v 1 u 2 v 2 +u 2 2v2 2 = = [u 2 1, 2u 1 u 2,u 2 2][v1, 2 2v 1 v 2,v2] 2 T = = Φ(u) T Φ(v). Metody klasyfikacji danych - część 2 p.26/55

SVM: schemat klasyfikacji numer klasy sgn( ) 1 2 S ( ) ( ) ( ) ( x 1 ) ( x 2 ) (z) ( x s ) iloczyn skalarny przejœcie do przestrzeni cech } funkcja j¹dra K( z, xi) = ( z) T ( x i ) obrazy (wektory) wspieraj¹ce obraz rozpoznawany Metody klasyfikacji danych - część 2 p.27/55

a) b) c) 16 16 16 14 14 14 12 12 12 10 10 10 8 8 8 6 6 6 4 4 4 2 klasa 1 klasa 2 2 klasa 1 klasa 2 2 klasa 1 klasa 2 0 0 2 4 6 8 10 12 14 16 0 0 2 4 6 8 10 12 14 16 d) e) f) 0 0 2 4 6 8 10 12 14 16 16 16 16 14 14 14 12 12 12 10 10 10 8 8 8 6 6 6 4 4 4 2 klasa 1 klasa 2 2 klasa 1 klasa 2 2 klasa 1 klasa 2 0 0 2 4 6 8 10 12 14 16 0 0 2 4 6 8 10 12 14 16 0 0 2 4 6 8 10 12 14 16 Granice decyzji dla przykładowego zadania klasyfikacji wektorów obserwacji o N = 2 punkty-1 dla klasyfikata SVM z różnymi funkcjami jadra: a) wielomian 2-stopnia, b) wielomian 3-stopnia, c) wielomian 4-stopnia, d) funkcja radialna σ = 1.0, e) funkcja radialna σ = 2.0, f) funkcja radialna σ = 5.0. Wektory wspierajace pogrubiono, granicę decyzji zaznaczono czarna, pogrubioną krzywa. Metody klasyfikacji danych - część 2 p.28/55

Sztuczne sieci neuronowe: Model neuronu z progową bipolarną funkcją aktywacji y b w 1 w2 w 3 w N x 1 x 2 x 3 x N Funkcja, która taka sieć reprezentuje wyraża się wzorem: N f(x) = y = sgn( w i x i +b) = sgn(w T x+b), i=1 Metody klasyfikacji danych - część 2 p.29/55

Model neuronu z progową unipolarną funkcją aktywacji w 1 w 2 w Σ 1,0 x 1 x 2 x 3 x N Funkcja, która taka sieć reprezentuje wyraża się wzorem: N f(x) = y = hardlim( w i x i +b) = hardlim(w T x+b), i=1 Metody klasyfikacji danych - część 2 p.30/55

Interpretacja geometryczna funkcji reprezentowanej przez neuron Prosta wyznaczajaca półpaszczyznę klasy 1. y x 2 Σ b 1,0 x 1 w 1 w 2 x 1 x 2 w 1 x 1 + w 2 x 2 + b = 0 Metody klasyfikacji danych - część 2 p.31/55

Płaszczyzna separująca przestrzeń na dwie półprzestrzenie Σ w 1 w 2 w 1,0 x 1 x 2 x 3 Metody klasyfikacji danych - część 2 p.32/55

Możliwość reprezentowania funkcji logicznych alternatywa: x 1 x 2 w 1 = 1 w 2 = 1 b = -0.5 koniunkcja: x 1 x 2 w 1 = 1 w 2 = 1 b = -1.5 x 2 x 2 klasa 1 1,0 punkt (1,1) 1,0 punkt (1,1) klasa 1 0,5 0,5 0 0,5 1,0 x 1 0 0,5 1,0 x 1 klasa 0 klasa 0 Metody klasyfikacji danych - część 2 p.33/55

Możliwość reprezentowania funkcji logicznych alternatywa: x 1 x 2 w 1 = 1 w 2 = 1 b = -0.5 koniunkcja: x 1 x 2 w 1 = 1 w 2 = 1 b = -1.5 x 2 x 2 klasa 1 1,0 1 1 punkt (1,1) 1,0 0 1 punkt (1,1) klasa 1 0,5 0,5 0 0 0,5 1 1,0 x 1 0 0 0 0,5 1,0 x 1 klasa 0 klasa 0 Metody klasyfikacji danych - część 2 p.34/55

Możliwość reprezentowania funkcji logicznych w 1 = -1 x 1 ~ x 2 w 2 = 1 b = -0.5 w 1 = 1 ~ x 1 x 2 w 2 = -1 b = -0.5 x 2 klasa 1 x 2 klasa 1 1,0 punkt (1,1) 1,0 punkt (1,1) 0,5 0,5 0 0,5 1,0 x 1 0 0,5 1,0 x 1 klasa 0 klasa 0 Metody klasyfikacji danych - część 2 p.35/55

Problem parzystości - XOR problem XOR x 2 1,0 1 0 punkt (1,1) 0,5? 0 1 0 0,5 1,0 x 1 Metody klasyfikacji danych - część 2 p.36/55

XOR - interpretacja geometryczna problem XOR x 2 punkt (1,1) 1,0 0,5 0 0 0,5 1,0 x 1 Metody klasyfikacji danych - część 2 p.37/55

Sieć dwuwarstwowa reprezentująca XOR Metody klasyfikacji danych - część 2 p.38/55

Metody uczenia perceptronu Metody uczenia: Hebba: w w+αy i x i (uczenie bez nauczyciela), Delta: w w+α(d i y i )x i, uogólniona Delta: w w +α(d i y i )f (x i )x i, gdzie y i - wyjście po prezentacji i-tego przykładu x i, d i - pożadana wartość (klasa) na wyjściu, α - współczynnik szybkości uczenia, np. 0,5, f (x i ) - pochodna funkcji aktywacji. Sposoby prezentacji przykładów uczacych: Przyrostowy - aktualizacja wag po prezentacji każdego przykładu) Wsadowy (ang. batch) - aktualizacja wag po prezentacji wszystkich przykładów) Mini-batch - aktualizacja wag po prezentacji niewielkiego losowego podzbioru przykładów Metody klasyfikacji danych - część 2 p.39/55

Przykład uczenia perceptronu z progową unipolarną funkcją aktywacji y x 2 Σ w 1 w 2 b 1,0 x 1 x 1 x 2 w 1 x 1 + w 2 x 2 + b = 0 Warunki poczatkowe: w 1 = w 2 = 1,b = 0 Współczynnik szybkości uczenia: α = 0.5 Reguła korekty wag Delta: w w+α(d i y i )x i Sposób prezentacji przykładów uczacych: przyrostowy Metody klasyfikacji danych - część 2 p.40/55

Klasyczne wielowarstwowe sztuczne sieci y 1 neuronowe y 2 y M warstwa 2 1 2 M (2) w (2) 11 w (2) w MP 21 warstwa 1 1 2 3 P (1) w PK (1) w 11 b 1 wejœcia x 1 x 2 x 3 x N Przykładowa jednokierunkowa sztuczna sieć neuronowa, z prawej strony schemat pojedynczego neuronu Funkcja reprezentowana przez i-te wyjście sieci: y i = f (2) akt P j=1 w (2) ij f(1) akt x 4 ( N k=1 w (1) jk x k +b (1) j ) +b (2) i Metody klasyfikacji danych - część 2 p.41/55

Zestawienie funkcji aktywacji neuronu funkcja aktywacji zakres wartości wykres opis f akt na wyjściu funkcji model neuronu z iloczynem skalarnym s = w T x+b 0 gdy s < 0 1 gdy s 0 y { 1,1} 1-1 funkcja skoku jednostkowego 1 1/(1+e s ) y (0,1) -1 funkcja sigmoidalna unipolarna 1 2/(1+e 2s ) 1 y ( 1,1) -1 funkcja sigmoidalna bipolarna s y (, ) funkcja liniowa identycznościowa model z miara odległościowa s = w x b 1 e s2 y (0,1) funkcja radialna Metody klasyfikacji danych - część 2 p.42/55

Uczenie sieci wielowarstwowych: algorytm propagacji wstecznej błędu Za miarę błędu klasyfikacji przyjmuje się w klasycznych SSN bład średniokwadratowy: E(w) = 1 2 K u µ=1 i=1 M (d iµ y iµ ) 2, gdzie K u jest liczba przykładów do uczenia, M jest liczba neuronów w warstwie wyjściowej, zaś d iµ jest pożadan a wartościa na wyjściu i-tego neuronu, gdy na wejściu sieci podano µ-ty obraz. Uczenie polega na modyfikacji wektora wszystkich wag sieci w kierunku największego spadku funkcji błędu. Kierunek ten wyznaczany jest przez gradient funkcji błędu: E(w) = [ E/ w 1, E/ w 2,..., E/ w L ] T. Kierunek gradientu wyznacza kierunek największego wzrostu funkcji błędu w L-wymiarowej przestrzeni wag, więc w celu zmniejszenia błędu należy zmodyfikować wagi w kierunku przeciwnym: w = w+ w = w α E(w), gdzie α jest współczynnikiem szybkości uczenia. Metody klasyfikacji danych - część 2 p.43/55

Uczenie a uogólnianie a) b) c) 1 1.5 1.5 0.5 0 0.5 funkcja zadana przyklady uczace aproksymacja funkcji 1 1 0.5 0 0.5 1 1 0.5 0 0.5 funkcja zadana przyklady uczace aproksymacja funkcji 1 1 0.5 0 0.5 1 1 0.5 0 0.5 1 funkcja zadana przyklady uczace aproksymacja funkcji 1.5 1 0.5 0 0.5 1 Aproksymacja funkcji sin 2 (3πx)sin(πx) z wykorzystaniem dwuwarstwowej sztucznej sieci neuronowej o a) 3, b) 10 oraz c) 50 neuronach w pierwszej warstwie Metody klasyfikacji danych - część 2 p.44/55

Uczenie a uogólnianie Metody poprawy uogólniania: Dobór architektury sieci (liczba warstw, liczby neuronów w warstwach) do problemu. Zatrzymywanie uczenia, gdy bład walidacji (testu) zaczyna rosnać (ang. early stopping). Regularyzacja: Dodanie szumu do danych podczas uczenia. Dodanie specjalnego członu do funkcji błędu: E = E + λ 2K w 2 ograniczającego wzrost wartości wag. Blokowanie aktywacji losowo wybranych neuronów podczas uczenia (ang. dropout) Metody klasyfikacji danych - część 2 p.45/55

Klasyczne Sztuczne sieci neuronowe: problemy z uczeniem Zanikajacy gradient w przypadku sieci o dużej liczbie warstw. Słabe uogólnianie w przypadku dużej liczby warstw. Wymagana duża liczba neuronów w przypadku sieci dwuwarstwowych. Metody klasyfikacji danych - część 2 p.46/55

Głębokie uczenie (Deep Learning - DN) Dwa główne kierunki rozwoju: Sieci realizujace funkcje splotu (Convolutional Neural Networks - CNN). Głębokie sieci przekonań (Deep Belief Networks - DBN). Metody klasyfikacji danych - część 2 p.47/55

Sieć realizująca funkcje splotu Techniki poprawiajace szybkość uczenia i uogólnianie: Funkcja aktywacji ReLU: f(x) = max(x,0). Redukcja rozdzielczości obrazu (subsampling). Regularyzacja metoda Dropout: aktywacja losowo wybranych neuronów. Uczenie metoda stochastycznego spadku gradientu (SGD). Funkcja entropii krzyżowej jako funkcja błędu zamiast średniego błędu kwadratowego. Metody klasyfikacji danych - część 2 p.48/55

Funkcja splotu i podpróbkowania Metody klasyfikacji danych - część 2 p.49/55

Sieć realizująca funkcje splotu - hierarchia przekształceń Metody klasyfikacji danych - część 2 p.50/55

Schemat procesu rozpoznawania sygna³ wektor cech numer klasy Klasyfikator Ekstraktor Metody klasyfikacji danych - część 2 p.51/55

Schemat procesu rozpoznawania - dane do uczenia przyk³ady ucz¹ce z wielu podobnych zadañ przyk³ady ucz¹ce z konkretnego zadania sygna³ wektor cech numer klasy Klasyfikator Ekstraktor Metody klasyfikacji danych - część 2 p.52/55

Sieć realizująca funkcje splotu - ekstrakcja cech Metody klasyfikacji danych - część 2 p.53/55

Sieć autoasocjacyjna - ekstrakcja cech Metody klasyfikacji danych - część 2 p.54/55