Zastosowanie Informatyki w Medycynie

27
zastosowania informatyki w medycynie Strona 1 z 27 [email protected] ZASTOSOWANIA INFORMATYKI W MEDYCYNIE wykłady Jacek Lewiński Społeczna Wyższa Szkoła Przedsiębiorczości i Zarządzania w Łodzi Studia II letnie magisterskie uzupełniające Semestr II Grupa projektowa nr 8 index 50564

description

Co to są sieci neuronowe, systemy ekspertowe, sztuczna inteligencja, systemy rozmyte, algorytmy genetyczne, ewolucyjne.

Transcript of Zastosowanie Informatyki w Medycynie

Page 1: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 1 z 27

[email protected]

ZASTOSOWANIA INFORMATYKI

W MEDYCYNIE

wykłady

Jacek Lewiński

Społeczna Wyższa Szkoła

Przedsiębiorczości i Zarządzania w Łodzi

Studia II letnie magisterskie uzupełniające

Semestr II

Grupa projektowa nr 8

index 50564

Page 2: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 2 z 27

[email protected]

SPIS TREŚCI

Wstęp .................................................................................................................................................... 3

1. Sieć neuronowa ................................................................................................................................. 3

2. Inteligencja obliczeniowa .................................................................................................................. 5

3. Sztuczne sieci neuronowe .................................................................................................................. 6

4. Zastosowanie metod sztucznej inteligencji ........................................................................................ 8

5. System rozmyty ................................................................................................................................. 9

6. Systemy ekspertowe .......................................................................................................................... 9

7. Sieci neuronowe - algorytm uczenia ................................................................................................ 13

8. Algorytmy genetyczne - ewolucyjne ................................................................................................ 15

9. Inteligentne systemy hybrydowe ..................................................................................................... 17

10. Sieci oparte na radialnych funkcjach bazowych RBF .................................................................... 20

11. Podsumowanie............................................................................................................................... 24

Przypisy .............................................................................................................................................. 26

Bibliografia ......................................................................................................................................... 27

Page 3: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 3 z 27

[email protected]

Wstęp

W latach pięćdziesiątych XX wieku, w wyniku rozwoju techniki komputerowej oraz pojawienia się

nowych idei w językoznawstwie (Chomsky), ukształtowała się dziedzina badań oparta na idei tak zwanych

„myślących maszyn”. Dziedzinę tę określa się mianem Sztucznej Inteligencji.

Można rozróżnić dwa wymiary Sztucznej Inteligencji: operacyjny i ideologiczny. Wymiar operacyjny odnosi

się do działań mających na celu praktyczne i teoretyczne korzyści, wynikające z prowadzonych badań. W

tym aspekcie Sztuczna Inteligencja odnosi sukcesy i może znacznie poszerzyć zakres ludzkich możliwości

poznawczych, przyczyniając się tym do rozwiązania wielu trudnych problemów (chociażby tych, które

wiążą się z wykonywaniem skomplikowanych operacji medycznych).

Badania nad sztuczną inteligencją1 mogą budzić wątpliwości tylko w przypadku, gdy nadaje się im cel

ideologiczny, gdy cele poznawcze i praktyczne ustępują miejsca pragnieniu stworzenia artefaktu, który

pewnymi sprawnościami mógłby nie tylko przypominać żywe stworzenia, ale nawet przewyższyć człowieka

pod względem zdolności intelektualnych.

1. Sieć neuronowa

Przez sztuczną sieć neuronową rozumiemy Zbiór prostych jednostek obliczeniowych

przetwarzających dane, komunikujących się ze sobą i pracujących równolegle lub inaczej zbiór połączonych

ze sobą jednostek wejściwo-wyjściowych. Z każdym połączeniem skojarzona jest waga, która może zostać

zmieniona w trakcie uczenia. Dowolna sztuczna sieć neuronowa może być zdefiniowana poprzez określenie:

• modelu sztucznego neuronu,

• topologii,

• reguły uczenia sieci.

Inspiracją do tego typu sieci stał się neuron biologiczny.

Rys 1. Neuron biologiczny

Page 4: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 4 z 27

[email protected]

znaczenie błony komórkowej w przesyłaniu sygnału polega na propagacji zaburzenia różnicy

potencjałów pomiędzy wnętrzem a zewnętrzem komórki, przyczyną tych zaburzeń jest chwilowa

utrata „szczelności” przez błonę komórkową

zasada działania: „wpływające” dendrytami bodźce (modulacja częstotliwości) sumują się

(oddziaływają ze sobą) na błonie komórkowej i przy pomocy aksonu zakończonego

synapsą/synapsami przekazywane są do innego neuronu/neuronów

po propagacji sygnału różnica potencjałów odbudowywana jest przez tzw. pompy jonowe

neuronów mamy ~1010

, dendrytów ~1014

..1015

różne rodzaje neuronów

Naukowcy porównują nasz mózg do hierarchicznego procesora

Rys 3. Części mózgu i obszary odpowiedzialności

Rys 2. Neuron biologiczny wraz ze składowymi

Page 5: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 5 z 27

[email protected]

Ogólnie rozróżnia się dwa typy architektur sztucznych sieci neuronowych

sieci jednokierunkowe (ang. feedforwarded) tj. sieci o jednym kierunku przepływu sygnałów;

Szczególnym przypadkiem architektury jednokierunkowej jest sieć warstwowa, reprezentująca

zdecydowanie najpopularniejszą topologię;

Rys 4. Model jednowarstwowej sieci neuronowej

Inne, np. sieci rekurencyjne (feedback, bidirectional) tj. sieci ze sprzężeniami zwrotnymi (sieć

Hopfielda) albo sieci uczenia się przez współzawodnictwo (Kohonena).

Zasady łączenia neuronów między sobą

„każdy z każdym”,

połączenia między kolejnymi warstwami w sieciach warstwowych,

tylko z pewną grupą neuronów, najczęściej z tzw. sąsiedztwem.

2. Inteligencja obliczeniowa

Próbując zdefiniować pojęcie „inteligencji obliczeniowej” już na samym początku napotykamy

wiele problemów. Otóż okazuje się, że tyle ile książek, tyle znajdujemy definicji inteligencji obliczeniowej.

Inteligencja obliczeniowa (computational intelligence, CI) obejmuje obecnie wiele dziedzin, które rozwinęły

się bardzo szybko w ostatnich dziesięcioleciach. Inspiracje biologiczne dotyczące funkcjonowania układu

nerwowego przyczyniły się do powstania sieci neuronowych, teoria ewolucji i genetyka zainspirowała

powstanie algorytmów ewolucyjnych, obserwacje etnologiczne doprowadziły do algorytmów rojowych

i mrówkowych, a immunologia do powstania algorytmów wzorowanych na działaniu układu

odpornościowego. Psychologia i lingwistyka przyczyniły się do powstania teorii logicznych,

uwzględniających niepewność i nieprecyzyjne określenie informacji, takich jak logika rozmyta, logika

przybliżona czy teoria posybilistyczna. Teorie wychodzące poza logikę dwuwartościową można określić

jako „miękkie obliczeniowo”, dopuszczające stopniowanie wartości. Trudno jest znaleźć dobry polski

Page 6: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 6 z 27

[email protected]

odpowiednik oddający ideę soft computing, gdyż nie jest ona jasno zdefiniowana również w języku

angielskim. Tworzenie nowych dziedzin na podstawie wyboru metod, które mają wejść w zakres danej

dziedziny, nie jest szczęśliwym pomysłem. Na jakiej podstawie mamy np. zaliczyć algorytmy genetyczne do

„miękkiego obliczania”, odrzucając metodę stopniowego studzenia, stosowaną do rozwiązywania tych

samych zagadnień? Działy nauki (oraz większość działów matematyki) definiuje się określając problemy,

jakimi się dana dziedzina zajmuje. Informatyka zajmuje się badaniem własności algorytmów. Problemy

