(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