• Nie Znaleziono Wyników

Optymalizacja poªo»enia prototypów

W dokumencie )764-.-4)6424)9;,6451- (Stron 53-56)

(6.12) gdzie parametr µ okre±la poªo»enie przestrzeni klasteryzacji, za± σ to szeroko±¢ tego obszaru.

Przeprowadzone badania wskazaªy, i» najlepszymi warto±ciami ltra s¡ µ = 0.6 − 0.8 i σ = 0.6−0.9, determinuj¡c poprawne dziaªanie algorytmu dla szerokiej skali problemów.

6.4 Optymalizacja poªo»enia prototypów

Nadzorowana optymalizacja poªo»enia prototypów dla reguª prototypowych klasykatora k-NNjest istotnym elementem procesu uczenia. Standardowe metody

selekcji, jak i optymalizacji z wykorzystaniem algorytmów grupowania nie s¡ w stanie uzyska¢ tak optymalnego poªo»enia prototypów, jakie mo»liwe jest do uzyskania z wykorzystaniem w peªni nadzorowanej optymalizacji gradientowej dobieraj¡cej poªo»enie prototypów tak by zminimalizowa¢ pewn¡ funkcj¦ kosztu, najcz¦±ciej przedstawian¡ jako bª¡d klasykacji. Najpowszechniej stosowanym rozwi¡zaniem jest tu grupa algorytmów Learning Vector Quantization (LVQ) zaproponowanych przez Kohonena [98].

Algorytm LVQ nale»y do grupy metod sieci neuronowych i ma istotn¡ wad¦ (podobnie jak wi¦kszo±¢ metod sieci neuronowych) - jest bardzo czuªy na inicjalizacj¦ wag, w tym przypadku rozumian¡ jako inicjalizacj¦ poªo»enia prototypów. Wada ta istotnie wpªywa na powtarzalno±¢ uzyskiwanych rezultatów, dlatego te» bardzo dobr¡ praktyk¡ metod LVQ jest inicjalizacja poªo»enia prototypów poprzez metody selekcji lub klasteryzacji danych. Takie rozwi¡zanie byªo analizowane m.in. przez Jankowskiego i Grochowskiego w [83], daj¡c bardzo dobre rezultaty. Inn¡ istotn¡ wad¡ oryginalnego algorytmu LVQ jest brak zdolno±ci okre±lania optymalnej liczby prototypów, co poci¡ga za sob¡

konsekwencje manualnego okre±lania liczby neuronów (prototypów).

Klasyczny algorytm LVQ bazuje na zasadzie zwyci¦zca bierze wszystko i wykorzystuje metod¦ optymalizacji zbli»on¡ do gradientowej, gdy» optymalizowana funkcja celu jest nieci¡gªa. Podstawowy algorytm LVQ doczekaª si¦ wielu modykacji - sam Kohonen zaproponowaª cztery wersje algorytmu oznaczone LVQ1, LVQ2 (LVQ2.1), LVQ3 oraz OLVQ, a w literaturze spotyka¢ mo»na szereg innych wersji dziaªaj¡cych w trybie wsadowym (ang. batch) lub ci¡gªym (ang. online), uwzgl¦dniaj¡cych wa»enie cech oraz szereg innych wªa±ciwo±ci [85, 86, 87, 88, 24].

6.4.1 Algorytmy rodziny LVQ

LVQ1 jest algorytmem bazowym dla caªej grupy, który iteracyjnie optymalizuje poªo»enie wektorów referencyjnych, zwanych równie» wektorami koduj¡cymi (ang.

codebook vectors).

Proces uczenia mo»e przebiega¢ w dwóch trybach: wsadowym, gdy aktualizacja wektorów koduj¡cych odbywa si¦ po prezentacji caªego zbioru ucz¡cego oraz w trybie ci¡gªym, gdy po prezentacji pojedynczego wektora treningowego nast¦puje modykacja poªo»enia najbli»szego prototypu zgodnie z formuª¡ (6.13).

pi(z + 1) = pi(z) − α (z) (xj− pi(z))

pi(z + 1) = pi(z) + α (z) (xj − pi(z)) (6.13) i = arg min

a=1...l(kxj− pak) (6.14)

gdzie i oznacza najbli»szy prototyp do j-tego wektora trenuj¡cego x wedªug zale»no±ci (6.14), α (i) jest wspóªczynnikiem uczenia - monotonicznie malej¡c¡ funkcj¡ przyjmuj¡c¡

warto±ci pomi¦dzy [0, 1], a z oznacza aktualn¡ iteracj¦.

Przeprowadzona w ramach prac innych badaczy analiza porównawcza oraz wyniki eksperymentów wskazuj¡, i» uczenie w trybie ci¡gªym jest bardziej stabilne i mniej odporne na wektory odstaj¡ce [133].

LVQ 2 (2.1) jest bardziej zaawansowanym algorytmem, który optymalizuje jednocze±nie dwa wektory koduj¡ce z przeciwnych klas, le»¡ce najbli»ej danego wektora

treningowego. Je»eli w bezpo±rednim s¡siedztwie danego wektora treningowego obydwa najbli»sze prototypy s¡ z tej samej klasy, algorytm pozostawia je bez zmian. Modykacja poªo»enia prototypów odbywa si¦ zgodnie z procedur¡ LVQ1, jednak»e modykacja obydwu prototypów naraz prowadzi do uzyskania lokalnej optymalno±ci w sensie Bayesowskim.

