Problemy Zarz(cid:200)dzania, vol. 10, nr 3 (38): 124 – 147 ISSN 1644-9584, © Wydzia(cid:239) Zarz(cid:200)dzania UW DOI 10.7172.1644-9584.38.8 Sieci neuronowe Kohonena w przeprowadzaniu analiz danych. Próba wykorzystania w eksploracji danych dotycz(cid:200)cych jednostek terytorialnych Miros(cid:239)awa Lasek, Ada Myzik W artykule przedstawiono wyniki analiz maj(cid:200)cych na celu wykrywanie zale(cid:285)- no(cid:258)ci zawartych w nagromadzonych danych, ich graficznej reprezentacji i inter- pretacji za pomoc(cid:200) sieci neuronowych Kohonena. W celu ilustracji analiz danych za pomoc(cid:200) sieci Kohonena pos(cid:239)u(cid:285)ono si(cid:218) przyk(cid:239)adami analizy danych dotycz(cid:200)cych jednostek terytorialnych: punktów gastronomicznych w wojewódz- twach, podmiotów gospodarczych z ró(cid:285)nych sekcji Polskiej Klasyfikacji Dzia(cid:239)alno(cid:258)ci w podregionach oraz obiektów sportowych w powiatach. Analiza zosta(cid:239)a przeprowadzona od zbioru najprostszego do najbardziej z(cid:239)o(cid:285)onego, czyli zawieraj(cid:200)cego najwi(cid:218)cej obserwacji i zmiennych. Na potrzeby analiz danych i(cid:98)ich interpretacji wykorzystywano oprogramowanie firmy SAS Institute Inc. 1. Wst(cid:218)p Potrzeba analizy coraz bardziej z(cid:239)o(cid:285)onych zbiorów danych, o coraz wi(cid:218)k- szej liczbie obserwacji i zmiennych sk(cid:239)ania do poszukiwania metod ich eks- ploracji wykraczaj(cid:200)cych poza mo(cid:285)liwo(cid:258)ci tradycyjnych metod statystycznych czy ekonometrycznych. Jedn(cid:200) z takich metod jest analiza danych za pomoc(cid:200) sztucznych sieci neuronowych Kohonena. Dzia(cid:239)anie sztucznych sieci neuronowych, tak(cid:285)e sieci Kohonena, ma w(cid:98)uproszczeniu odpowiada(cid:202) dzia(cid:239)aniu biologicznych struktur nerwowych z(cid:239)o(cid:285)onych z neuronów. Daj(cid:200) one mo(cid:285)liwo(cid:258)(cid:202) tworzenia odwzorowa(cid:241) nieli- niowych i wykorzystywania wielowymiarowych danych. S(cid:200) metod(cid:200) analizy danych stosunkowo (cid:239)atw(cid:200) do zrozumienia i stosowania, chocia(cid:285) jeszcze niezbyt szeroko znan(cid:200) i u(cid:285)ywan(cid:200). Na potrzeby analiz danych rozwa(cid:285)ono mo(cid:285)liwo(cid:258)(cid:202) zastosowania klasycznej sieci Kohonena i dwóch metod b(cid:218)d(cid:200)cych jej modyfikacj(cid:200): kwantowania wektorowego i uczenia wsadowego. W artykule przedstawiono podstawy dzia(cid:239)ania sieci Kohonena oraz prób(cid:218) analizy za ich pomoc(cid:200) trzech zbiorów danych, dotycz(cid:200)cych jednostek teryto- rialnych: ró(cid:285)nych punktów gastronomicznych w poszczególnych wojewódz- twach, podmiotów gospodarczych w podziale na sekcje Polskiej Klasyfi- kacji Dzia(cid:239)alno(cid:258)ci w podregionach, ró(cid:285)nego rodzaju obiektów sportowych 124 Problemy Zarz(cid:200)dzania Sieci neuronowe Kohonena w przeprowadzaniu analiz danych... w(cid:98)powiatach. Wszystkie zbiory dla przeprowadzenia analizy zaczerpni(cid:218)to ze strony internetowej G(cid:239)ównego Urz(cid:218)du Statystycznego. Przedstawiono mo(cid:285)liwo(cid:258)(cid:202) geograficznej reprezentacji oraz zestawiania wyników uzyskanych na tzw. mapie topologicznej Kohonena z map(cid:200) geograficzn(cid:200). Dla ka(cid:285)dego zbioru danych zosta(cid:239)a wybrana odpowiednia struktura sieci Kohonena i jej parametry, które pozwalaj(cid:200) uzyska(cid:202) najbardziej satysfakcjo- nuj(cid:200)ce wyniki. Wykorzystywano oprogramowanie SAS Enterprise Miner 6.2, metod(cid:218) SOM/Kohonen. Przedstawiono tak(cid:285)e mapy tworzone w programie SAS Base 9.2, które przedstawiaj(cid:200) mapy Polski odpowiadaj(cid:200)ce wynikom uzyskanym za pomoc(cid:200) sieci Kohonena i przedstawianym za pomoc(cid:200) mapy topologicznej Kohonena. 2. Sieci neuronowe Kohonena W roku 1982 w artykule zatytu(cid:239)owanym „Self-Organized Formation of Topologically Correct Feature Maps” T. Kohonen zaproponowa(cid:239) nowy algo- rytm sztucznych sieci neuronowych, który zosta(cid:239) nazwany sieciami Koho- nena (Kohonen 1982: 59–69). Najkrócej mo(cid:285)na je scharakteryzowa(cid:202) jako sieci samoucz(cid:200)ce si(cid:218) z wbudowan(cid:200) konkurencj(cid:200) i mechanizmem s(cid:200)siedztwa (Lasek 2004: 17–37). S(cid:200) to sieci z(cid:239)o(cid:285)one z dwóch warstw neuronów: warstwy wej(cid:258)ciowej i warstwy wyj(cid:258)ciowej (rysunek 1). Wagi połączeń Neurony Wektor wejściowy X 1 X 2 Rys. 1. Struktura sieci neuronowej Kohonena. (cid:189)ród(cid:239)o: S. Osowski 2006. Sieci neuronowe do przetwarzania informacji, Warszawa: Oficyna Wydawnicza Politechniki Warszawskiej, s. 283. Samouczenie polega na tym, (cid:285)e uczenie, zwane te(cid:285) trenowaniem sieci, odbywa si(cid:218) w trybie „bez nauczyciela” (unsupervised learning; self-organizing), vol. 10, nr 3 (38), 2012 125 Miros(cid:239)awa Lasek, Ada Myzik co oznacza, (cid:285)e dla podawanych danych wej(cid:258)ciowych do treningu nie jest przedstawiana prawid(cid:239)owa odpowied(cid:283). Sie(cid:202) nie jest zapoznawana z tym, jakie sygna(cid:239)y wyj(cid:258)ciowe powinny odpowiada(cid:202) wprowadzanym sygna(cid:239)om wej(cid:258)cio- wym. Konkurencja jest mechanizmem powoduj(cid:200)cym, (cid:285)e neurony ucz(cid:200) si(cid:218) rozpoznawania sygna(cid:239)ów wej(cid:258)ciowych i reagowania na sygna(cid:239)y wej(cid:258)ciowe, konkuruj(cid:200)c ze sob(cid:200). Neuron, który najsilniej zareaguje na dany sygna(cid:239) wej- (cid:258)ciowy – im bardziej wagi neuronu s(cid:200) podobne do sygna(cid:239)ów wej(cid:258)ciowych (warto(cid:258)ci wej(cid:258)ciowych), tym silniejsza reakcja – „zwyci(cid:218)(cid:285)a” w konkurencji rozpoznawania okre(cid:258)lonych sygna(cid:239)ów wej(cid:258)ciowych. Inne neurony zostaj(cid:200) zwy- ci(cid:218)zcami w rozpoznawaniu innych sygna(cid:239)ów (warto(cid:258)ci) wej(cid:258)ciowych. S(cid:200)siedz- two jest tu rozumiane jako takie nauczanie sieci, (cid:285)e neurony s(cid:200)siaduj(cid:200)ce z(cid:98)neuronem zwyci(cid:218)zc(cid:200) w rozpoznawaniu okre(cid:258)lonych sygna(cid:239)ów ucz(cid:200) si(cid:218) wraz z nim, chocia(cid:285) mniej intensywnie. Takie trenowanie sieci powoduje, (cid:285)e s(cid:200)sia- duj(cid:200)ce neurony b(cid:218)d(cid:200) reagowa(cid:239)y na podobne sygna(cid:239)y (warto(cid:258)ci) wej(cid:258)ciowe. Wynik trenowania sieci (neurony warstwy wyj(cid:258)ciowej) jest przedstawiany na wykresie nazywanym map(cid:200) Kohonena lub map(cid:200) topologiczn(cid:200). Poszczególne obserwacje nazywane s(cid:200) przypadkami wej(cid:258)ciowymi lub ucz(cid:200)cymi. Struktura sieci Kohonena nie jest skomplikowana w porównaniu z(cid:98)innymi rodzajami sieci neuronowych (Myzik 2012). Sie(cid:202) Kohonena sk(cid:239)ada si(cid:218) bowiem z warstwy wej(cid:258)ciowej i wyj(cid:258)ciowej, natomiast nie posiada (cid:285)adnych warstw ukrytych, tak jak inne rodzaje sieci. Wymagane jest, aby dane przed- stawione na wej(cid:258)ciu sieci zosta(cid:239)y uprzednio znormalizowane lub wystandary- zowane. S. Osowski wskazuje na konieczno(cid:258)(cid:202) nadmiaru danych wej(cid:258)ciowych, aby metoda uczenia poprzez samoorganizacj(cid:218) mog(cid:239)a wykry(cid:202) istotne wzorce zawarte w danych (Osowski 2006: 282). Warstwa wyj(cid:258)ciowa z(cid:239)o(cid:285)ona jest z neuronów, które nazywane s(cid:200) te(cid:285) wektorami wagowymi lub kodowymi. Na ogó(cid:239) neurony przedstawiane s(cid:200) w sposób, który u(cid:239)atwia interpretacj(cid:218) wyników uczenia sieci (Myzik 2012: 8–12). Popularn(cid:200) metod(cid:200) odwzorowania na p(cid:239)aszczy(cid:283)nie warstwy wyj(cid:258)ciowej jest nadanie jej formy dwuwymiarowej siatki sk(cid:239)adaj(cid:200)cej si(cid:218) z elementów (prostok(cid:200)tów, kó(cid:239)ek – w zale(cid:285)no(cid:258)ci od oprogramowania), które odpowiadaj(cid:200) poszczególnym neuronom. Sie(cid:202) Kohonena jest zaliczana do tzw. sieci pe(cid:239)nych, gdy(cid:285) ka(cid:285)dy przypadek ucz(cid:200)cy z warstwy wej(cid:258)ciowej jest po(cid:239)(cid:200)czony z ka(cid:285)dym neuronem z warstwy wyj(cid:258)ciowej i nie ma powi(cid:200)za(cid:241) mi(cid:218)dzy elementami tej samej warstwy. Po(cid:239)(cid:200)- czeniom s(cid:200) przyporz(cid:200)dkowane wagi o warto(cid:258)ciach z przedzia(cid:239)u [0, 1] (Larose 2006: 168–169). Wagom s(cid:200) nadawane warto(cid:258)ci pocz(cid:200)tkowe za pomoc(cid:200) ró(cid:285)- nych algorytmów. Warto(cid:258)ci te mog(cid:200) by(cid:202) ustalone jako losowe lub wyznaczone na podstawie algorytmu dwóch pierwszych g(cid:239)ównych sk(cid:239)adowych. Uczenie czy te(cid:285) trenowanie sieci Kohonena przebiega w sposób ite- racyjny. Tzw. epoka uczenia (trenowania) sieci ko(cid:241)czy si(cid:218) po zapoznaniu sieci ze wszystkimi przypadkami ucz(cid:200)cymi i sk(cid:239)ada si(cid:218) z wielu pojedynczych kroków. Krok obejmuje analiz(cid:218) jednego przypadku ucz(cid:200)cego, rywalizacj(cid:218) poszczególnych neuronów o tytu(cid:239) neuronu wygrywaj(cid:200)cego, a nast(cid:218)pnie modyfikacj(cid:218) wektora wagowego zwyci(cid:218)skiego neuronu oraz neuronów z(cid:98)nim 126 Problemy Zarz(cid:200)dzania Sieci neuronowe Kohonena w przeprowadzaniu analiz danych... s(cid:200)siaduj(cid:200)cych. Neuronem zwyci(cid:218)skim lub wygrywaj(cid:200)cym nazywany jest neu- ron, dla którego warto(cid:258)(cid:202) funkcji decyzyjnej, a jest ni(cid:200) zazwyczaj odleg(cid:239)o(cid:258)(cid:202) euklidesowa pomi(cid:218)dzy wektorem wagowym a przypadkiem wej(cid:258)ciowym, przyjmuje najlepsz(cid:200) (w przypadku odleg(cid:239)o(cid:258)ci euklidesowej – najmniejsz(cid:200)) warto(cid:258)(cid:202). Nast(cid:218)pnie wagi neuronu wygrywaj(cid:200)cego i jego s(cid:200)siadów s(cid:200) mody- fikowane, tak aby by(cid:239)y jeszcze bardziej podobne do przypadku ucz(cid:200)cego. W procedurze modyfikacji stosowany jest tzw. wspó(cid:239)czynnik uczenia, który maleje wraz ze wzrostem liczby kroków, aby zmiany na pocz(cid:200)tku by(cid:239)y du(cid:285)e (gwa(cid:239)towne), a w kolejnych krokach uczenia neuronów coraz mniej- sze (Larose 2006: 169–170). Drugim wspó(cid:239)czynnikiem, którego warto(cid:258)(cid:202) jest zmniejszana wraz z kolejnymi krokami algorytmu, jest promie(cid:241) s(cid:200)siedztwa, tak aby pocz(cid:200)tkowo warto(cid:258)ci wag neuronów s(cid:200)siaduj(cid:200)cych z neuronem zwy- ci(cid:218)zc(cid:200) szybko (gwa(cid:239)townie) si(cid:218) dostosowywa(cid:239)y do zwyci(cid:218)zcy, a nast(cid:218)pnie stop- niowo zmiany stawa(cid:239)y si(cid:218) coraz mniejsze. Jednak(cid:285)e uwzgl(cid:218)dnienie podczas modyfikacji wag neuronów zachodzenia s(cid:200)siedztwa powoduje, (cid:285)e neurony po(cid:239)o(cid:285)one obok siebie na mapie topologicznej s(cid:200) cz(cid:218)sto do siebie podobne. Ca(cid:239)y algorytm trenowania sieci Kohonena mo(cid:285)na uporz(cid:200)dkowa(cid:202) w proces z(cid:239)o(cid:285)ony z nast(cid:218)puj(cid:200)cych kroków (Larose 2006: 170; Myzik 2012: 10–11): 1) inicjalizacja pocz(cid:200)tkowych wektorów wagowych, np. w sposób losowy lub opieraj(cid:200)c si(cid:218) na dwóch pierwszych sk(cid:239)adowych g(cid:239)ównych; 2) wybranie przypadku ucz(cid:200)cego (obserwacji); 3) obliczenie warto(cid:258)ci funkcji decyzyjnej dla wszystkich neuronów i wybranie neuronu wygrywaj(cid:200)cego; 4) okre(cid:258)lenie neuronów s(cid:200)siaduj(cid:200)cych z neuronem zwyci(cid:218)skim na podstawie warto(cid:258)ci funkcji s(cid:200)siedztwa; 5) dostosowanie wag neuronów s(cid:200)siaduj(cid:200)cych przy wykorzystaniu wspó(cid:239)- czynnika uczenia (tzw. adaptacja); 6) modyfikacja wspó(cid:239)czynnika uczenia i rozmiaru s(cid:200)siedztwa; 7) powrót do realizacji punktu 2, je(cid:285)eli nie zosta(cid:239)y spe(cid:239)nione warunki zako(cid:241)- czenia uczenia sieci. Najwi(cid:218)ksz(cid:200) zalet(cid:200) sieci neuronowych, tak(cid:285)e Kohonena, jest umo(cid:285)liwienie przedstawiania zale(cid:285)no(cid:258)ci nieliniowych oraz rozwi(cid:200)zywanie problemów, dla których nie umiemy dok(cid:239)adnie zdefiniowa(cid:202) zale(cid:285)no(cid:258)ci przyczynowo-skut- kowych. R. Tadeusiewicz (2001: 48–49) zwraca uwag(cid:218), (cid:285)e sie(cid:202) Kohonena potrafi wykrywa(cid:202) powi(cid:200)zania, które zosta(cid:239)yby pomini(cid:218)te, gdyby zastosowano tra- dycyjn(cid:200) sie(cid:202) i sposób uczenia (tj. uczenie z „nauczycielem”, gdy w danych wej(cid:258)ciowych do uczenia sieci zawarte s(cid:200) poprawne odpowiedzi). R.S. Collica (2007: 212) w odniesieniu do praktycznej strony zastosowania sieci Kohonena w(cid:258)ród zalet wymienia (cid:239)atwo(cid:258)(cid:202) zrozumienia algorytmu, jego logiczn(cid:200) struktur(cid:218), natomiast za g(cid:239)ówne zagro(cid:285)enia stosowania algorytmu uwa(cid:285)a jego problemy w radzeniu sobie z brakuj(cid:200)cymi obserwacjami, du(cid:285)e zapotrzebowanie na moc obliczeniow(cid:200) oraz zmienne rezultaty w zale(cid:285)no(cid:258)ci od wielko(cid:258)ci próby, która zostanie wykorzystana w badaniu. vol. 10, nr 3 (38), 2012 127 Miros(cid:239)awa Lasek, Ada Myzik W artykule M. Lasek jako podstawowe wady sieci Kohonena wymienia si(cid:218) (Lasek 2004: 26–27): – brak regu(cid:239) budowy architektury sieci, takich jak okre(cid:258)lenie liczby neuro- nów czy wymiaru sieci, oraz trudno(cid:258)ci wyznaczania parametrów trenowa- nia, takich jak warto(cid:258)ci pocz(cid:200)tkowe wag, wspó(cid:239)czynnik uczenia, promie(cid:241) s(cid:200)siedztwa, porz(cid:200)dek prezentowania danych w procesie uczenia, które s(cid:200) znajdywane metod(cid:200) prób i b(cid:239)(cid:218)dów; nieodpowiedni dobór parametrów mo(cid:285)e by(cid:202) przyczyn(cid:200) braku sukcesu w trenowaniu sieci; – wynik trenowania sieci zale(cid:285)y od porz(cid:200)dku, w jaki pobierane s(cid:200) przyk(cid:239)ady do trenowania, poniewa(cid:285) wagi neuronów s(cid:200) modyfikowane w sposób wskazany przez algorytm po zaprezentowaniu ka(cid:285)dego kolejnego przy- k(cid:239)adu; – zbie(cid:285)no(cid:258)(cid:202) procesu uczenia nie opiera si(cid:218) na kryterium optymalizacji, lecz jest wymuszana zmniejszaj(cid:200)cym si(cid:218) wspó(cid:239)czynnikiem uczenia i zasi(cid:218)giem uczenia; dlatego te(cid:285) nie ma gwarancji, (cid:285)e sie(cid:202) mo(cid:285)e nauczy(cid:202) si(cid:218) pra- wid(cid:239)owo rozpoznawa(cid:202) sygna(cid:239)y wej(cid:258)ciowe oraz (cid:285)e b(cid:218)dzie przedstawia(cid:202) w(cid:98)pe(cid:239)ni z(cid:239)o(cid:285)ono(cid:258)(cid:202) problemu. Aby przezwyci(cid:218)(cid:285)y(cid:202) wymienione powy(cid:285)ej wady, podj(cid:218)to próby polepszenia metody trenowania sieci Kohonena, m.in. poprzez w(cid:239)(cid:200)czenie algorytmu roz- mytych k-(cid:258)rednich, gdzie „rozmyto(cid:258)(cid:202)” jest rozumiana zgodnie z(cid:98)teori(cid:200) zbio- rów rozmytych L.A. Zadeha (Lasek 22–24, 27). Dzi(cid:218)ki w(cid:239)(cid:200)czeniu algorytmu rozmytych k-(cid:258)rednich uzyskano szereg korzy(cid:258)ci, jak np. wi(cid:218)ksz(cid:200) odporno(cid:258)(cid:202) wyników na pocz(cid:200)tkowe warto(cid:258)ci wprowadzanych parametrów, uniezale(cid:285)nienie od kolejno(cid:258)ci wprowadzania przyk(cid:239)adów do trenowania sieci, zmniejszenie koniecznej liczby cykli trenowania (Lasek 2007: 113–134). Jednak(cid:285)e opisywana wcze(cid:258)niej dla przypadku nierozmytej sieci Kohonena adaptacja s(cid:200)siedztwa na mapie Kohonena nie ma ju(cid:285) miejsca. Neurony reprezentuj(cid:200)ce podobne obserwacje (dane wej(cid:258)ciowe) nie musz(cid:200) s(cid:200)siadowa(cid:202) ze sob(cid:200) na mapie topo- logicznej Kohonena. Zalety wizualne mapy zwyk(cid:239)ych sieci Kohonena zostaj(cid:200) utracone przy wykorzystywaniu rozmytego algorytmu trenowania. Uproszczon(cid:200) wersj(cid:200) algorytmu Kohonena jest tzw. kwantowanie wekto- rowe (Vector Quantization – VQ). W przypadku tego algorytmu zbiór danych zostaje podzielony na zdefiniowan(cid:200) liczb(cid:218) skupie(cid:241), tak (cid:285)e ka(cid:285)de z nich jest reprezentowane przez jeden wektor wagowy. Kwantowanie wektorowe nie wykorzystuje koncepcji s(cid:200)siedztwa. Modyfikowane s(cid:200) jedynie wagi neuro- nów zwyci(cid:218)zców. Przy zastosowaniu takiego algorytmu ko(cid:241)cowe rezultaty s(cid:200) w(cid:98)znacznej mierze uzale(cid:285)nione od pocz(cid:200)tkowych warto(cid:258)ci wektorów wago- wych, a algorytm cechuje si(cid:218) sk(cid:239)onno(cid:258)ci(cid:200) do wybierania minimów lokalnych zamiast globalnych (Kohonen 2008: 310–311). Inn(cid:200) modyfikacj(cid:200) algorytmu Kohonena jest tzw. uczenie wsadowe sieci. W przeciwie(cid:241)stwie do oryginalnego algorytmu Kohonena, wektory wagowe w(cid:98)przypadku uczenia wsadowego s(cid:200) dostosowywane po wczytaniu nie kolejno rozpatrywanych obserwacji, ale ca(cid:239)ego zbioru danych. Po ka(cid:285)dym przypadku ucz(cid:200)cym zapami(cid:218)tywane s(cid:200) informacje o wektorze zwyci(cid:218)skim i parametrze 128 Problemy Zarz(cid:200)dzania Sieci neuronowe Kohonena w przeprowadzaniu analiz danych... s(cid:200)siedztwa, a na koniec ca(cid:239)ej epoki uczenia na podstawie tych danych s(cid:200) obliczane nowe wektory wagowe (Kohonen 1998: 3–4). Nast(cid:218)pnie przy zasto- sowaniu nowych wektorów wagowych ponownie analizowane s(cid:200) wszystkie przypadki wej(cid:258)ciowe, a(cid:285) do spe(cid:239)nienia warunków zaprzestania uczenia sieci. Obliczanie wektorów wagowych mo(cid:285)e si(cid:218) odbywa(cid:202) na podstawie warto(cid:258)ci nie- parametrycznej funkcji regresji (SAS 2010). Metoda ta jest szybsza w(cid:98)dzia- (cid:239)aniu, bardziej stabilna i nie wymaga stosowania wspó(cid:239)czynnika uczenia. Utrudnieniem stosowania algorytmu Kohonena mo(cid:285)e by(cid:202) pojawianie si(cid:218), i to ju(cid:285) w trakcie uczenia, tzw. martwych neuronów, tj. takich, które nie reprezentuj(cid:200) (cid:285)adnych danych wej(cid:258)ciowych. Przyczyn(cid:200) ich pojawiania si(cid:218) mo(cid:285)e by(cid:202) losowo(cid:258)(cid:202) wag pocz(cid:200)tkowych lub zbyt ma(cid:239)y rozmiar s(cid:200)siedztwa. Poja- wianie si(cid:218) martwych neuronów na mapie topologicznej Kohonena zwi(cid:218)ksza tzw. b(cid:239)(cid:200)d kwantyzacji, mierzony jako (cid:258)rednia warto(cid:258)(cid:202) odleg(cid:239)o(cid:258)ci wyliczanych dla ka(cid:285)dego przypadku wej(cid:258)ciowego do najbardziej podobnego do niego reprezentanta na mapie (mo(cid:285)na zast(cid:200)pi(cid:202) (cid:258)redni(cid:200) inn(cid:200) miar(cid:200), np. median(cid:200)) i niekorzystnie wp(cid:239)ywa na mo(cid:285)liwo(cid:258)ci interpretowania wyników, gdy(cid:285) dane b(cid:218)d(cid:200) odzwierciedlone przez mniejsz(cid:200) liczb(cid:218) neuronów (Osowski 2006: 286). Nauczona sie(cid:202) Kohonena mo(cid:285)e zosta(cid:202) zastosowana nie tylko do analizy zale(cid:285)no(cid:258)ci wyst(cid:218)puj(cid:200)cych w zbiorze danych wej(cid:258)ciowych, które s(cid:200) wykorzy- stywane do jej trenowania, czego prób(cid:218) przedstawiamy w tym artykule, lecz tak(cid:285)e przeznaczona do klasyfikowania nowych obiektów, tzn. takich, z(cid:98)któ- rymi sie(cid:202) nie by(cid:239)a jeszcze zapoznawana. Je(cid:285)eli przedstawiona wyuczonej sieci nowa obserwacja nie zostaje przydzielona do (cid:285)adnej z grup, wskazuje to, (cid:285)e jest odmienna od obserwacji, na których przeprowadzono jej trenowanie. 3. Budowa i wykorzystywane sieci Kohonena przy zastosowaniu programu SAS Enterprise Miner (procedura SOM/Kohonen) SAS Enterprise Miner 6.2 jest komponentem pakietu SAS, opracowanym specjalnie na potrzeby przeprowadzania eksploracji danych (Data Mining). Jest wyposa(cid:285)ony w intuicyjny, graficzny interfejs, u(cid:239)atwiaj(cid:200)cy i znacznie przyspieszaj(cid:200)cy budow(cid:218) modeli eksploracji danych. Prostok(cid:200)ty odpowiednio oznaczone (tekst i grafika), reprezentuj(cid:200)ce dzia(cid:239)ania (tzw. w(cid:218)z(cid:239)y) dla prze- prowadzania kolejnych kroków analizy danych, u(cid:285)ytkownicy SAS Enterprise Miner wprowadzaj(cid:200) na diagram i (cid:239)(cid:200)cz(cid:200) strza(cid:239)kami wskazuj(cid:200)cymi kolejno(cid:258)(cid:202) przetwarzania. Przetwarzanie odbywa si(cid:218) zgodnie z za(cid:239)o(cid:285)eniami metodyki SEMMA w toku realizacji pi(cid:218)ciu kolejnych etapów: próbkowanie, eksplora- cja, modyfikacja, modelowanie i ocena (Sampling, Exploration, Modification, Modeling, Assessment) (Lasek i P(cid:218)czkowski 2010: 117–133). Dla zbudowania i wykorzystywania sieci neuronowych Kohonena trzeba wykorzysta(cid:202) w(cid:218)ze(cid:239) (narz(cid:218)dzie) SOM/Kohonen. Mo(cid:285)liwe jest zastosowanie ró(cid:285)nych algorytmów tworzenia modelu sieci Kohonena: kwantowania wektorowego (Kohonen VQ), samoorganizuj(cid:200)cej vol. 10, nr 3 (38), 2012 129 Miros(cid:239)awa Lasek, Ada Myzik si(cid:218) mapy Kohonena (Kohonen SOM) oraz uczenia wsadowego SOM (Batch SOM) z mo(cid:285)liwo(cid:258)ci(cid:200) wyboru wyg(cid:239)adzania Nadaraya-Watsona (Nadaraya-Wat- son smoothing) i wyg(cid:239)adzania lokalnego liniowego (local-linear smoothing). Ponadto w(cid:218)ze(cid:239) SOM/Kohonen umo(cid:285)liwia okre(cid:258)lenie wielu szczegó(cid:239)owych parametrów (opcji programu), które umo(cid:285)liwiaj(cid:200) dostosowanie modelu do potrzeb analizowanych danych. Parametry te w programie SAS Enterprise Miner 6.2 zosta(cid:239)y podzielone na cztery podstawowe sekcje: Ogólne, Uczenie, Ocena punktowa, Status. Szczegó(cid:239)owo s(cid:200) opisane w dokumentacji programu, a tak(cid:285)e w pracy A. Myzik (2012: 18–24). Podstawowe opcje okre(cid:258)laj(cid:200)ce sposób budowy modelu i jego wyko- rzystywania zawiera sekcja Uczenie. W tej sekcji mo(cid:285)na wyselekcjonowa(cid:202) zmienne do badania, okre(cid:258)li(cid:202) metod(cid:218) budowy sieci oraz wskaza(cid:202) sposób standaryzacji lub zadecydowa(cid:202), (cid:285)e nie b(cid:218)dzie przeprowadzana. Sekcja Ucze- nie zawiera a(cid:285) dziesi(cid:218)(cid:202) podsekcji: Segment, Opcje ziarna, Uczenie wsadowe SOM, Opcje lokalne liniowe, Opcje Nadaraya-Watsona, Kohonen VQ, Koho- nen, Opcje s(cid:200)siedztwa, Kodowanie zmiennych klasyfikuj(cid:200)cych i Braki danych. Szkolenie sieci mo(cid:285)na przeprowadzi(cid:202), przyjmuj(cid:200)c domy(cid:258)lne, proponowane w programie warto(cid:258)ci parametrów, jednak(cid:285)e w takim przypadku mo(cid:285)emy otrzyma(cid:202) rezultaty w znacznym stopniu odbiegaj(cid:200)ce od oczekiwanych. Trzeba te(cid:285) pami(cid:218)ta(cid:202), (cid:285)e wiele opcji jest dost(cid:218)pnych tylko dla konkretnych metod (Kohonen VQ, Kohonen SOM lub Batch SOM), dlatego podstawow(cid:200) rol(cid:218) odgrywa wybór metody. W programie SAS Enterprise Miner stosowane s(cid:200) poj(cid:218)cia krok oraz iteracja. Termin „krok” oznacza dzia(cid:239)anie polegaj(cid:200)ce na zapoznaniu sieci z(cid:98)jednym przypadkiem wej(cid:258)ciowym (obserwacj(cid:200)) i zaktualizowaniu na tej podstawie wektorów wagowych. „Iteracja”, podobnie jak epoka, jest odno- szona do zapoznania sieci z ca(cid:239)ym dost(cid:218)pnym zbiorem danych. Metod(cid:200) domy(cid:258)ln(cid:200) wskazywan(cid:200) w programie jest wsadowe SOM (Batch SOM). W przypadku uczenia wsadowego dla w(cid:239)a(cid:258)ciwego zbudowania modelu istotne jest wskazanie w(cid:239)a(cid:258)ciwej liczby kolumn i wierszy (podsekcja Segment), które definiuj(cid:200) rozmiar mapy topologicznej Kohonena oraz okre(cid:258)lenie roz- miaru s(cid:200)siedztwa (podsekcja Opcje s(cid:200)siedztwa). Rozmiar mapy topologicznej i rozmiar s(cid:200)siedztwa powinny zosta(cid:202) utrzymane w odpowiedniej proporcji, tak (cid:285)e np. dwukrotne zwi(cid:218)kszenie liczby kolumn i wierszy powinno narzu- ca(cid:202) dwukrotne zwi(cid:218)kszenie rozmiaru s(cid:200)siedztwa. Zachowanie tej proporcji jest istotne, poniewa(cid:285) od tych warto(cid:258)ci zale(cid:285)y poziom wyg(cid:239)adzania. Dla przyj(cid:218)cia odpowiednich warto(cid:258)ci najcz(cid:218)(cid:258)ciej niezb(cid:218)dne jest przeprowadzenie wielu prób. R. Matignon wskazuje, (cid:285)e je(cid:285)eli przyjmiemy zbyt ma(cid:239)(cid:200) map(cid:218) topolo- giczn(cid:200), to nie uzyskamy dobrego odwzorowania nieliniowo(cid:258)ci zawartych w(cid:98)danych, natomiast zbyt du(cid:285)y rozmiar spowoduje wyd(cid:239)u(cid:285)enie czasu uczenia sieci, wymaga wi(cid:218)kszej mocy obliczeniowej komputera oraz mo(cid:285)e powodo- wa(cid:202) wyst(cid:218)powanie pustych segmentów na mapie. Stwierdza, (cid:285)e lepiej spraw- dzaj(cid:200) si(cid:218) wi(cid:218)ksze mapy, o ile ka(cid:285)demu skupieniu odpowiada wystarczaj(cid:200)co 130 Problemy Zarz(cid:200)dzania Sieci neuronowe Kohonena w przeprowadzaniu analiz danych... du(cid:285)a liczba przypadków wej(cid:258)ciowych (Matignon 2007: 230). W dokumentacji programu SAS Enterprise Miner 6.2 wskazuje si(cid:218), (cid:285)e powinno ich by(cid:202) pi(cid:218)(cid:202) lub dziesi(cid:218)(cid:202). Tylko dla przypadku uczenia wsadowego jest mo(cid:285)liwe wskazanie opcji wyg(cid:239)adzania i wyznaczanie ich parametrów. Program SAS Enterprise Miner 6.2 umo(cid:285)liwia zastosowanie opcji wyg(cid:239)adzania lokalnego liniowego i wyg(cid:239)adzania Nadaraya-Watsona, które reguluj(cid:200) form(cid:218) funkcji s(cid:200)siedztwa. Ich wykorzystanie daje mo(cid:285)liwo(cid:258)(cid:202) odpowiedniego dostosowania parametru s(cid:200)siedztwa i obszaru wokó(cid:239) neuronu wygrywaj(cid:200)cego (Matignon 2007: 235). Wyg(cid:239)adzanie Nadaraya-Watsona zmniejsza prawdopodobie(cid:241)stwo, (cid:285)e algorytm zatrzyma si(cid:218) w minimum lokalnym. Wyg(cid:239)adzanie lokalne liniowe natomiast umo(cid:285)liwia wyeliminowanie tzw. efektu granicznego (border effect) (Matignon 2007: 230), powoduj(cid:200)cego, (cid:285)e wektory wagowe z obrze(cid:285)y mapy topologicznej s(cid:200) (cid:258)ci(cid:200)gane do jej centrum. Wybór metody Kohonen SOM wymaga spe(cid:239)nienia tych samych zasad dotycz(cid:200)cych liczby wierszy oraz kolumn mapy i rozmiaru s(cid:200)siedztwa, jak w przypadku metody wsadowej Batch SOM. W przypadku Kohonen SOM trzeba dodatkowo ustali(cid:202) w(cid:239)a(cid:258)ciwy poziom wspó(cid:239)czynnika uczenia (poziom domy(cid:258)lny wskazywany w programie wynosi 0,9). R. Matignon proponuje wybranie wysokiej pocz(cid:200)tkowej warto(cid:258)ci, zw(cid:239)aszcza w przypadku gdy pocz(cid:200)t- kowe wektory wagowe zosta(cid:239)y wyznaczone w sposób losowy. Natomiast, je(cid:285)eli wektory wagowe zosta(cid:239)y ustalone w oparciu o wcze(cid:258)niejsze analizy przed przyst(cid:200)pieniem do uczenia sieci, stwierdza, (cid:285)e zasadne mo(cid:285)e by(cid:202) przyj(cid:218)cie ni(cid:285)szej wst(cid:218)pnej warto(cid:258)ci wspó(cid:239)czynnika uczenia. Niezb(cid:218)dne jest te(cid:285) przyj(cid:218)cie odpowiednich kryteriów zako(cid:241)czenia uczenia lub pozostawie- nie warto(cid:258)ci domy(cid:258)lnych. Program daje mo(cid:285)liwo(cid:258)(cid:202) wskazania ko(cid:241)cowego poziomu wspó(cid:239)czynnika uczenia, maksymalnej liczby kroków, maksymalnej liczby iteracji i kryterium zbie(cid:285)no(cid:258)ci. Je(cid:285)eli zostanie wybrana metoda VQ, wymagane jest okre(cid:258)lenie maksy- malnej liczby skupie(cid:241) oraz wspó(cid:239)czynnika uczenia. Zasada wyboru para- metru uczenia jest taka sama jak w przypadku SOM Kohonen. Jednak dla kwantowania wektorowego ju(cid:285) warto(cid:258)(cid:202) 0,5 mo(cid:285)e by(cid:202) uznana za wystarcza- j(cid:200)co wysoki poziom pocz(cid:200)tkowy. Liczba skupie(cid:241) mo(cid:285)e przyjmowa(cid:202) dowolne warto(cid:258)ci dodatnie, a jedyn(cid:200) wskazówk(cid:218) doboru w(cid:239)a(cid:258)ciwej ich liczby mo(cid:285)e da(cid:202) metoda prób i b(cid:239)(cid:218)dów. Nale(cid:285)y podkre(cid:258)li(cid:202), (cid:285)e bardzo istotny wp(cid:239)yw na dzia(cid:239)anie algorytmu ma w(cid:239)a(cid:258)ciwy dobór parametrów s(cid:200)siedztwa. Nie dotyczy to metody Kohonen VQ, poniewa(cid:285) nie stosuje si(cid:218) tu koncepcji s(cid:200)siedztwa. Podstawowym atrybutem s(cid:200)siedztwa jest jego docelowy rozmiar, który w programie jest jako domy(cid:258)lny, przyj(cid:218)ty wed(cid:239)ug wzoru: max(5, max(liczba wierszy, liczba kolumn)/2. Parametr ten mo(cid:285)e przyjmowa(cid:202) dowoln(cid:200) war- to(cid:258)(cid:202) ze zbioru liczb ca(cid:239)kowitych dodatnich. Jednakowo(cid:285) istotnym ograni- czeniem mo(cid:285)liwej do przyj(cid:218)cia warto(cid:258)ci jest zale(cid:285)no(cid:258)(cid:202) pomi(cid:218)dzy docelo- wym rozmiarem s(cid:200)siedztwa a liczb(cid:200) wierszy i kolumn mapy topologicznej. W dokumentacji programu SAS podaje si(cid:218), (cid:285)e wybór ko(cid:241)cowej wielko(cid:258)ci vol. 10, nr 3 (38), 2012 131 Miros(cid:239)awa Lasek, Ada Myzik s(cid:200)siedztwa odgrywa decyduj(cid:200)c(cid:200) rol(cid:218) w trenowaniu mapy samoorganizuj(cid:200)cej. Drugim istotnym parametrem jest parametr, który okre(cid:258)la posta(cid:202) s(cid:200)siedz- twa, w(cid:98)programie nazywany kszta(cid:239)tem j(cid:200)dra. Mo(cid:285)e ono przyjmowa(cid:202) nast(cid:218)- puj(cid:200)ce formy: jednostajne, Epanechnikov, dwuwagowe (biweight), trójk(cid:200)tne (triweight). Kolejny istotny parametr nosi nazw(cid:218) metryki j(cid:200)dra i przedstawia miar(cid:218) odleg(cid:239)o(cid:258)ci neuronów. Na podstawie metryki j(cid:200)dra dostosowywane s(cid:200) poszczególne wektory wagowe do neuronu zwyci(cid:218)skiego oraz okre(cid:258)lana jest odleg(cid:239)o(cid:258)(cid:202) poszczególnych ziaren. Stosowanymi metrykami s(cid:200) m.in. odle- g(cid:239)o(cid:258)(cid:202) maksymalna, miejska, euklidesowa. Dodatkowe parametry s(cid:200)siedztwa stanowi(cid:200) warto(cid:258)ci, które pozwalaj(cid:200) regulowa(cid:202) przebieg budowy mapy, np. regulowa(cid:202) tempo zmniejszania parametru s(cid:200)siedztwa do ko(cid:241)cowej warto(cid:258)ci. 4. Zastosowanie sieci Kohonena na potrzeby analizy danych o punktach gastronomicznych w województwach Dane o punktach gastronomicznych w województwach pobrano ze strony internetowej G(cid:239)ównego Urz(cid:218)du Statystycznego (dane z 2009 r.). Zbiór danych sk(cid:239)ada si(cid:218) z szesnastu obserwacji i czterech zmiennych, które zostan(cid:200) wykorzystane do podzia(cid:239)u obserwacji na skupienia. Ka(cid:285)da obserwacja (przy- padek wej(cid:258)ciowy) przedstawia informacje dotycz(cid:200)ce jednego województwa na temat liczebno(cid:258)ci punktów gastronomicznych czterech typów: restauracji, barów, sto(cid:239)ówek, pozosta(cid:239)ych. Ten zbiór danych wybrano ze wzgl(cid:218)du na jego prostot(cid:218), co powoduje, (cid:285)e stanowi dobr(cid:200) ilustracj(cid:218) sposobu dzia(cid:239)ania metody SOM/Kohonen oraz dobr(cid:200) podstaw(cid:218) dla przeprowadzenia analizy wp(cid:239)ywu zmiany parametrów modelu na wyniki. Ponadto analiza przeprowadzona dla ma(cid:239)o z(cid:239)o(cid:285)onego zbioru mo(cid:285)e by(cid:202) pomocna przy budowie modelu, gdy b(cid:218)d(cid:200) wykorzystywane bardziej z(cid:239)o(cid:285)one dane. Ju(cid:285) wst(cid:218)pna analiza danych wskazuje wyró(cid:285)niaj(cid:200)c(cid:200) si(cid:218) obserwacj(cid:218) dla województwa mazowieckiego. Niezale(cid:285)nie od tego, jak(cid:200) wybierzemy metod(cid:218) badania (jaki model sieci Kohonena), poszczególne parametry, architektur(cid:218) sieci, algorytm (Kohonen VQ, czy te(cid:285) samoorganizuj(cid:200)ca si(cid:218) map(cid:218) Kohonena), obserwacja dla województwa mazowieckiego tworzy odr(cid:218)bne skupienie. Ponadto ten jednoelementowy segment jest zawsze znacz(cid:200)co oddalony od pozosta(cid:239)ych skupie(cid:241). W Mazowieckiem jest ponad dwukrotnie wi(cid:218)cej punk- tów gastronomicznych ni(cid:285) w jakimkolwiek innym województwie. Odmienno(cid:258)(cid:202) tego przypadku wej(cid:258)ciowego od pozosta(cid:239)ych powoduje w budowanej mapie topologicznej powstawanie pustych skupie(cid:241) i wybór wektorów wzorcowych o(cid:98)ujemnych warto(cid:258)ciach. Na podobne zjawisko wskazuje G. Tarczy(cid:241)ski w(cid:98)pracy, w której analizowa(cid:239) jednostki terytorialne (powiaty) pod wzgl(cid:218)- dem rozwoju gospodarczego (Tarczy(cid:241)ski 2011: 90–94). W dalszej analizie tymczasowo usuni(cid:218)to, zgodnie z sugesti(cid:200) G. Tarczy(cid:241)skiego, obserwacj(cid:218) dla województwa mazowieckiego, aby sprawdzi(cid:202), czy sie(cid:202) stanie si(cid:218) wówczas bardziej wra(cid:285)liwa na subtelniejsze zale(cid:285)no(cid:258)ci. 132 Problemy Zarz(cid:200)dzania Sieci neuronowe Kohonena w przeprowadzaniu analiz danych... W przypadku analizowanego zbioru danych potwierdzi(cid:239)a si(cid:218) zale(cid:285)no(cid:258)(cid:202) wskazywana przez S. Osowskiego, orzekaj(cid:200)ca, (cid:285)e sie(cid:202) Kohonena wymaga nadmiaru danych do wykrywania wzorców w nich zawartych (Osowski 2010: 282). Dla analizowanego przez nas niewielkiego zbioru danych, niezale(cid:285)nie od dobieranej konfiguracji, mapa samoorganizuj(cid:200)ca si(cid:218) nie sprawdza si(cid:218) najlepiej. Wiele skupie(cid:241) zawiera po jednej obserwacji. Ograniczanie liczby grup przek(cid:239)ada si(cid:218) na gorsze odwzorowanie zró(cid:285)nicowania segmentów mapy, a ponadto pojawia si(cid:218) problem martwych neuronów. Lepsze efekty pozwala uzyska(cid:202) kwantowanie wektorowe – zgodnie z terminologi(cid:200) przy- j(cid:218)t(cid:200) w oprogramowaniu SAS Enterprise Miner: metoda Kohonen VQ. Za(cid:239)o- (cid:285)ono utworzenie sze(cid:258)ciu skupie(cid:241). Mniejsza liczba sprawia, (cid:285)e skupienia nie ró(cid:285)ni(cid:200) si(cid:218) co do rodzaju punktów gastronomicznych, a jedynie co do ich liczby. Przyj(cid:218)cie wi(cid:218)kszej liczby powoduje z kolei nadmierne rozdrobnienie zbioru danych i powstawanie licznych pustych segmentów. Jako metod(cid:218) standaryzacji danych przyj(cid:218)to przeprowadzenie normalizacji. Pocz(cid:200)tkowe warto(cid:258)ci neuronów wybrano, opieraj(cid:200)c si(cid:218) na metodzie sk(cid:239)adowych g(cid:239)ów- nych. Podstawowa analiza wykaza(cid:239)a, (cid:285)e dwie pierwsze sk(cid:239)adowe g(cid:239)ówne wyja(cid:258)niaj(cid:200) niemal 97% zmienno(cid:258)ci, wykres osypiska tak(cid:285)e sugeruje wybór dwóch sk(cid:239)adowych. Pozosta(cid:239)e parametry zosta(cid:239)y przyj(cid:218)te jako domy(cid:258)lne, zgodnie z sugesti(cid:200) wykorzystywanego zaprogramowanego algorytmu. Metoda Kohonen VQ dzieli zbiór danych na siedem skupie(cid:241), je(cid:285)eli uwzgl(cid:218)dnimy wyodr(cid:218)bnione wcze(cid:258)niej województwo mazowieckie. Rysunek 2 przedstawia zbiór pi(cid:218)tnastu województw w rozbiciu na sze(cid:258)(cid:202) zbiorów. Tabela 1 zawiera statystyki dla utworzonych skupie(cid:241). Rysunek 3 przedsta- wia wizualizacj(cid:218) na mapie Polski uzyskanego podzia(cid:239)u na grupy za pomoc(cid:200) kwantowania wektorowego. SOM – ID segmentu = 2 Liczebność skupienia = 3 2 1 3 6 4 5 Rys. 2. Podzia(cid:239) województw na skupienia wed(cid:239)ug liczebno(cid:258)ci punktów gastronomicznych. (cid:189)ród(cid:239)o: opracowanie w(cid:239)asne. vol. 10, nr 3 (38), 2012 133
Description: