AUTOMATYKA 2009 Tom 13 Zeszyt 3 Joanna Grabska-Chrz¹stowska*, Wojciech Lazar** Automatyzacja procesu badania neuronowego systemu wnioskuj¹cego opartego na programie Statistica w praktycznym zastosowaniu*** 1. Wprowadzenie Sieci neuronowe [1] s¹ uznanym i powszechnie stosowanym narzêdziem do zagadnieñ klasyfikacji. Zw³aszcza w medycynie poszukuje siê wiarygodnych testów wstêpnie rozdzielaj¹cych, na podstawie badania przesiewowego, pacjentów zdrowych od potencjalnie chorych. U ywaj¹c jednej sieci neuronowej z wyjœciem z przedzia³u domkniêtego <0, 1>, gdzie skrajne wartoœci rozdzielaj¹ normê od zaburzenia, trudno okreœliæ, gdzie przebiega granica, od której wysy³amy wybrane osoby na dodatkowe badania, czêsto obci¹ aj¹ce organizm pacjenta. W pracy [3] przedstawiono neuronowy system wnioskuj¹cy bazuj¹cy na za³o eniu, e mamy mo liwoœæ stworzenia, po pierwsze, uniwersalnej sieci oddzielaj¹cej normê od zaburzenia, a po drugie zbudowanie co najmniej dwóch struktur rozdzielaj¹cych ró ne rodzaje zaburzeñ od podanej normy. Na tak przygotowanym zestawie sieci przeprowadzamy szereg eksperymentów maj¹cych na celu dobranie dla ka dej gotowej sieci progu rozdzielaj¹cego zdrowych pacjentów od chorych. Rêczne szukanie optymalnego zestawu co najmniej 3 liczb z przedzia³u (0, 1) jest niezwykle mudne i czasoch³onne. Celem zadania opisanego w tej pracy by³o stworzenie oprogramowania wspomagaj¹cego w³aœciwe zastosowanie systemy wnioskuj¹cego. Automatyczny system zosta³ przetestowany na przyk³adzie badania spirometrycznego opisanego w [3]. Wyniki otrzymane w wyniku dzia³ania programu uleg³y niewielkiej poprawie w stosunku do poprzednich czasoch³onnych poszukiwañ. Automatyczny system poszukiwañ optymalnych sieci i progów oceniania wyników dzia³ania tych struktur zostanie w przysz³oœci zastosowany do innego problemu maj¹cego podobne w³asnoœci np. do oceny prze ywalnosci w przypadku raka jajnika [4]. * Katedra Automatyki, Akademia Górniczo-Hutnicza w Krakowie ** student Informatyki Stosowanej, Wydzia³ EAIiE, Akademia Górniczo-Hutnicza w Krakowie *** Pracê sfinansowano z funduszu badañ w³asnych (umowa AGH nr 10.10.120.783) 1369
1370 Joanna Grabska-Chrz¹stowska, Wojciech Lazar Wszystkie przeprowadzone eksperymenty neuronowe wykonano za pomoc¹ programu Statistica firmy StatSoft [2]. U ywano modu³u Automatycznego Projektanta, który z 200 przebadanych sieci uczonych metod¹ wstecznej propagacji b³êdów wybiera sieæ o najlepszych wynikach przystosowania do zadanych sterowañ. 2. Idea systemu wnioskuj¹cego W zastosowaniach medycznych, przy budowie testów rozdzielaj¹cych pacjentów zdrowych od potencjalnie chorych, czyli podzia³ na normê i zaburzenie przedstawia siê w standardowych tabelach (tab. 1), podaj¹c w poszczególnych polach liczby odpowiadaj¹ce przypisaniu do odpowiedniej kategorii. Przy doborze testu d¹ y siê do sytuacji, w której liczby b i c przyjmuj¹ mo liwie najmniejsz¹ wartoœæ. Tabela 1 Sposób przedstawiania wyników klasyfikacji TEST norma a c zaburzenie b d Uwagi: a, b, c, d zgodne z przyjêtymi we wzorze (1). Jakoœæ testu czyli liczbê poprawnych klasyfikacji oblicza siê za pomoc¹ nastêpuj¹cego wzoru: a+ d liczba poprawnych klasyfikacji = 100% (1) a+ b+ c+ d gdzie: a liczba przypadków klasyfikowanych w normie przez eksperta i sieæ przypadki prawdziwie ujemne, b liczba przypadków klasyfikowanych przez eksperta jako zaburzenie, a przez sieæ jako norma fa³szywie ujemne, c liczba przypadków uznanych przez eksperta za normê, a przez sieæ za zaburzenie fa³szywie dodatnie, d liczba przypadków kwalifikowanych przez eksperta i sieæ jako zaburzenie prawdziwie dodatnie. Oprócz jakoœci klasyfikacji wprowadza siê tak e dwa parametry statystyczne charakteryzuj¹ce wartoœæ diagnostyczn¹ zaproponowanego testu. Zdolnoœæ testu do wykrywania choroby u rzeczywiœcie chorych pacjentów nazywamy czu³oœci¹ metody, a umiejêtnoœæ testu wykluczenia choroby u osób rzeczywiœcie zdrowych jej swoistoœci¹. Wyniki podane
Automatyzacja procesu badania neuronowego systemu wnioskuj¹cego... 1371 przez eksperta przyjmuje siê za ca³kowicie pewne i wiarygodne. Wartoœci parametrów czu³oœci i swoistoœci oblicza siê wed³ug nastêpuj¹cych wzorów: czu³oœæ = d 100% b+ d swoistoœæ = a 100% a+ c (2) (3) gdzie: a, b, c, d zgodne z przyjêtymi w tabeli 1. Przy wyjœciu z za³o enia binarnym, a w praktyce ci¹g³ym w przedziale obustronnie domkniêtym <0,1>, stosowano zasadê przypisywania odpowiedzi zero (norma), gdy wyjœciowa wartoœæ otrzymana jako odpowiedÿ sieci wynosi³a mniej, ni przyjêta wartoœæ progowa (np. 0,5) i wartoœci 1 (zaburzenie), gdy rezultat osi¹ga³ lub przekracza³ zadany próg. Mo na to nazwaæ testem o zadanym progu (np. 0,5). Okaza³o siê, e mo na sterowaæ wartoœci¹ przypadków fa³szywie ujemnych (b) i fa³szywie dodatnich (c), zmieniaj¹c ten wczeœniej arbitralnie przyjêty próg binaryzacji. Dla pojedynczej sieci nie mo na dokonaæ jednoczesnego zwiêkszenia progu binaryzacji tak, aby otrzymaæ jak najmniej przypadków w polu b i zmniejszenia progu, aby otrzymaæ ma³¹ liczbê w polu c. St¹d pomys³ systemu sieci z ró nymi progami binaryzacji. Ideê systemu wnioskuj¹cego przedstawia rysunek 1. Rys. 1. Struktura systemu wnioskuj¹cego (N liczba sieci w systemie) Przy wyborze uznanym za ostateczny (klasyfikacjia pewna) dopuszcza siê niewielki b³¹d, którego przy takim podejœciu nie da siê unikn¹æ. Dobór progu przy interpretacji odpowiedzi sieci 1 ma jak najbardziej zmniejszyæ ten wstêpny b³¹d. Przy ostatecznej klasyfikacji
1372 Joanna Grabska-Chrz¹stowska, Wojciech Lazar (sieæ nr N) nale y tak ustawiæ próg binaryzacji, aby mo liwie najmniej przypadków pozosta³o w polu b przy rozs¹dnej liczbie przypadków w polu c. Sieæ o numerze 1 (rys. 1) jest sieci¹ uniwersaln¹, czyli najlepsz¹ sieci¹ rozdzielaj¹c¹ normê od zaburzenia. Natomiast sieci 2 do N, to neuronowe struktury rozdzielaj¹ce poszczególne rodzaje zaburzenia od szeroko pojêtej normy (wszystkie wyniki osób o innym charakterze zaburzenia oddechowego s¹ chwilowo pomijane). Przy eksploatacji tak zbudowanego systemu wnioskuj¹cego nale y na wejœcie sieci nr 1 wprowadziæ zestaw wszystkich wektorów, które chcemy poddaæ klasyfikacji. Tych pacjentów, których uznamy za chorych, dopisujemy do rejestru klasyfikacji pewnych, uznanych za nie bêd¹cych w normie. Resztê wektorów, czyli wyniki pacjentów uznanych za zdrowych wprowadzamy na wejœcie sieci nr 2. I znowu czêœæ pacjentów zostanie (z pewnym b³êdem) wpisana do klasyfikacji pewnych. Po przejœciu przez wszystkie etapy asystemu, na koñcu zostajemy z rejestrem pacjentów uznanych za chorych i pozosta³ych (uznanych za zdrowych przez sieæ o numerze N) ostatecznie sklasyfikowanych jako bêd¹cych w normie. 3. Automatyzacja procesu badania systemu wnioskuj¹cego Statistica udostêpnia interfejs programistyczny wykorzystuj¹c standard COM (Component Object Model) [2]. Architektura oparta na tym standardzie umo liwia dostêp do bibliotek oraz modu³ów systemu Statistica z poziomu jêzyków programowania takich jak: Visual Basic.NET, C# oraz C++. G³ówny interfejs systemu znajduje siê w bibliotece DLL Statistica Object Library. W czasie instalacji systemu biblioteka jest rejestrowana w systemie operacyjnym. Udostêpniony przez system interfejs pozwala wywo³ywaæ funkcje i biblioteki systemu Statistica z zewnêtrznej aplikacji. Aplikacja wykorzystuje silnik systemu Statistica do wygenerowania sieci neuronowych. Statystyki wygenerowane przez system dla poszczególnych sieci s¹ wykorzystywane na dalszym etapie analizy. Aplikacja dzia³a na zasadzie kontrolera przep³ywu danych pomiêdzy systemem Statistica a baz¹ danych. Statistica w swoim pakiecie dostarcza u ytkownikowi modu³ Automatyczne Sieci Neuronowe. Z poziomu aplikacji wczytujemy dane do systemu Statistica, aby nastêpnie wywo³aæ now¹ instancjê analizy typu Automatyczne Sieci Neuronowe Aplikacja uruchamia instancjê Statistica i wywo³uje modu³ SANN (rys. 2). W aplikacji ustalamy iloœæ warstw sieci neuronowych, przez które bêd¹ przechodziæ dane w kolejnych iteracjach. W panelu Thresholds ustalamy progi binaryzacji na wyjœciu poszczególnych warstw. Po ka dej iteracji wyekstrahowane dane zostaj¹ zapisane w bazie danych, a nastêpnie ³adowane do kolejnej warstwy. U ytkownik aplikacji podaje z ilu sieci ma sk³adaæ siê system wnioskuj¹cy i interakcyjnie dobiera parametry Automatycznego Projektanta w programie Statistica. Po ustale-
Automatyzacja procesu badania neuronowego systemu wnioskuj¹cego... 1373 niu, które sieci zostan¹ wybrane, aplikacja testuje wszystkie sieci z ró nymi progami binaryzacji odpowiedzi i generuje koñcowe wyniki w formie odpowiednich tabel i wartoœci jakoœci testów. Rys. 2. Zrzut z ekranu dzia³aj¹cej aplikacji 4. Wyniki otrzymane dla klasyfikacji badañ spirometrycznych Do testowania aplikacji automatycznie szukaj¹cej najlepszej struktury systemu wnioskuj¹cego u yto wyników badañ nad klasyfikatorem do zadania spirometrycznego przedstawionych w pracy [3]. Na podstawie standardowego testu diagnostycznego nale y okreœliæ, czy dany pacjent przejawia zaburzenia oddechowe czy te nie. W razie podejrzeñ o wystêpowanie pewnych nieprawid³owoœci badana osoba zostanie skierowana na dodatkowe, specjalistyczne testy. Testy przeprowadzono na podstawie 1022 wyników badañ spirometrycznych (samych ch³opców), które zosta³y wykonane w Zak³adzie Fizjopatologii Uk³adu Oddychania Instytutu GruŸlicy i Chorób P³uc w Rabce. Przy rêcznym badaniu systemu wnioskuj¹cego, jako pierwszy element systemu wykorzystano sieæ uczon¹ tylko 6 elementami badania spirometrycznego, oddzielaj¹c¹ normê od zaburzenia, czyli strukturê z jednym wyjœciem binarnym. Ustalono próg na 0,3 (ma³a wartoœæ progu zmniejsza liczbê przypadków w polu c). Wyniki uzyskane dla 1022 wektorów wejœciowych pokazano w tabeli 2.
1374 Joanna Grabska-Chrz¹stowska, Wojciech Lazar Na wejœcie sieci nr 2 podaje siê wektory z pól a i b, czyli uznane przez sieæ nr 1 za bêd¹ce w normie. W tym miejscu wprowadza siê ju wstêpny b³¹d (oko³o 2%) zwi¹zany z 20 wektorami, które zosta³y b³êdnie zaklasyfikowane i ju nie zostan¹ zweryfikowane. Ta czêœæ pacjentów potencjalnie zdrowych zostanie wys³ana do dalszych badañ. Tabela 2 Sieæ nr 1: 6 parametrów na wejœciu próg 0,3 SIEÆ norma 607 20 zaburzenie 147 248 Tabela 3 Sieæ nr 2 oddzielaj¹ca normê od obturacji próg 0,6 SIEÆ norma 585 42 zaburzenie 80 315 Na podstawie analizy rodzajów i czêstoœci wystêpowania zaburzeñ w 1022 danych rozpoznañ ustalono, e sieæ nr 2 oddzieli normê od obturacji, a sieæ nr 3 umo liwi separacjê normy od restrykcji. Na wejœciu sieci 2 i 3 dodano parametr wzrostu, który u³atwia uczenie sieci (tab. 3 i 4). Tabela 4 Wyniki systemu wnioskuj¹cego próg sieci 3 0,6 SYSTEM WNIOSKUJ CY norma 574 53 zaburzenie 47 364 Zbiór ucz¹cy i testowy obejmowa³ wszystkich pacjentów uznanych przez eksperta za zdrowych, w przypadku sieci 2 cierpi¹cych na zaburzenie obturacyjne, a dla sieci 3 zaburzenie typu restrykcyjnego. Pacjenci z zaburzeniem mieszanym chwilowo nie zostali wziêci pod uwagê. Obydwie sieci zosta³y poddane uczeniu. Na wejœcie wczeœniej wytrenowanej sieci 2 wprowadzamy 754 wektory (przypadki z pól a i b tab. 1) jako elementy testowe. Wyniki dla wszystkich wektorów ze zbioru danych przedstawia tabela 3.
Automatyzacja procesu badania neuronowego systemu wnioskuj¹cego... 1375 Podobnie jak poprzednio, przypadki z pól c i d uznajemy za pewne, a 665 wektorów na razie uznanych przez sieæ za normê, wprowadzamy jako zbiór testowy do wczeœniej nauczonej sieci nr 3, separuj¹cej normê od restrykcji. Rezultaty ca³ego systemu otrzymane przy zastosowaniu ró nych progów klasyfikacji sieci nr 3 zawarto w tabeli 4. 5. Podsumowanie Zbudowana aplikacja spe³ni³a oczekiwania autorów pracy i dla znanego rozpracowanego wczeœniej problemu z rêcznie, pracoch³onnie dobieranymi progami dla kolejnych sieci, uzyskano podobne, a nawet odrobinê lepsze wyniki ostatecznej klasyfikacji (tab. 5). Tabela 5 Zestawienie wyników Jakoœæ klasyfikacji [%] Czu³oœæ [%] Swoistoœæ [%] Automatyczny system wnioskuj¹cy (progi 0,3, 0,7, 07) System wnioskuj¹cy (progi 0,3, 0,6, 0,6) 91,1 92,9 89,1 90,2 92 87 W³aœciwym celem budowy tak zaawansowanej aplikacji jest jej testowanie dla innych strukturalnie podobnych problemów. Do takich zagadnieñ nale y ocena prze ycia kobiet w przypadku wyst¹pienia u nich raka jajnika. Ten problem równie mo na rozdzieliæ na trzy sieci: jedn¹ uniwersaln¹, a dwie uwzglêdniaj¹ce wyniki badañ krwi przed i po chemioterapii. W tym wypadku wy sze wskaÿniki poprawnoœci klasyfikacji s¹ niezwykle istotne z punktu widzenia planowania bardziej agresywnych metod dalszego leczenia w Ÿle rokuj¹cych przypadkach. Literatura [1] Tadeusiewicz R., Sieci neuronowe. PWN, Warszawa, 1993. [2] Tadeusiewicz R., Lula P., Wprowadzenie do sieci neuronowych. Dokumentacja polskiej wersji Statistica Neural Networks, StatSoft 2001. [3] Grabska-Chrz¹stowska J., Tomalak W., Zastosowanie neuronowego systemu wnioskuj¹cego do klasyfikacji wyników badania spirometrycznego. Materia³y konferencyjne Sztuczna inteligencja, Kraków, 2004. [4] Grabska-Chrz¹stowska J., Kulpa J., Rychlik U., Zastosowanie sieci neuronowych do predykcji prze ycia w przypadku raka jajnika. Automatyka (pó³rocznik AGH), t. 11, z. 3, 2007, 345 354.