Zapisz jako PDF

Transkrypt

Zapisz jako PDF
powrót
Spis treści
1 Uczenie bez nadzoru
1.1 Reguła Hebba
1.1.1 Dlaczego ta reguła działa?
1.1.2 Ograniczenia:
2 Uczenie z rywalizacją: sieci Kohonena
3 Analiza skupień: -średnich
3.1 Algorytm -średnich:
3.2 Klasyfikacja:
4 Gaussowski model mieszany
4.1 Sformułowanie problemu
4.2 Algorytm expectation maximization (EM)
Uczenie bez nadzoru
W tym wykładzie zajmiemy się problemem następującym. Czy można skonstruować algorytm, który
uczy się czegoś na temat wektorów wejściowych nie mając określonych wartości wyjściowych? Jako
inspirację biologiczną możemy sobie wyobrazić to jak kot, który jak wiadomo rodzi się ślepy, uczy się
postrzegać obiekty.
Formalnie będziemy myśleć o algorytmach, które po prezentacji ciągu uczącego składającego się z
samych wektorów wejściowych
"nauczą się" wyróżniać w tym zbiorze pewną
strukturę. Będziemy mówić, że algorytm dokonał podziału zbioru uczącego na skupiska (klastry). W
statystyce podejście takie nazywane jest analizą skupień. Może ona być przydatna zarówno ze
względów poznawczych - kiedy próbujemy wydobyć jakąś wiedzę na temat zbioru uczącego (data
mining), jak i w zastosowaniach utylitarnych, kiedy stosujemy analizę skupień np. w celu segmentacji
obrazu lub klasyfikacji.
Reguła Hebba
Zaczniemy od omówienia metody inspirowanej hipotezą biologiczną:
"When an axon of cell A is near enough to excite cell B and repeatedly or persistently takes part in
firing it, some growth process or metabolic change takes place in one or both cells such that A's
efficiency, as one of the cells firing B, is increased." Koncepcja ta pochodzi od Kanadyjskiego
psychologa Donalda Oldinga Hebba, stąd jej nazwa. Najprościej można ją ująć tak, że synapsa
łącząca dwa neurony ulega wzmocnieniu jeśli neuron pre- i post synaptyczny są jednocześnie
aktywne. Innymi słowy siłą napędową uczenia Hebbowskiego są korelacje aktywności neuronów prei post synaptycznych.
W kontekście sztucznej sieci neuronowej można ją wyrazić następująco: Niech
- indeks neuronu,
- -te wejście do tego neuronu pochodzące z -ego przykładu,
wyjście wytworzone przez
neuron na -ty przykład. Wtedy hebbowska reguła zmiany wag jest następująca:
-ty
Dlaczego ta reguła działa?
Jeśli w chwili początkowej, któryś neuron miał zestaw wag zbliżony do prezentowanego sygnału to w
następnych pokazach tego samego sygnału “reakcja” tego neuronu na ten sygnał będzie coraz
silniejsza. Sieć tak uczona zaczyna klasyfikować sygnały.
Ograniczenia:
przebieg uczenia zależy od wartości początkowych wag
nie ma gwarancji, że jednej klasie wzorców będzie odpowiadał jeden neuron
nie ma gwarancji, że wszystkie klasy wzorców będą miały oddzielne reprezentacje w postaci
oddzielnych zbiorów aktywnych neuronów
Uczenie z rywalizacją: sieci Kohonena
Częściowe rozwiązanie wymienionych powyżej ograniczeń można uzyskać stosując tzw. uczenie z
rywalizacją w sieciach liniowych Kohonena. Reguła zmiany wag jest w tym przypadku następująca:
W danym kroku uczenia modyfikacjom podlegają wagi tylko jednego "zwycięskiego" neuronu
, tzn. tego który daje największe wyjście:
wektor wejściowy jest znormalizowany (to symbolizuje ). Dzięki temu mamy gwarancję, że
zwycięski neuron to ten, którego wektor wag jest najbardziej podobny do wejścia.
Dzięki powyższym warunkom uzyskujemy następującą własność: jeśli w zbiorze uczącym występują
jakieś skupiska to wektory wag są modyfikowane w kierunku wartości średnich w tych skupiskach.
Analiza skupień: -średnich
Jednym z podstawowych algorytmów stosowanych w analizie skupień jest analiza metodą -średnich
(ang. -means). Podobnie jak w poprzedniej sekcji załóżmy, że mamy zbiór treningowy:
. Zakładamy, że występuje w nim skupisk (ta wiedza jest zewnętrzna względem
algorytmu). Chcielibyśmy każdemu punktowi ze zbioru uczącego przyporządkować jakąś etykietkę
, ale nie mamy wiedzy o jakimś "prawidłowym" podziale.
Algorytm -średnich:
1. W losowy sposób zainicjuj centra skupisk:
. Centra są punktami w przestrzeni o tej
samej wymiarowości co punkty zbioru uczącego, np. można wybrać w sposób losowy
punktów spośród elementów zbioru uczącego.
2. Powtarzaj,aż zbiegniesz:
Dla każdego punktu
ze zbioru uczącego przypisz etykietkę
najbliższego centrum:
Zauktualizuj położenia centrów każdego skupiska, tak aby były środkiem ciężkości
punktów należących do danego skupiska:
Jako miarę jakości podziału można wprowadzić sumę kwadratów odległości punktów od centrów
skupisk, do których zostały przypisane:
W tym kontekście można na algorytm -średnich patrzeć jak na algorytm spadku osiowego, gdzie
osiami są etykietki i centra . Widać, że dwa kroki wewnętrznej pętli to optymalizacja i na
zmianę. Algorytm -średnich jest zbieżny w takim sensie, że po każdym kroku iteracji funkcja
maleje, więc ostatecznie osiągnie jakieś minimum. Teoretycznie możliwe jest, że algorytm wpadnie w
oscylacje pomiędzy dwoma podziałami, które maja dokładnie takie samo , ale jest to bardzo mało
prawdopodobne. Niestety optymalizacja -średnich nie jest optymalizacją wypukłą, ą co za tym idzie
jest podatna na występowanie lokalnych minimów. Najprostszym środkiem zaradczym jest
wielokrotne wystartowanie algorytmu z różnych losowych zestawów centrów i wybór takiej
parametryzacji, która daje najmniejsze .
Klasyfikacja:
Po znalezieniu optymalnych położeń centrów, mogą one być wykorzystane do klasyfikacji nowych
przypadków. Wystarczy policzyć odległość rozważanego punktu od każdego z centrów i przypisanie
mu klasy związanej z najbliższym centrum.
Gaussowski model mieszany
W tej sekcji rozważymy jak zamodelować rozkład gęstości prawdopodobieństwa, który nie ma jakiejś
konkretnej postaci. Będziemy modelować ten rozkład jako sumę rozkładów gaussowskich. Taki
rozkład może się nam przydać np. do wykrywania artefaktów. Załóżmy że mamy sygnały EEG, o
których wiemy, że nie zawierają artefaktów. Możemy je scharakteryzować za pomocą pewnych
wektorów cech (np. współczynniki Fourierowskie). Jeśli uda nam się opisać jakoś sensownie rozkład
prawdopodobieństwa tych cech to można go potem użyć do testowania jakie jest
prawdopodobieństwo, że czy nowy fragment sygnału również jest z tego rozkładu, tzn. jest wolny od
artefaktów.
W bardziej zaawansowanych zastosowaniach można sobie wyobrazić rozszerzenie gaussowskiej
analizy dyskryminacyjnej (model generatywny) na przypadki gdzie prawdopodobieństwa apriori
opisywane są przez modele mieszane.
Sformułowanie problemu
Po tym wstępie przystąpmy do sformalizowania rozważań. Załóżmy, że jak zwykle mamy dany zbiór
treningowy:
prawdopodobieństwa
. Chcemy zamodelować te dane przy pomocy rozkładu
. Zmienna
pochodzi z rozkładu
wielorakiego parametryzowanego przez
(
,
). O
rozkładach warunkowych zakładamy, że są Gaussowskie:
. Innymi słowy:
myślimy o zmiennych ze zbioru treningowego, że powstały w następujący sposób: najpierw z
rozkładu wielorakiego została wylosowana zmienna
, wskazując na konkretny rozkład Gaussa
losowe
. Następnie ze wskazanego rozkładu Gaussa została wylosowana zmienna
są w tym problemie zmiennymi ukrytymi, tzn. nie możemy ich obserwować.
Model jest zatem opisywany przez parametry
wiarygodności:
Zobaczmy, że gdybyśmy znali
wiarygodności do postaci:
. Zmienne
. Możemy dla nich napisać funkcję log-
problem byłby prosty. Można by wówczas przepisać funkcję log-
Licząc pochodne cząstkowe po parametrach i kładąc je równe zero otrzymalibyśmy:
Niestety to, że nie znamy wartości
prosty sposób.
powoduje, że funkcji (%i 1) nie da się zmaksymalizować w tak
Algorytm expectation maximization (EM)
Rozwiązanie sformułowanego powyżej problemu można uzyskać w sposób iteracyjny. Na przemian
trzeba wykonywać kroki i
. Krok polega na "zgadnięciu" wartości
, a w kroku
uaktualniane są parametry modelu przez maksymalizację funkcji log-wiarygodności (dla właśnie
odgadniętych
). Zatem algorytm wygląda następująco:
Powtarzaj, aż zbiegniesz {
krok
Dla każdego
oblicz:
Gdzie prawdopodobieństwa warunkowe :
tu poszczególne wyrażenia to:
jest równa gęstści prawdopodobieństwa rozkładu Gaussa o parametrach
krok
1. uaktualnij parametry:
}
i
dla
Algorytm EM jest podatny na lokalne minima, więc dobrze jest stosować go z kilkukrotnym
losowym wyborem początkowych parametrów.