obliczeniowe, które nie dają się efektywnie zalgorytmizować wymagają szczególnego podejścia. Inteligencja

obliczeniowa zajmuje się teorią i metodami rozwiązywania problemów, które nie są efektywnie

algorytmizowalne. Z takimi problemami organizmy biologiczne mają do czynienia na co dzień.

Niektóre z tych problemów dają się rozwiązać dzięki zdolności do adaptacji, czy to za pomocą powolnych

mechanizmów ewolucji, czy też mechanizmów uczenia się układu immunologicznego lub nerwowego.

Przeżycie organizmu w warunkach konkurencji wymaga kategoryzacji sygnałów dochodzących ze zmysłów,

rozpoznawania obiektów i kontroli własnego organizmu. Pamięć semantyczna i wyższe czynności

poznawcze, związane ze zdolnością do rozumowania, planowania, tworzenia teorii i posługiwania się

językiem, oparte są na wykorzystaniu reprezentacji symbolicznych. Część inteligencji obliczeniowej,

zajmującej się tą problematyką, nazywa się „sztuczną inteligencją” (AI). Od czasu neopozytywizmu

utrwaliło się przekonanie o niezależności i uniwersalności procesów myślowych od ich realizacji sprzętowej,

czyli procesów zachodzących w mózgu. Przekonanie to stało się podstawą funkcjonalizmu a później

kognitywizmu, który głosił, że fizykalny system symboliczny wystarczy do modelowania umysłu (Newell

1981). W ten sposób sztuczna inteligencja weszła w skład nauk kognitywnych, zmierzających do

zrozumienia sposobu działania układów poznawczych, w tym ludzkich umysłów.

3. Sztuczne sieci neuronowe

Sieci neuronowe są obecnie bardzo obszerną dziedziną, mająca oprócz rozbudowanej teorii uczenia

zastosowania zarówno do modelowania realnych układów biologicznych, jak i zastosowania czysto

praktyczne, w zagadnieniach aproksymacji i klasyfikacji. Początkowo inspiracją było tworzenie modeli

imitujących układy biologiczne; perceptron wzorowany był na konstrukcji oka. Jednakże wkrótce okazało

się, że układy neuronowe mogą się przydać w zastosowaniach technicznych, dzięki swojej zdolności do

adaptacji. W latach 1960 znano już wiele nieliniowych metod aproksymacji opartych na funkcjach

bazowych, takich jak klasyfikatory Gaussowskie czy klasyfikatory oparte na funkcjach potencjalnych.

Aproksymacja w oparciu o funkcje sklejane lub eksponencjalne była powszechnie stosowana w fizyce

i innych gałęziach nauki. Znalezienie dobrych parametrów w układach nieliniowych było jednak trudnym

zadaniem. Po okresie entuzjazmu trwającego od końca lat 1950 przez całą dekadę okazało się, że proste sieci

neuronowe mają spore ograniczenia. Minsky i Papert przedstawili w książce „Perceptrons” (Minsky i Papert

1969) dokładną analizę jednowarstwowych perceptronów, znajdując szereg trudnych problemów, których

nie dało się za pomocą takich układów rozwiązać. Niektóre z nich, np. problem spójności grafu, są nadal

Page 7: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 7 z 27

[email protected]

poza zasięgiem perceptronów wielowarstwowych, chociaż można je rozwiązać za pomocą sieci

wysyłających impulsy, w których pojawia się synchronizacja (Wang, 2000). Praca Hopfielda z 1982 roku

pokazała, jak bardzo prosty układ dynamiczny w postaci sieci elementów bipolarnych realizuje funkcje

pamięci skojarzeniowej (Hopfielda, 1982). Wywołało to duży wzrost zainteresowania takimi układami

wśród fizyków (np. książka Hertz, Krough, Palmer 1993) i psychologów. Praca Rumelharta, Hintona i

Williamsa (1986) zapoczątkowała z kolei szybki rozwój zastosowań algorytmu wstecznej propagacji do

analizy danych. Inspiracje nadeszły więc ze strony psychologów (wszyscy trzej autorzy są psychologami).

Nawet fizycy patrzyli na sieci neuronowe jak na magiczne urządzenia wyobrażając sobie, że zamiast

interpolacji zachodzą w nich jakieś tajemne procesy poznawcze (przykłady są np. w pracy Duch, Diercksen

1994). Z rozwojem sieci neuronowych wiązano ogromne nadzieje, na konferencje specjalistyczne

przyjeżdżało tysiące osób. W tej atmosferze odkrywanie związków z teorią aproksymacji,

prawdopodobieństwa, statystyką i metodami rozpoznawania wzorców, które rozpoczęło się już przy końcu

lat 1980, trwało dość długo. Jako wielkie odkrycie potraktowano np. zastosowanie radialnych funkcji

bazowych do aproksymacji (czyli wprowadzenie sieci RBF), sprowadzające się w praktyce do

klasyfikatorów i aproksymatorów Gaussowskich, znanych od ponad 20 lat. Do tej pory panuje tendencja by

nazywać wszystkie sieci, korzystające z funkcji bazowych, nie mających nic wspólnego z funkcjami

radialnymi, sieciami typu RBF. Nadzieje na szybkie powstanie systemów myślących, dysponujących ogólną

inteligencją, wykorzystujących sieci neuronowe i algorytmy ewolucyjne, nie sprawdziły się między innymi z

powodu nadmiernego skoncentrowania się na rozpoznawaniu wzorców i zagadnieniach optymalizacji.

Co nowego wniosły metody inteligencji obliczeniowej w tym zakresie? W porównaniu z wieloma innymi

metodami klasyfikacji, aproksymacji i klasteryzacji rezultaty nie były początkowo nadzwyczajne (por. np.

projekt Statlog, Michie i inn. 1994). Wśród 22 metod użytych w tym projekcie sieci MLP nie znalazły się ani

razu, a sieci RBF znalazły się tylko raz w pierwszej trójce najlepszych metod. Samoorganizujące się mapy

Kohonena okazały się wyjątkowo złymi klasyfikatorami, a wizualizacja przez nie oferowana nie oddaje

relacji pomiędzy opisywanymi obiektami czy ich skupieniami (Duch, Naud 1996). Od tego czasu rozwój

teorii regularyzacji i wyboru modeli pozwolił na znaczne ulepszenie wyników. Pewną nowością są

algorytmy konstruktywistyczne, lub bardziej ogólne algorytmy ontogeniczne, dostosowujące swoją

złożoność do analizowanych danych, zwiększające i zmniejszające liczbę elementów przetwarzających sieci

zależnie od potrzeb. Okazało się, że sieciowa organizacja obliczeń jest często bardzo wygodna i nazwę „sieci

neuronowe” zaczęto stosować do wszelkiego rodzaju algorytmów, w których przepływ obliczeń przedstawić

można w postaci węzłów sieci. Każdą sumę związać można z elementem sieci zbierającym dochodzące do

niego informacje i przetwarzającym je za pomocą jakiejś funkcji bazowej. Prowadzi to do całkiem ogólnych

modeli graficznych (Jordan i Sejnowski, 2001), stanowiąc pomost z popularnymi w statystyce sieciami

Bayesowskimi. Z drugiej strony bardzo rozwinęły się czerpiące inspiracje z prac nad perceptronami metody

SVM (Support Vector Machines, np. Vapnik 1998). Trudno traktować je jako sieci neuronowe, chociaż

Page 8: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 8 z 27

[email protected]

większość prac na ten temat pojawia się w pismach i na konferencjach zajmujących się właśnie

problematyką sieci neuronowych.

Sieci neuronowe stały się niezwykle popularne, stworzono bardzo wiele programów komputerowych

implementujące różne sieciowe algorytmy, co spowodowało lawinę zastosowań. W efekcie poszukuje się

raczej zastosowań do istniejących narzędzi, niż narzędzi przydatnych do rozwiązywania konkretnych

problemów. Algorytmy genetyczne stały się dla metod inteligencji obliczeniowe dominującą, niemalże

