Algorytmy konstrukcyjne dla sieci skierowanych
Transkrypt
Algorytmy konstrukcyjne dla sieci skierowanych
Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytmy konstrukcyjne dla sieci skierowanych M. Czoków, J. Piersa 2010-11-09 M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne 1 Spis treści 2 Przypomnienie RLA 3 Algorytmy konstrukcyjne Algorytm wieżowy Algorytm piramidalny Algorytm kafelkowy Algorytm upstart M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne RLA Zagadnienie Daną mamy listę przykładów uczących tj. punkt E k ∈ Rn , odpowiadającą mu poprawną klasyfikację C k ∈ {−1, +1}. Chcemy znaleźć pojedynczy perceptron (= wagi wi i próg θ), który klasyfikuje możliwie wiele z przykładów uczących. M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne RLA Algorytm uczenia perceptronu 1 Przypisujemy wagom i progowi małe losowe wartości wokół 0, przypisujemy takiemu układowi wag zerowy czas życia, kopie wag, progu i czasu zycia zapamiętujemy jako rekordzistę, 2 Przebiegamy przykłady losując z listy, Dla wybranego przykładu E i jego oczekiwanej klasyfikacji C sprawdzamy, czy E jest dobrze klasyfikowany, 3 Jeśli tak, to zwiększamy mu czas życia o jeden. Jeżeli jest to wynik lepszy niż u dotychczasowego rekordzisty i jeżeli dotychczasowy rekordzista klasyfikował poprawnienie wiecej przykładow niż bieżący układ, to zapisujemy bieżący układ wag jako nowego rekordzistę. W obu wypadkach wracamy do kroku 2, Jeśli nie, to wi := wi + CEi oraz θ := θ − C , nowo powstałemu układowi przypisujemy zerowy czas zycia, 4 Wracamy do kroku 2. M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Zagadnienie Daną mamy listę przykładów uczących tj. punkt E k ∈ Rn , odpowiadającą mu poprawną klasyfikację C k ∈ {−1, +1}. Chcemy znaleźć skierowaną sieć neuronów, to jest graf wraz z wagami, który klasyfikuje poprawnie możliwie najwięcej spośród danych uczących. wi,j = ? ??? M. Czoków, J. Piersa out WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm Wieżowy ... ... M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm wieżowy 1 Rozpocznij od sieci składającej się z pojedynczego perceptronu z progową funkcją aktywacji, 2 Naucz jedyny preceptron algorytmem kieszonkowym (z zapadką), Powtarzaj aż do uzyskania zadowalającego rezultatu (tj. zadowalający poziom klasyfikacji, limit czasowy itp.) 3 Na szczyt wieży dodaj kolejny neuron. Jego wejściami będą dane uczące E1 , .., En oraz wyjście neuronu leżącego bezpośrednio niżej, Naucz szczytowy neuron algorytmem kieszonkowym (z zapadką), za n + 1-sze wejścia przyjmij wyniki z neuronu niższego, Jako wynik całej sieci zwracany będzie wynik nowo-dodanego perceptronu, 4 Zwróć wynikową sieć. M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm wieżowy out out ... out ... M. Czoków, J. Piersa out ... WSN 2010/2011 Wykład 5 ... Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Uzasadnienie Przyjmijmy oznaczenia: Oj — jednostka j-ta, Oj+1 — jednostka j + 1-sza, tą będziemy uczyli, E k — k-ty przykład uczący, źle klasyfikowany przez Oj , n — ilość wejść (wymiar danych), θj+1 — próg jednostki Oj+1 , 0 < ε 1 — mała stała dodatnia, wi,j+1 — wagi neuronu Oj+1 stowarzyszone z danymi wejściowymi, wj,j+1 — waga neuronu Oj+1 stowarzyszona wejściem pochodzącym z jednostki Oj . M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Uzasadnienie out Przypiszmy: wi,j+1 :=C k Eik wj,j+1 :=n − ε θj+1 := − 12 C k ... M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Uzasadnienie Pokażemy, że sieć z dodanym neuronem Oj+1 jest w stanie zaklasyfikować poprawnie przynajmniej o jeden przykład uczący więcej. Dla przykładu E k neuron Oj+1 otrzyma na wejściu X (n − ε)(−1)C k + C k Eik · Eik = nC k − nC k + εC k = εC k i 1 θj+1 = − C k 2 więc sieć zwróci oczekiwaną odpowiedź na E k . M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Uzasadnienie Dla pozostałych przykładów E j , j 6= k neuron Oj+1 zwróci tę samą odpowiedź co neuron Oj : X (n − ε)Oj + C j Eij · Eik i Jeżeli dla każdego i Eij = Eik oraz C k = C k , to oba przykłady E k oraz E j są te same i E j też będzie porawnie klasyfikowany, Jeżeli dla każdego i zachodzi Eij = Eik oraz C k 6= C k , to oba E k oraz E j są te same, ale mają oczekiwane różne odpowiedzi — dane są sprzeczne i stuprocentowa klasyfikacja możliwa nie jest, Poza powyższymi przypadkami mamy X j j k C Ei · Ei ≤ n − 1 i M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Uzasadnienie Suma ważona w jednostce Oj+1 wyniesie zatem: X (n − ε)Oj + C j Eij · Eik ≤ (n − ε)Oj + (n − 1)C j i Oraz próg: 1 θj+1 = − C k 2 Jeżeli zatem ε nie będzie za duży to zwrócona przez Oj+1 odpowiedź będzie taka sama jak ta, którą zwrócił Oj . M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Algorytm Algorytm Algorytm Algorytm Spis treści Przypomnienie Algorytmy konstrukcyjne wieżowy piramidalny kafelkowy upstart Przykład 1/4 6 4 2 0 -2 -4 -6 -8 -6 M. Czoków, J. Piersa -4 -2 0 2 WSN 2010/2011 Wykład 5 4 6 Algorytm Algorytm Algorytm Algorytm Spis treści Przypomnienie Algorytmy konstrukcyjne wieżowy piramidalny kafelkowy upstart Przykład 2/4 6 4 2 0 -2 -4 -6 -8 -6 M. Czoków, J. Piersa -4 -2 0 2 WSN 2010/2011 Wykład 5 4 6 Algorytm Algorytm Algorytm Algorytm Spis treści Przypomnienie Algorytmy konstrukcyjne wieżowy piramidalny kafelkowy upstart Przykład 3/4 1 0.5 0 -0.5 -1-6 -4 -2 0 2 4 6 -8 M. Czoków, J. Piersa -6 -4 -2 0 WSN 2010/2011 Wykład 5 2 4 6 Algorytm Algorytm Algorytm Algorytm Spis treści Przypomnienie Algorytmy konstrukcyjne wieżowy piramidalny kafelkowy upstart Przykład 4/4 1 0.5 0 -0.5 -1-6 -4 -2 0 2 4 6 -8 M. Czoków, J. Piersa -6 -4 -2 0 WSN 2010/2011 Wykład 5 2 4 6 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm piramidalny ... ... M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm piramidalny 1 Rozpocznij od sieci składającej się z pojedynczego perceptronu z progową funkcją aktywacji, 2 Naucz jedyny preceptron algorytmem kieszonkowym (z zapadką), Powtarzaj aż do uzyskania zadowalającego rezultatu (tj. zadowalający poziom klasyfikacji, limit czasowy itp.) 3 Na szczyt wieży dodaj kolejny neuron. Jego wejściami będą dane uczące E1 , .., En oraz wyjście wszystkich leżących niżej neuronów, Naucz szczytowy neuron algorytmem kieszonkowym (z zapadką), za n + 1, ..., n + l-te wejścia przyjmij wyniki z neuronów niższych, Jako wynik całej sieci zwracany będzie wynik nowo-dodanego perceptronu, 4 Zwróć wynikową sieć. M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Algorytm Algorytm Algorytm Algorytm Spis treści Przypomnienie Algorytmy konstrukcyjne wieżowy piramidalny kafelkowy upstart Algorytm piramidalny out out ... out ... M. Czoków, J. Piersa out ... out ... WSN 2010/2011 Wykład 5 ... Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm kafelkowy out M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm kafelkowy Rozpocznij od sieci składającej się z warstwy wejściowej L = 1, Dodaj do sieci L + 1 kafel, na razie składający się tylko z jednego neuronu. Dodany neuron za wejścia przyjmuje wszystkie wyjścia z kafla L, Za wyjście sieci przyjmij wyjście z nowego neuronu. Naucz dodaną jednostkę algorytmem kieszonkowym z zapadką. Jeżeli sieć klasyfikuje poprawnie wszystkie przykłady, to zakończ zwracając wynikową sieć, Jeżeli nie, to dodaj do L + 1-go kafla kolejny neuron. Naucz go algorytmem kieszonkowym z zapadką, ale tylko na takim zbiorze, że: poprzednie neurony w L + 1 kaflu dają na tych przykładach tę samą kombinację odpowiedzi (tj. z punktu widzenia sieci jest to ta sama klasa), oczekujemy, że mają być to przykłady z różnych klas, spośród wszystkich podzbiorów spełniających dwa powyższe wybrany powinien być najliczniejszy, M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm kafelkowy cd. Jeżeli kafel poprawnie klasyfikuje wszystkie przykłady (tj. różnym kategoriom przypisuje różne zestawy odpowiedzi), to wróć do 2 (dodaj nowy kafel), jeżeli nie to wróć do 4 (dodaj nową jednostkę w tym samym kaflu), Zwróć wynikową sieć (oczekujemy odpowiedzi binarnej, więc ostatni kafel powinien liczyć tylko jedną jednostkę). M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 1/8 Dane Sieć 6 4 2 0 out -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 0 WSN 2010/2011 Wykład 5 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 2/8 Dane Sieć 6 4 2 0 out -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 0 WSN 2010/2011 Wykład 5 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 3/8 Dane Sieć 6 4 2 0 out -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 0 WSN 2010/2011 Wykład 5 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 4/8 Dane Sieć 6 4 2 0 out -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 0 WSN 2010/2011 Wykład 5 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 5/8 Dane Sieć 6 4 2 0 out -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 0 WSN 2010/2011 Wykład 5 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 6/8 (0 1 1) 6 (1 1 1) 4 2 (0 0 1) 0 (1 0 1) (0 1 0) -2 -4 (1 1 0) -6 -8 -10 (0 0 0) -5 0 5 10 M. Czoków, J. Piersa (1 0 0) WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 7/8 Dane Sieć (0 1 1) (1 1 1) (0 0 1) (1 0 1) out (0 1 0) (1 1 0) (0 0 0) (1 0 0) M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 8/8 Dane Sieć (0 1 1) (1 1 1) (0 0 1) (1 0 1) out (0 1 0) (1 1 0) (0 0 0) (1 0 0) M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm upstart M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm upstart Tworzymy pojedynczą jednostkę U, która widzi wszystkie wejścia. Jej wyjście jest wyjściem całej sieci, Odkładamy U na stos wraz ze wszystkimi przykładami uczącymi, Dopóki stos jest niepusty, powtarzamy: zdejmujemy ze stosu jednostkę Ui i zbiór stowarzyszonych z nią przykładów uczących, uczymy Ui na jej przykładach algorytmem zapadkowym, jeżeli klasyfikacja Ui jest w pełni zgodna, to rozpocznij następną iterację pętli (continue), M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm upstart cd. Dopóki stos jest niepusty, powtarzamy: (...) jeżeli istnieją źle sklasyfikowane przykłady z oczekiwaną odpowiedzią +1 dla jednostki Ui , to tworzymy nową jednostkę Ui+ , jej wejściami są wszystkie wejścia, jej wyjście wchodzi do Ui z dużą wagą dodatnią, odkładamy Ui+ na stos z następującym zbiorem ˘ ¯ ˘ ¯ uczącym: E k : Uik = −1, CUki = +1 ∪ E k : CUki = −1 , to jest przykłady, które są klasyfikowane przez Ui jako −1, a powinny +1 oraz przykłady, która powinny być klasyfikowane przez Ui jako −1, Zbiór uczący dla Ui+ jest mniejszy od Ui o przykłady dodatnie, które są dobrze klasyfikowane, M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Algorytm upstart cd. Dopóki stos jest niepusty, powtarzamy: (...) jeżeli istnieją źle sklasyfikowane przykłady z oczekiwaną odpowiedzią +1 dla jednostki Ui , to (...) jeżeli istnieją źle sklasyfikowane przykłady z oczekiwaną odpowiedzią −1 dla Ui , to tworzymy nową jednostkę Ui− , jej wejściami są wszystkie wejścia, jej wyjście wchodzi do Ui z dużą wagą dodatnią, odkładamy Ui− na stos z ¯ następującym zbiorem ˘ ˘ ¯ uczącym: E k : Uik = +1, CUki = −1 ∪ E k : CUki = +1 , to jest przykłady, które są klasyfikowane przez Ui jako +1, a powinny −1 oraz przykłady, która powinny być klasyfikowane przez Ui jako +1, zdejmujemy ze stosu następny neuron (continue), Zwracamy uzyskaną sieć. M. Czoków, J. Piersa WSN 2010/2011 Wykład 5 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 1/6 6 4 2 0 -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 0 WSN 2010/2011 Wykład 5 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 2/6 6 4 2 0 -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 0 WSN 2010/2011 Wykład 5 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 3/6 6 4 2 0 -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 WSN 2010/2011 Wykład 5 0 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 4/6 6 4 2 0 -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 WSN 2010/2011 Wykład 5 0 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 5/6 6 4 2 0 -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 WSN 2010/2011 Wykład 5 0 5 10 Spis treści Przypomnienie Algorytmy konstrukcyjne Algorytm Algorytm Algorytm Algorytm wieżowy piramidalny kafelkowy upstart Przykład 6/6 6 4 2 0 -2 -4 -6 -8 -10 M. Czoków, J. Piersa -5 WSN 2010/2011 Wykład 5 0 5 10