Algorytm LVQ2.1 posiada drobn¡ modykacj¦ w stosunku do swego poprzednika, polegaj¡c¡ na uwzgl¦dnieniu tylko takich wektorów x, które traaj¡ do okna o wzgl¦dnej szeroko±ci w zdeniowanego jako (6.15).

min

Ãd1 d2,d2

d1

!

> s ; s = 1 − w

1 + w (6.15)

gdzie d1 i d2 oznaczaj¡ odlegªo±ci pomi¦dzy wektorem x a dwoma najbli»szymi prototypami p. W praktycznych zastosowaniach algorytmu LVQ2.x stosuje si¦

przetwarzanie kaskadowe, gdzie dziaªanie tej metody poprzedzone jest optymalizacj¡

zrealizowan¡ w oparciu o LVQ1.

LVQ3 jest kolejnym rozszerzeniem metod rodziny LVQ, w którym analizowana jest sytuacja wyst¡pienia dwóch najbli»szych prototypów do danego wektora treningowego, wszystkich o jednakowych etykietach. Proces adaptacji poªo»enia prototypów odbywa si¦ wówczas wedªug zale»no±ci (6.16).

pi(z + 1) = pi(z) + εα (z) (xj − pi(z)) (6.16) gdzie ε jest staª¡ zale»n¡ od szeroko±ci okna w, która przyjmuje warto±ci pomi¦dzy 0.1 a 0.5. Rezultatem, a zarazem celem algorytmu LVQ3 jest zapewnienie nie tylko poprawnej klasykacji danych, ale równie» odtworzenie rozkªadu punktów w klasach.

OLVQ1 jest ostatnim algorytmem z serii podstawowych metod zaproponowanych przez Kohonena. Modykacja zaproponowana w tej metodzie polega na uniezale»nieniu wspóªczynnika uczenia osobno dla ka»dego z prototypów - zale»no±¢ (6.17). Wedªug zaªo»e«, taka modykacja powinna prowadzi¢ do przyspieszenia zbie»no±ci algorytmu.

pi(z + 1) = pi(z) − αi(z) (xj − pi(z))

pi(z + 1) = pi(z) + αi(z) (xj− pi(z)) (6.17) Odpowiednio αi(z) oznacza wspóªczynnik uczenia przypisany do i-tego wektora koduj¡cego w iteracji z.

6.4.2 Modykacje algorytmów LVQ

LVQ-TC jest metod¡ zaproponowan¡ przez Ordorico w [131], w której modykacja poªo»enia prototypu zale»y nie tylko od wzajemnej odlegªo±ci pomi¦dzy prototypem a wektorem treningowym, ale równie» od historii prototypu. Wedªug autora, historia prototypu deniowana jest jako niezale»na dla ka»dego z wektorów referencyjnych liczba modykacji jego poªo»enia, okre±laj¡ca osobno ilo±¢ nagród i kar. Ostateczna posta¢

modykacji prototypu przybiera wówczas form¦ (6.18).

pi(z + 1) = pi(z) + α (z)

Pqi (xj− pi(z)) (6.18)

gdzie Pqi oznacza ilo±¢ modykacji i-tego prototypu (suma wszystkich modykacji i-tego wektora ; qi = [q1, q2, . . . , qc]T jest liczba modykacji zrealizowanych poprzez wektory z ktej klasy). Jednocze±nie autor zaproponowaª kryterium oczyszczaj¡ce -usuwaj¡ce zb¦dne prototypy, porównuj¡c liczb¦ modykacji qi ze staª¡ Q, okre±laj¡c¡

minimaln¡ liczb¦ modykacji. Je»eli prototyp nie byª dostatecznie cz¦sto modykowany jest on usuwany. Kolejnym rozszerzeniem algorytmu jest powtórne etykietowanie wyst¦puj¡ce w sytuacji, gdy prototyp i byª w wi¦kszo±ci modykowany przez wektory z klasy k i je»eli k > Q - wówczas prototypowi takiemu przypisywana jest etykieta z klasy k, a on sam umiejscawiany jest w ±rodku wektorów z klasy k, które wpªywaªy na jego przesuni¦cie.

Algorytm DSM (ang. decision surface mapping) [8] jest prost¡ modykacj¡

algorytmu LVQ, w której poªo»enie prototypu jest modykowane jedynie poprzez naªo»enie kary. Innymi sªowy autorzy Geva and Sitte sugeruj¡, by na zmian¦ poªo»enia prototypu wpªywaªy jedynie wektory bª¦dnie klasykowane. DSM cz¦sto prowadzi do lepszych rezultatów klasykacji ni» tradycyjny algorytm LVQ, jednak»e metoda ta wydaje si¦ by¢ mniej stabilna.

W przedstawionych wynikach rozprawy u»yto kolejnej modykacji, w której zostaªy okre±lone dwa niezale»ne wspóªczynniki uczenia osobno dla nagradzania i karania, dzi¦ki czemu mo»liwe staªo si¦ uzyskanie kompromisu pomi¦dzy stabilno±ci¡ a dokªadno±ci¡

klasykacji. Najcz¦±ciej przyj¦t¡ zale»no±ci¡ pomi¦dzy wspóªczynnikiem kary a nagrody jest αkary = 2αnagrody

Dynamic LVQ [7] charakteryzuje si¦ mo»liwo±ci¡ automatycznego doboru liczby

W dokumencie )764-.-4)6424)9;,6451- (Stron 53-56)