jedyną metodą optymalizacji globalnej.

4. Zastosowanie metod sztucznej inteligencji

Sztuczna inteligencja otwiera nam cały szeroki wachlarz zastosowań w wielu dziedzinach nauki i

życia. Jednym z najszerszych obecnie obszarów gdzie doskonale się sprawdza są systemy biometryczne

stosowane do identyfikacji osobowej. Systemy te są obecnie jednym z najszybciej rozwijających się działów

informatyki na świecie. Kontrola biometryczna oparta jest na specyficznych cechach organizmu, które są

charakterystyczne dla każdego człowieka. W chwili obecnej najpopularniejsze techniki biometryczne można

podzielić na następujące grupy:

- systemy oparte o rozpoznawanie linii papilarnych,

- systemy oparte o rozpoznawanie geometrii twarzy,

- systemy oparte o rozpoznawanie mowy,

- systemy oparte o rozpoznawanie cech charakterystycznych tęczówki oka.

Aktualnie dostępne są nowe systemy:

- oparte o rozpoznawanie DNA,

- oparte o rozpoznawanie obrazu żył,

- oparte o rozpoznawanie dna oka.

Ogólne zasady biometryki opierają się na zapisywaniu w pamięci komputera określonego i niepowtarzalnego

wzoru wybranej cechy, przechowywaniu tej informacji, a następnie dopasowaniu określonej cechy

podczas procesu weryfikacji w oparciu o zapisany wzorzec. Identyfikacja polega więc na automatycznym

rozpoznaniu nieznanej osoby poprzez badanie jednej lub kilku jej cech biometrycznych. System porównuje

aktualny obraz zapisany przez odpowiednie urządzenie z wzorcami zapisanymi w scentralizowanej bazie

danych. Liczone jest prawdopodobieństwo przyporządkowane każdemu obrazowi. Jeśli przekracza ono

ustaloną wartość krytyczną, system uznaje, że nieznana osoba została zidentyfikowana. Jeśli kilka obrazów

przekracza ową wartość, przyjmuje się najbardziej prawdopodobny obraz za prawdziwy.

Systemy rozpoznające geometrię twarzy są najbardziej naturalnymi sposobami identyfikacji biometrycznej.

Technologia rozpoznawania twarzy obecnie jest rozwijana w dwóch kierunkach: pomiaru twarzy i tzw.

metody eigenface (właściwych twarzy). Technologia pomiaru twarzy polega na pomiarze specyficznych

cech twarzy i relacji pomiędzy tymi pomiarami. Punkty pomiarowe pokazano na rys. 1.

Page 9: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 9 z 27

[email protected]

Rys 5. Przykład punktów pomiarowych twarzy

Metoda eigenface polega na porównywaniu uzyskanego obrazu z gotowymi wzorcami umieszczonymi w

pamięci. Jest podobna do metody stosowanej w kryminalistyce czyli portretów pamięciowych. Technologia

identyfikacji opierającej się na eigenface jest w początkowym stadium rozwoju i jest bardzo obiecująca.

5. System rozmyty

Celem wprowadzenia pojęcia i teorii zbiorów rozmytych była potrzeba matematycznego opisania

tych zjawisk i pojęć, które maja charakter wieloznaczny i nieprecyzyjny. W teorii tej możemy mówić o

częściowej przynależności punktu do rozważanego zbioru. Zamiast zdaniami przyjmującymi wartości

prawda lub fałsz posługujemy się zmiennymi lingwistycznymi, które przyjmują jako wartości nieprecyzyjne

pojęcia języka mówionego. Tak jak coś co jest szare nie jest do końca ani białe ani czarne, lub coś co jest

ciepłe nie jest ani gorące ani zimne. Dzięki temu możliwe jest opisywanie takich cech obiektów jak: bardzo,

trochę, średnio, mało, niezawiele. Na systemy rozmyte składają się te techniki i metody, które służą do

obrazowania informacji nieprecyzyjnych, nieokreślonych bądź niekonkretnych. Pozwalają one opisywać

zjawiska o charakterze wieloznacznym, których nie jest w stanie ująć teoria klasyczna i logika

dwuwartościowa. Charakteryzują się tym, że wiedza jest przetwarzana w postaci symbolicznej i zapisywana

w postaci rozmytych reguł. Systemy rozmyte znajdują zastosowanie tam, gdzie nie posiadamy

wystarczającej wiedzy o modelu matematycznym rządzącym danym zjawiskiem oraz tam gdzie odtworzenie

tegoż modelu staje się nieopłacalne lub nawet niemożliwe. Tak więc możemy je spotkać w bazach danych,

sterowaniu oraz dziedzinach zajmujących się przetwarzaniem języka naturalnego.

6. Systemy ekspertowe

System ekspertowy, nazywany również automatycznym systemem wspomagania decyzji to program

lub zestaw programów komputerowych wspomagający korzystanie z wiedzy i ułatwiający podejmowanie

Page 10: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 10 z 27

[email protected]

decyzji. Systemy ekspertowe mogą wspomagać lub zastępować ludzkich ekspertów w danej dziedzinie,

mogą dostarczać rad, zaleceń i diagnoz dotyczących problemów tej dziedziny.

Kategorie systemów ekspertowych:

Systemy doradcze doradzają przy podejmowaniu decyzji. Człowiek ma możliwość weryfikacji

podjętej decyzji, odrzucenia jej i zażądania alternatywnej. Systemy w których człowiek jest

ostatecznym ogniwem podejmowania decyzji.

Systemy podejmujące decyzje bez kontroli człowieka systemy autonomiczne w których

maszyna/program podejmuje ostateczną decyzję bez udziału człowieka.

Systemy krytykujące znając problem jak i jego rozwiązanie (wynik) system pokazuje jak

rozwiązanie osiągnięto (metodologię rozwiązania).

Budowa systemów ekspertowych:

Baza wiedzy np. zbiór reguł - Jest integralną, podstawową i niezbędną częścią systemu

ekspertowego, zawiera całkowitą wiedzę systemu zapisaną najczęściej w postaci reguł. Zebrana

wiedza jest podstawą przeprowadzenia procesu wnioskowania.

Baza danych/baza faktów (np. dane o obiekcie, wyniki pomiarów, hipotezy) - Jest integralną częścią

systemu ekspertowego, zawiera zbiór informacji (zbiór danych) stanowiących wartości przesłanek

reguł, na podstawie których mechanizm wnioskujący przeprowadza proces wnioskowania.

Maszyna wnioskująca - Narzędzie potrafiące zinterpretować zapisane reguły i dokonać procesu

wnioskowania - czyli wykorzystania wiedzy zapisanej w bazie wiedzy i dostępnych faktów

pochodzących z bazy faktów.

Mechanizm wyjaśniający - objaśniają strategię wnioskowania.

Interfejs użytkownika - procedury wejścia/wyjścia umożliwiają formułowanie zadań przez

użytkownika i przekazywanie rozwiązania przez program.

Edytor bazy wiedzy - procedury umożliwiające rozszerzanie oraz modyfikację wiedzy -

pozyskiwanie wiedzy.

Page 11: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 11 z 27

[email protected]

Rys 6. Uproszczony schemat systemu ekspertowego

Podział systemów ekspertowych ze względu na budowę programu.

Systemy dedykowane - tworzone wspólnie przez inżyniera wiedzy, eksperta i informatyka do

rozwiązywania konkretnych problemów.

Systemy szkieletowe (shells) - ogólne systemy dostępne na rynku w postaci programów z pustą bazą

wiedzy. Wiedza wprowadzana jest do niech bezpośrednio przez ekspertów.

Podział systemów ekspertowych ze względu źródło wiedzy.

Na bazie wiedzy eksperta - wiedza wydobywana jest na podstawie obserwacji bądź wywiadów,

ankiet z ekspertem.

Na bazie dostępnych danych historycznych - Mając dostęp do zgromadzonych danych, czyli

wyników działania eksperta w warunkach produkcyjnych, możliwe jest automatyczne pozyskanie

wiedzy.

Podział systemów ekspertowych ze względu na sposób reprezentacji wiedzy.

Logika boolowska {0, 1}

Logika wielowartościowa (np. Łukasiewicza)

Logika rozmyta

Podział systemów ekspertowych ze względu na rodzaj przetwarzanej informacji.

Systemy z wiedzą pewną, czyli zdeterminowaną,

Systemy z wiedzą niepewną, w przetwarzaniu której wykorzystuje się przede wszystkim aparat

probabilistyczny

Page 12: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 12 z 27

[email protected]

Projektowanie systemu ekspertowego.

Określenie dziedziny problemu

o Dokładne zdefiniowanie klasy problemów które system ma rozwiązywać

o Zdefiniowanie wymagań systemu

o Określenie sposobu pozyskania wiedzy

Budowa bazy wiedzy:

Rys 7. Budowa bazy wiedzy

Baza wiedzy:

Konstrukcja właściwej bazy wiedzy jest podstawą poprawnego funkcjonowania systemu

ekspertowego. Wymaga ona wyboru odpowiednich faktów z dziedziny działania systemu, uniknięcia

błędów i wyboru odpowiedniej struktury dla tych faktów.

Podczas tworzenia bazy wiedzy należy odpowiedzieć sobie na następujące pytania:

o Jakie obiekty należy zdefiniować?

o Jakie są relacje między obiektami?

o Jak należy formułować i przetwarzać reguły?

o Czy pod względem rozwiązania specyficznego problemu baza wiedzy jest kompletna

i spójna

Identyfikacja - określenie charakterystyki problemu do rozwiązania (ekspert i inżynier wiedzy

określają problem do rozwiązania i jego zakres - ponadto określają potrzebne środki);

Reprezentacja - znalezienie sposobu reprezentacji wiedzy (przeprowadzana jest analiza problemu,

bardzo istotne jest przeprowadzenie jej w gruntowny sposób, co niweluje występowanie trudności w

późniejszym czasie. Gdy problem jest już zrozumiały należy przystąpić do ustalenia informacji oraz

danych potrzebnych do jego rozwiązania a następnie zacząć je kompletować);

Page 13: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 13 z 27

[email protected]

Formalizacja - zaprojektowanie struktur organizujących wiedzy (przełożenie kluczowych koncepcji,

reguł i relacji na język formalny. Inżynier wiedzy powinien zaprojektować syntaktykę i semantykę

tego języka, a następnie wraz z ekspertem ustalić wszystkie podstawowe pojęcia i relacje, które są

niezbędne do rozwiązania postawionego problemu);

Implementacja - sformułowanie reguł lub ram zawierających wiedzę (inżynier wiedzy łączy i

reorganizuje sformalizowaną wiedzę tak, aby stała się zgodna z charakterystyką przepływu

informacji danego problemu. Powstały zestaw reguł lub ram i powiązana z nimi struktura kontrolna

tworzy prototypowy program);

Testowanie - sprawdzenie zastosowanych w systemie reguł lub ram (reguły i relacje są sprawdzane

pod kątem generowania przez nie odpowiedzi zgodnych z wymaganiami eksperta.).

7. Sieci neuronowe - algorytm uczenia

Dysponujemy wieloma algorytmami uczenia się sieci opartymi na zasadzie wstecznej propagacji

błędów. Podstawowe to:

gd – algorytm najmniejszego spadku, wagi i bias jest uaktualniany w kierunku ujemnego wektora

gradientu funkcji błędu, może być używany w przyrostowej metodzie uczenia,

gdm – zmodyfikowany algorytmy gd, krok opadania modyfikowany jest o współczynnik

momentum, pozwalający sieci uniknąć pułapek utknięcia w minimum lokalnym, może być używany

w przyrostowej metodzie uczenia,

gdx – adaptacyjny algorytm szybkości uczenia; może być używany tylko we wsadowej metodzie

uczenia,

rp – elastyczny algorytm wstecznej propagacji błędu jest mało czuły na ustawienia parametrów

uczenia, dobrze sprawdzający się przy funkcjach sigmoidalnych,

cgf (Fletcher-Reeves) – wykorzystuje algorytmy gradientów sprzężonych zazwyczaj dużo szybsze

niż algorytmy ze zmiennym współczynnikiem uczenia, algorytmy gradientów sprzężonych

wymagają niewiele więcej pamięci w porównaniu z prostszymi algorytmami, są często dobrym

wyborem dla sieci o dużej liczbie wag,

cgp (Polak-Ribiere) – inna wersja algorytmów gradientów sprzężonych, podobnie jak poprzedni

wymaga liniowego przeszukiwania w każdej iteracji,

cgb (Powell-Beale) - wersja algorytmów gradientów sprzężonych wykorzystująca niestandardową

metodę zmiany kierunku poszukiwania odpowiedniej wartości gradientu,

scg – skalowalny algorytm gradientów sprzężonych nie wykorzystujący metody liniowego

przeszukiwania w każdej iteracji, ale kombinowaną metodę algorytmu Levenberga-Marquardta i

zbieżności gradientów sprzężonych,

bfg – metoda BFGS quasi-Newtona wymaga zastosowania macierzy hesjana i więcej obliczeń w

każdej iteracji w porównaniu z metodą gradientów sprzężonych,

Page 14: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 14 z 27

[email protected]

oss – jednokrokowa metoda sieczna, kompromisowa pomiędzy metodami gradientów sprzężonych i

quasi-Newtona,

lm – algorytm Levenberga-Marquardta, wyposaŜony w funkcję redukcji pamięci przy duŜych

zbiorach uczących,

br – regularyzacja bayesowska, zmodyfikowany algorytm Levenberga-Marquardta, stworzony w

celu tworzenia sieci o lepszych własnościach uogólniania, posiadający procedury optymalizacji

liczby parametrów sieci.

Ze względu na ograniczoną wielkość opracowania zajmę się tylko podstawowym algorytmem wstecznej

propagacji błędu.

Nazwa "wsteczna propagacja" pochodzi od sposobu obliczania błędów w poszczególnych warstwach

sieci. Najpierw obliczane są błędy w warstwie ostatniej (na podstawie sygnałów wyjściowych i wzorcowych.

Błąd dla neuronów w dowolnej warstwie wcześniejszej obliczany jest jako pewna funkcja błędów neuronów

warstwy poprzedzającej. Sygnał błędu rozprzestrzenia się od warstwy ostatniej, aż do warstwy wejściowej, a

więc wstecz.

Algorytm wstecznej propagacji - BP (ang. BackPropagation) określa strategię doboru wag w sieci

wielowarstwowej przy wykorzystaniu gradientowych metod optymalizacji. Trenowanie sieci jest w

rzeczywistości numeryczną procedurą optymalizacji określonej funkcji celu. Algorytm należy do tzw. metod

gradientowych, które wykorzystują prawidłowość: gradient funkcji wskazuje kierunek jej najszybszego

wzrostu; w przypadku zmiany znaków składowych na przeciwne, czyli pomnożeniu przez -1, kierunek jej

najszybszego spadku. Właściwość ta pozwala na minimalizację funkcji celu przez modyfikację jej

zmiennych, a w przypadku sieci - współczynników wagowych, w kierunku najszybszego spadku funkcji.

Funkcja celu

Wektor wag aktualizowany jest przy wykorzystaniu informacji o gradiencie funkcji celu.

W każdym kroku uczenia wyznaczany jest tzw. kierunek minimalizacji p(w) – wartość, o jaką będą

zmieniane wagi. A tak wygląda współczynnik uczenia.

p

j

N

k

j

k

j

k

N

k

kk

dyWE

dyWE

1 1

2)()(

1

2

)(2

1)(

d(j))(x(j),par wielu przypadku w

)(2

1)(

]/,......./,/[ 21 rwEwEwEE

))(( )()1(

)()(

kwpkwkw

wEwp

Page 15: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 15 z 27

[email protected]

8. Algorytmy genetyczne - ewolucyjne

Sztuczne sieci neuronowe, algorytmy genetyczne i sztuczne systemy immunologiczne reprezentują

grupę metod i technik, które w pewnym stopniu są symulacją rozwiązań stworzonych przez naturę.

Algorytm genetyczny operuje na zakodowanej części informacji. Gen jako potencjalna cecha dla systemów

biometrycznych jest to potencjalny bit w algorytmach genetycznych. Chromosom to binarny ciąg kodowy

składający się z zer i jedynek. Każdy pojedynczy bit jest odpowiednikiem pojedynczego genu. Ze względu

na sposób ułożenia genów w chromosomie można wyróżnić trzy

podstawowe sposoby kodowania:

klasyczne – geny są heterogeniczne, czyli geny na różnych pozycjach przechowują różne informacje.

Stosuje się je wtedy, gdy mamy określone niejednorodne cechy osobnika i chcemy dobrać im

optymalne wartości.

permutacyjne – geny są homogeniczne, czyli przechowują podobne informacje i są wymienialne.

Tego typu kodowanie stosuje się do rozwiązywania problemów kombinatorycznych.

drzewiaste – chromosom nie jest liniowym ciągiem genów, ale złożoną strukturą drzewiastą.

Kodowanie drzewiaste znajduje zastosowanie w tzw. programowaniu genetycznym, czyli wszędzie

tam, gdzie ewolucji podlegają reguły matematyczne

Genotyp jest to zbiór (struktura) jednego lub więcej chromosomów. Genotyp może być już pojedynczym

osobnikiem danej populacji. Fenotyp występuje w przyrodzie po interakcji ze środowiskiem. Inaczej

fenotyp to zbiór parametrów, rozwiązanie, punkt. Algorytmy genetyczne (AG) są to algorytmy poszukiwania

oparte na mechanizmach doboru naturalnego oraz dziedziczności. Algorytm genetyczny zawiera w sobie

elementy teorii ewolucji Darwina, która zakłada, że przeżywają tylko najlepiej przystosowane osobniki. W

każdym pokoleniu powstaje nowy zespół sztucznych organizmów (ciągów bitowych), utworzonych z

połączenia fragmentów najlepiej przystosowanych osobników poprzedniego pokolenia. AG wykorzystują

efektywnie przeszłe doświadczenia do określania nowego obszaru poszukiwań o spodziewanej

podwyższonej wydajności. Populacja jest to pewien zbiór osobników. Każdy algorytm genetyczny

rozpoczyna działanie od początkowej populacji ciągów kodowych, po czym generuje kolejne populacje

ciągów. Najczęściej populację początkową dla AG wybiera się drogą losową. W każdym kolejnym cyklu w

algorytmach genetycznych populacja ma stały rozmiar, wszystkie chromosomy podlegają wymianie na

nowe. Elementarny algorytm genetyczny jest skonstruowany z trzech następujących operacji: reprodukcji,

krzyżowania oraz mutacji. Reprodukcja jest to proces, polegający na powieleniu indywidualnych ciągów

kodowych w stosunku zależnym od wartości, jakie przybiera funkcja celu. Istnieją różne sposoby powielania

ciągów. Najczęściej spotykanym sposobem jest metoda ruletki. Krzyżowanie to operacja genetyczna,

składająca się z dwóch etapów. Najpierw kojarzymy w sposób losowy ciągi kodowe z puli rodzicielskiej w

pary, a następnie każda para przechodzi proces krzyżowania. Mutacja polega na wymianie pojedynczego

bitu w chromosomie. Prawdopodobieństwo wystąpienia mutacji w AG jest bardzo małe. Mutacja jest

Page 16: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 16 z 27

[email protected]

błądzeniem przypadkowym w przestrzeni ciągów kodowych. Jest stosowana tylko na wypadek utraty

ważnych składników rozwiązania. AG nie przetwarzają bezpośrednio parametrów zadania, lecz ich

zakodowaną część. Prowadzą poszukiwania, wychodząc nie z pojedynczego punktu, ale z pewnej ich

populacji. AG korzystają tylko z funkcji celu, nie zaś z jej pochodnych lub pomocniczych informacji.

Ponadto stosują probabilistyczne, a nie deterministyczne reguły wyboru. Ważnym elementem w AG jest cel

optymalizacji. Cel optymalizacji to zwiększenie efektywności aż do osiągnięcia pewnego optimum.

Głównym celem optymalizacji jest ulepszenie. Czyli w AG optymalizacja sprowadza się do poszukiwania

maksimum funkcji. W algorytmach tych dążymy do znalezienia globalnego maksimum, ale pewne odmiany

potrafią znaleźć też optima lokalne. Pierwszym krokiem w AG jest utworzenie populacji początkowej.

Polega on na wybraniu określonej liczby chromosomów, reprezentowanych przez ciągi bitowe określonej

długości. Nasz algorytm rozpoczyna swoje działanie właśnie od tej wybranej populacji początkowej

i generuje kolejne (z założenia coraz lepsze) populacje ciągów. Do nas należy ustalenie liczby populacji

początkowej (należy pamiętać, że ta liczba nie może być zbyt mała ani zbyt duża). Po wprowadzeniu

populacji początkowej przychodzi pora na ocenę osobników znajdujących się w populacji. Na tym etapie

badamy cechy poszczególnych osobników. Krzyżowanie ma na celu wymianę materiału genetycznego

pomiędzy dwoma osobnikami. Mutacja występuje z bardzo małym prawdopodobieństwem. Wystąpienie

mutacji zależne jest od współczynnika mutacji. Algorytm, teoretycznie, może się nie kończyć (działa w

nieskończoność). Jednak przeważnie wprowadza się jakieś ograniczenia. Najczęściej stosowane ograniczenia

to: uzyskanie wartości znanej wcześniej, określona liczbę iteracji oraz brak poprawy wyników. Zatrzymanie

algorytmu zależy od zadania jakie wykonujemy. Sztuczne sieci neuronowe, będące bardzo uproszczonym

modelem mózgu ludzkiego, składają się z dużej liczby jednostek – neuronów, posiadających umiejętność

przetwarzania informacji. Każdy neuron wchodzący w skład sieci powiązany jest z innymi neuronami za

pomocą łączy o parametrach (tzw. wagach synaptycznych) zmienianych w trakcie procesu uczenia i

służących do komunikacji między neuronami. Na podstawie bieżącego stanu aktywacji neuronu i sygnałów

wejściowych obliczany jest sygnał, jaki neuron wysyła do sieci poprzez jedno wyjście do pozostałych

neuronów (węzłów sieci). W czasie transmisji sygnał ten podlega osłabieniu lub wzmocnieniu w zależności

od charakterystyki łącza. Większość budowanych sieci neuronowych składa się z kilku warstw: wejściowej

– służącej do wprowadzania do sieci danych wejściowych, wyjściowej – wyznaczającej końcowe

rozwiązanie i ukrytych – przetwarzających sygnały w taki sposób, aby wydostać pewne dane pośrednie

konieczne do wyznaczenia końcowego rozwiązania. Istnieje wiele rodzajów sieci, które różnią się między

sobą strukturą i zasadą działania. Najpopularniejszą obecnie strukturą sieci neuronowych są perceptrony

wielowarstwowe (MLP), należące do grupy sieci z jednokierunkowymi połączeniami.

Page 17: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 17 z 27

[email protected]

Rys 8. Schemat trójwarstwowego MLP

Bardzo ważnym etapem całego procesu konstruowania tych sieci jest określenie właściwej liczby warstw i

neuronów w warstwach. Okazuje się, że największe możliwości posiadają nieliniowe sieci neuronowe o co

najmniej trzech warstwach, przy czym liczba neuronów w warstwach wejściowej i wyjściowej jest określona

przez rozwiązywany problem, natomiast liczba neuronów w warstwie ukrytej zależy od złożoności

problemu, od typu funkcji aktywacji neuronów tej warstwy, od algorytmu uczenia, od rozmiaru danych

uczących. Najpowszechniejszą metodą uczenia perceptronów jest metoda wstecznej propagacji błędów.

Chcąc właściwie przeprowadzić proces uczenia sieci, napotykamy na wiele trudności związanych m.in. z

doborem odpowiedniego zbioru uczącego oraz parametrów uczenia sieci. Powolność i uciążliwość procesu

uczenia metodą wstecznej propagacji błędów w sieciach nieliniowych sprawiły, że pojawiły się również inne

rodzaje sieci neuronowych, między innymi sieci rezonansowe (ART), sieci Hopfielda (ze sprzężeniem

zwrotnym), sieci Kohonena, sieci o radialnych funkcjach bazowych (RBF), probabilistyczne sieci

neuronowe (PNN). Jednym z głównych problemów rozwiązywanych za pomocą sieci neuronowych jest

klasyfikacja i rozpoznawanie obrazów i dźwięków, wykorzystywane również w medycynie sądowej. Sieci

neuronowe (m.in. RBF) mogą być również z powodzeniem stosowane do klasyfikacji chromosomów pod

warunkiem istnienia olbrzymiego zbioru danych, pozwalających na uczenie i testowanie sieci.

9. Inteligentne systemy hybrydowe

Inteligentne systemy hybrydowe (Intelligent Hybrid Systems) starają się integrować odmienne

techniki sztucznej inteligencji (logika rozmyta, sieci neuronowe, obliczenia ewolucyjne, metody

probabilistyczne, maszynowe uczenie systemy ekspertowe, itd. . . ). Fundamentem powstawania takich

rozwiązań jest stwierdzenie, że metody te między sobą są komplementarne. W praktyce oznacza to, że

metody te wzajemnie się uzupełniają, wady jednej są kompensowane zaletami innej. Istnieje wiele

możliwych kombinacji wśród systemów symbolicznych i metod tak zwanej miękkiej sztucznej inteligencji

(soft-computing)1, oraz wiele możliwych sposobów ich łączenia. Dla przykładu sieci neuronowe mogą być

łączone z logiką rozmytą, wnioskowaniem na podstawie przykładów, algorytmami genetycznymi. W

ostatnich latach, bardzo gwałtowny wzrost zapotrzebowania na wyrafinowane i złożone rozwiązania z

Page 18: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 18 z 27

[email protected]

dziedziny inteligentnych systemów informatycznych sprawia, że osiągnięcie pełnego sukcesu nie jest

możliwe bez wykorzystania możliwości, jakie oferują nam systemy hybrydowe. Reprezentacja i

manipulacja, przy pomocy komputerów, dużymi ilościami wiedzy oraz zapewnienie ich integralności,

spójności i efektywności wykorzystania jest jednym z kluczowych nurtów badań w dziedzinie szeroko

pojętej sztucznej inteligencji. Należy zdawać sobie sprawę z tego, że przyjęty przez nas format

przechowywania i reprezentacji wiedzy powinien być w stanie poradzić sobie z pewnymi oczywistymi

problemami. Niedokładność i niekompletność zgromadzonej wiedzy to jeden z nich. Różne sposoby

przechowywania tejże wiedzy (np. sieci neuronowe, logika rozmyta, systemy ekspertowe) posiadają

specyficzne własności radzenia sobie z danymi niepewnymi, nieprecyzyjnymi albo nawet nieprawidłowymi.

Pewne metody lepiej nadają się do przechowywania danych numerycznych, jeszcze inne sprawdzają się

lepiej, kiedy pragniemy operować na danych w postaci symbolicznej. Nie ma zadowalającego uniwersalnego

rozwiązania, pozwalającego radzić sobie z wszystkimi problemami związanymi z reprezentacją wiedzy.

Wiedza ludzka jest często trudna do wyrażenia w formacie, na jakim zazwyczaj operują komputery.

Typowym jest fakt, że nie potrafimy sformułować naszej wiedzy w specyficznym języku (formie) jej

reprezentacji. Ludzie rozwiązują problemy oraz operują na posiadanej wiedzy za pomocą następujących

mechanizmów:

• wnioskowanie,

• analogia,

• dedukcja,

• bazowanie na wcześniejszych doświadczeniach.

Naturalna inteligencja bazuje na wielu ”hybrydowych” sposobach jej reprezentacji i manipulacji. Podobnie

celem stosowania systemów hybrydowych w dziedzinie sztucznej inteligencji jest:

• wykorzystanie całej dostępnej wiedzy na temat specyficznego problemu,

• możliwości skorzystania z wielu typów informacji (symbolicznej, numerycznej, nieścisłej,

nieprecyzyjnej),

• zaoferowanie wielu różnych schematów rozumowania i bardziej trafnego wyszukiwania

odpowiedzi na zadawane pytania,

• zwiększenia ogólnej efektywności systemu i eliminacja ujemnych stron pojedynczych metod,

• stworzenie wydajnych i potężnych systemów rozumowania.

Aby osiągnąć te cele konstruuje się systemy hybrydowe w skład, których mogą wchodzić metody

przedstawione na rysunku 5.

Page 19: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 19 z 27

[email protected]

Rys 9. Możliwe elementy składające się na system hybrydowy

Architektury systemów hybrydowych mogą być sklasyfikowane według stopnia integracji i sposobu

integracji. Stopień integracji jest kryterium do mierzenia stopnia integracji pomiędzy dwoma modułami

systemu hybrydowego.

Systemy sklasyfikowane według stopnia integracji

Systemy niezależne

Systemy transformujące

Systemy sklasyfikowane według stopnia integracji

Systemy luźno związane

Systemy zintegrowane

Systemy w pełni zintegrowane

Modele pracy systemu hybrydowego

Przetwarzanie łańcuchowe - moduł przetwarzania symbolicznego (np. system ekspertowy), odgrywa

rolę głównego procesu systemu. Jego praca może być wspierana przez prace przez pre-procesor oraz

post-procesor będący np. siecią neuronową. Możliwa jest również konfiguracja odwrotna.

Page 20: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 20 z 27

[email protected]

Meta przetwarzanie - jeden moduł odgrywa rolę głównego procesu rozwiązującego problem inne

natomiast pracują w meta - warstwie pełniąc role np. dozorcy, kontrolera wydajności, detektora

błędów, w stosunku do procesu w niższej warstwie.

Przetwarzanie wewnętrzne - jeden lub więcej modułów jest osadzonych (wbudowanych) w innych.

Praca elementów osadzonych jest koordynowana przez proces główny.

Przetwarzanie wspólne - oba moduły są równorzędnymi partnerami podczas rozwiązywania

problemu. Każdy proces może działać bezpośrednio na środowisku, w którym pracują, oraz każdy

może transmitować oraz obierać informacje od drugiego.

10. Sieci oparte na radialnych funkcjach bazowych RBF

Podstawą matematyczną funkcjonowania sieci radialnych jest twierdzenie Covera2 o separowalności

wzorców, stwierdzające, że złożony problem klasyfikacyjny zrzutowany nieliniowo w przestrzeń

wielowymiarową ma większe prawdopodobieństwo być liniowo separowalny niż przy rzutowaniu w

przestrzeń o mniejszej liczbie wymiarów.

Przy oznaczeniu przez (x) wektora funkcji radialnych (x)= [ 1 (x ) , 2 (x ) , . . . , K (x )]T w N -

wymiarowej przestrzeni wejściowej, podział tej przestrzeni na X+,X

-, przy czym X

+ i X

- reprezentują 2 klasy

przestrzeni, jest nieliniowo -separowałny, jeśli istnieje taki wektor W, że:

X dla 0)( xxW T (5. 1)

X dla 0)( xxW T (5. 2)

WT( (x) = 0 reprezentuje granicę między obu klasami. Udowodniono [21], że każdy zbiór wzorców losowo

Rys 10. Modele pracy systemu hybrydowego

Page 21: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 21 z 27

[email protected]

rozmieszczony w przestrzeni wielowymiarowej jest -separowalny z prawdopodobieństwem równym l

pod warunkiem odpowiednio dużego wymiaru K przestrzeni rzutowania. W praktyce oznacza to, że

przyjęcie dostatecznie dużej liczby neuronów ukrytych realizujących funkcję radialną i(x) zapewnia

przyjęcie dostatecznie dużej liczby neuronów ukrytych realizujących funkcję radialną i(x) zapewnia

rozwiązanie problemu klasyfikacyjnego przy użyciu dwu warstw sieci: warstwy ukrytej realizującej

wektor (x) i warstwy wyjściowej o jednym neuronie liniowym opisanym wektorem wagowym W.

Sieć neuronowa typu radialnego działa na zasadzie wielowymiarowej interpolacji, której zadaniem jest

odwzorowanie p różnych wektorów wejściowych xi (i = l, 2,... , p) z przestrzeni wejściowej N -

wymiarowej w zbiór p liczb rzeczywistych di (i = l, 2,... ,p), czyli określenie takiej funkcji radialnej F

(x), dla której są spełnione warunki interpolacji

ii dxF )( (5. 3)

przy wyborze funkcji F(x) w postaci

)()(1

p

i

ii xxWxF (5. 4)

Wybór rodzaju normy może być dowolny, choć w praktyce stosuje się zwykle normę euklidesową.

Wartości wektorów xi (i = l, 2,... , p) stanowią centra funkcji radialnej. Przy założeniu p punktów

interpolacyjnych równanie (5.3) można zapisać w postaci układu równań liniowych

pppppp

p

p

d

d

d

W

W

W

......

...

............

...

...

2

1

2

1

21

22221

11211

(5. 5)

przy czym ji = (||xj-xi||) dotyczy funkcji radialnej w centrum xi. Oznaczając macierz o elementach ji

jako oraz przyjmując oznaczenia wektorów W = [W1, W2, . . . , Wp]T , d = [ d 1 , d 2 , . . . , d p ]

T równanie (5.5)

może być zapisane w prostej postaci macierzowej

dW (5. 6)

Wykazano, że dla szeregu funkcji radialnych, przy założeniu x1 x2 ... ... xp, kwadratowa macierz

interpolacyjna jest nieosobliwa, a przy tym dodatnio półokreślona. Istnieje zatem rozwiązanie równania (5.6)

w postaci

dW 1 (5. 7)

umożliwiające określenie wektora wag W neuronu wyjściowego sieci.

Rozwiązanie teoretyczne problemu określone wzorem (5.7) nie jest właściwe z praktycznego punktu

widzenia z powodu niesatysfakcjonujących właściwości uogólniających sieci towarzyszących poczynionym

na wstępie założeniom. Przy bardzo dużej liczbie danych uczących i równej im liczbie funkcji radialnych

problem z matematycznego punktu widzenia staje się przewymiarowany (źle postawiony), gdyż liczba równań

Page 22: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 22 z 27

[email protected]

przewyższa wszelkie stopnie swobody procesu fizycznego modelowanego równaniem (5.5). Oznacza to, że

rezultatem takiej nadmiarowości wag będzie dopasowanie modelu do różnego rodzaju szumów lub

nieregularności występujących w danych uczących. W efekcie hiperpłaszczyzna interpolująca dane uczące

będzie niegładka, a zdolności uogólniania sieci niewielkie.

Aby je poprawić, należy wydobyć dodatkową informację z nadmiarowej liczby danych i użyć jej do

regularyzacji problemu, czyli poprawy jego uwarunkowania. Metody regularyzacji, wywodzące się od

Tichonowa, polegają na stabilizacji procesu przez dołączenie do równania podstawowego dodatkowych warunków

w postaci równań więzów, ograniczających stopnie swobody dobieranych parametrów. Dzięki działaniu

czynnika stabilizującego nawet przy nadmiarowej liczbie funkcji radialnych jest możliwy taki dobór para-

metrów, który zapewni ciągłość i gładkość hiperpłaszczyzny aproksymującej dane uczące, poprawiając w ten

sposób właściwości uogólniające sieci.

W przypadku rozważanego procesu regularyzację Tichonowa można zdefiniować na bazie

problemu optymalizacyjnego, w którym minimalizowana funkcja celu może być wyrażona wzorem

2

1

2

2

1)(

2

1)( PFdxFFL

p

i

ii (5. 8)

Składnik pierwszy odpowiada równaniu (5.3), a składnik drugi stanowi regularyzację, ze

współczynnikiem regularyzacji , będącym liczbą rzeczywistą dodatnią. Współczynnik regularyzacyjny ||PF||

jest złożony z operatora pseudo różniczkowego P działającego na funkcji aproksymującej F i stanowi czynnik

stabilizujący. Jest to odpowiednik funkcji kary w teorii optymalizacji, karzący za brak gładkości funkcji F

(duże i często powtarzające się zmiany nachyleń funkcji aproksymującej). Współczynnik regularyzacyjny

jest wskaźnikiem, na ile dane uczące są wystarczające do dobrego zdefiniowania problemu interpolacyjnego

przy zadanej liczbie funkcji bazowych.

Przy = 0 działanie regularyzacji ustaje, co odpowiada optymalizacji bez żadnych ograniczeń. Przy

czynnik stabilizujący przejmuje całkowitą rolę w sterowaniu procesem, a rozwiązanie problemu (5.8) przestaje

odpowiadać równaniu wyjściowemu (5.3). W praktyce wartość powinna znajdować się między tymi dwiema

skrajnościami.

Na rysunku 5.2 przedstawiono poglądowo wpływ czynnika stabilizującego na jakość uzyskanego

rozwiązania problemu aproksymacyjnego. Funkcję aproksymującą F(x) przedstawioną na rys. 5.2a uzyskano

przy nadmiarowej liczbie funkcji bazowych i wartości = 0.

Page 23: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 23 z 27

[email protected]

Rysunek 5.2 Wpływ regularyzacji na odwzorowanie danych przy nadwymiarowej liczbie funkcji bazowych: a)

brak regularyzacji; b) wynik z regularyzacją

Wprowadzenie wartości 0 stabilizuje proces aproksymacji, czyniąc rozwiązanie gładkim, przydatnym

w praktyce.

Teoretyczne rozwiązanie problemu regularyzacji uzyskano przy zastosowaniu funkcji Greena G(x; xi)

i może być przedstawione w postaci [41]

p

i

iii xxGxFdxF1

);()(1

)( (5. 9)

Wyraża się ono poprzez liniową superpozycję funkcji Greena, w której xj jest centrum rozwinięcia, a wagi

iii

xFdW reprezentują nie znane współczynniki rozwinięcia. Analogicznie do wzoru (5.4) funkcje

Greena G(x; xi) odgrywają rolę funkcji bazowych, a rozwiązanie problemu interpolacji jest wyrażone

w standardowej postaci

p

i

ii xxGWxF1

);()( (5. 10)

Wprowadzając następujące oznaczenia:

T

p

pppp

p

p

T

p

T

p

WWWW

xxGxxGxxG

xxGxxGxxG

xxGxxGxxG

G

dddd

xFxFxFF

],...,,[

);(...);();(

............

);(...);();(

);(...);();(

],...,,[

)](),...,(),([

21

21

22212

12111

21

21

otrzymuje się równoważny zapis równania w postaci

GWF (5. 11)

Page 24: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 24 z 27

[email protected]

Dla FdW1

równanie przyjmie postać

dWG )1( (5. 12)

w której G jest macierzą funkcji bazowych Greena, a składnik l stanowi czynnik regularyzacyjny,

podobnie jak w metodzie optymalizacyjnej z regularyzacją Levenberga-Marquardta.

Równanie (5.12) jest regularyzowanym odpowiednikiem równania wyjściowego (5.6), a macierz

Greena G odpowiednikiem macierzy 0. Dla pewnej klasy funkcji Greena macierz G jest również

nieosobliwa i dodatnio określona. Przewaga opisu (5.12) polega na czynniku regularyzacyjnym A, który,

praktycznie biorąc, dla dowolnej liczby funkcji bazowych umożliwia zregularyzowanie problemu

interpolacyjnego, dając rozwiązanie w postaci

dGW 1)1( (5. 13)

W praktyce funkcje Greena dobiera się w postaci radialnej

)();( ii xxGxxG (5. 14)

a rozwiązanie (5.10) przyjmie wówczas postać

p

i

ii xxGWxF1

)( (5. 15)

Najbardziej popularnym typem radialnej funkcji Greena jest funkcja Gaussa

N

k

kik

ii

i

i xxxx

xxG1

2

,22

2

2

1exp

2exp; (5. 16)

przy czym xi oznacza wektor wartości średnich (centrów), a i2 - wariancję. Przy gaussowskiej postaci

funkcji Greena regularyzowane rozwiązanie problemu aproksymacji za pomocą funkcji radialnych przyjmie

postać

p

i i

i

i

xxWxF

12

2

2exp (5. 17)

będącą liniową superpozycją wielowymiarowych funkcji Gaussa z centrami ulokowanymi w xi (przy wartości

p równej liczbie danych uczących wektor centrum odpowiada współrzędnym xi wektora uczącego) i szerokością

i.

11. Podsumowanie

Nie ma odwrotu od komputerów, ani w medycynie ani w żadnej innej gałęzi życia. Obecne

pokolenie przyzwyczajone jest już do komputerów niemal od kołyski. Dostęp do encyklopedycznych baz

Page 25: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 25 z 27

[email protected]

danych, zarówno przechowywanych w lokalnych komputerach jak i specjalistycznych baz danych

dostępnych przez sieci komputerowe, w połączeniu z możliwością analizy głosu i syntezy mowy oraz

postępami w zakresie analizy semantycznej (wydobywanie sensu z zapytań) spowoduje w ciągu następnych

5-10 lat pojawienie się systemów doradczych, zdolnych do kompetentnej odpowiedzi na prawie każde

pytanie. Całkowita automatyzacja procesów zbierania danych o pacjentach umożliwi wspomaganie

procesów diagnostycznych i planowania terapii na wszystkich etapach. Paradoksalnie rozwój technik

komputerowych powinien spowodować odciążenie lekarzy od wielu czasochłonnych zajęć i przyczynić się

do humanizacji medycyny. Zastosowanie techniki komputerowych w zminiaturyzowanej aparaturze

medycznej przeznaczonej dla domowego użytku - na przykład wmontowanej w ubikacjach do analizy moczu

(urządzenia takie dostępne są obecnie w Japonii) czy łóżkach do obserwacji snu, analizy oddechu lub potu -

pozwoli na wykrywanie pewnych chorób we wczesnych stadiach i automatycznie zawiadamianie służb

medycznych. W ciągu następnych 10 lat spodziewać się można bardzo dużego postępu w ułatwianiu

komunikacji człowiek-maszyna, a w szczególności stworzenia oprogramowania wykazującego „zdrowy

rozsądek” i zdolnego do dialogu z człowiekiem w języku naturalnym. Jest to celem realizowanego od

kilkunastu lat w Stanach Zjednoczonych projektu CYC, który wszedł obecnie w fazę komercjalizacji. Dwa

systemy CYC wyposażone we wspólną bazę wiedzy lecz różniące się wiedzą specjalistyczną są zdolne

wspólnie rozumować dochodząc do wniosków, których żaden z nich nie byłby wstanie osiągnąć. Komputery

oraz sieci neuronowe oparte na zjawiskach kwantowych (kropkach kwantowych) powinny się upowszechnić

przy końcu pierwszej dekady przyszłego wieku. W nieco dalszej perspektywie spodziewać się można

bezpośredniego sprzężenia urządzeń komputerowych z systemem nerwowym. Już obecnie można hodować

pojedyncze neurony lub niewielkie grupy, wpływać na ich rozwój i przyłączać je do mikroprocesorów -

układy takie powinny wkrótce znaleźć zastosowanie jako sensory chemiczne. Bardzo zaawansowany jest też

program budowy sztucznej siatkówki. Powszechna komputeryzacja i dostęp do informacji mają też swoje

negatywne strony. Wirusy komputerowe lub też pomyłka użytkownika może doprowadzić do zniszczenia

cennych danych. Prawidłowo zorganizowany system komputerowy powinien automatycznie tworzyć kopie

zapasowe wszystkich ważnych danych. W Internecie to, co bierzemy za informację, jest często

dezinformacją, mogącą często uczynić nieobliczalne szkody. Problem wiarygodności informacji nie dotyczy

jednak tylko Internetu, gdyż pseudonaukowych książek i pism w tradycyjnej formie również nie brakuje.

Ośrodki medyczne będą musiały poświęcić więcej uwagi ocenie dostępnej w Internecie informacji tworząc

swoje własne serwisy informacyjne. Włamania do sieci komputerowych i możliwość dostępu do danych

pacjentów np. przez firmy ubezpieczeniowe stanowią również pewne niebezpieczeństwo od dawna

szczegółowo dyskutowane. Wszystkie problemy można jednak przezwyciężyć w stosunkowo łatwy sposób.

Page 26: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 26 z 27

[email protected]

Przypisy

1. Wprowadzam tu rozróżnienie zaproponowane przez M.J. Kasperskiego: „termin pisany

wielką literą (Sztuczna Inteligencja) określać będzie dziedzinę badań (…), a oddany małymi

literami (…) – przedmiot jej badań” – M.J. Kasperski, Sztuczna Inteligencja, Helion,

Gliwice 2003, s. 20.

2. Cover T.: Geometrical and statistical properties of systems of linear inequalities with

applications in pattern recoquition. IEEE Trans. Electronic Computers, 1965, Vol. 14, s.

326-334.

Page 27: Zastosowanie Informatyki w Medycynie

zastosowania informatyki w medycynie Strona 27 z 27

[email protected]

Bibliografia

1. Michał Białko, Podstawowe własności sieci neuronowych i hybrydowych systemów eksperowych.

Wydawnictwo Uczelniane Politechniki Koszalińskiej 2000.

2. Ryszard Tadeusiewicz, „Sieci Neuronowe”, Akademicka Oficyna Wydawnicza, wyd. 2. 1993 r.

http://winntbg.bg.agh.edu.pl/skrypty/0001/ .

3. R. Rudkowski., „Informatyka medyczna”, PWN, Warszawa 2003.

4. Zajdel R., Kącki E., Szczepaniak P., Kurzyński M., „Kompendium informatyki medycznej”, Alfa

Medica Press, Bielsko-Biała, 2003.

5. Rutkowski L., „Metody i techniki sztucznej inteligencji”, PWN, Warszawa, 2009.

6. M.J. Kasperski, Sztuczna Inteligencja. Droga do myślących maszyn. Helion 2003.

7. Cichosz, P.: Systemy uczące się. Wydawnictwo Naukowo-Techniczne 2000.

8. Marczak, M,, Duch, W., Grudziński, K., Naud, A.: (2002) Transformation Distances, Strings and

Identification of DNA Promoters. Int. Conf. on Neural Networks and Soft Computing, Zakopane,

Poland (in print, 2002).

9. Świąć A., Bilski J. 2000. Metoda wstecznej propagacji błędów i jej modyfikacje. Biocybernetyka i

Inżynieria Biomedyczna, Tom 6. Sieci Neuronowe. Akademicka Oficyna Wydawnicza EXIT,

Warszawa.

10. Duch, W., Diercksen, G.H.F.: Neural networks as tools to solve problems in physics and chemistry.

Computer Physics Communications 82 (1994).

11. Michał Stanek, Systemy Hybrydowe - Wprowadzenie, 21 stycznia 2005