Zastosowanie Informatyki w Medycynie
description
Transcript of Zastosowanie Informatyki w Medycynie
zastosowania informatyki w medycynie Strona 1 z 27
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
zastosowania informatyki w medycynie Strona 2 z 27
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
zastosowania informatyki w medycynie Strona 3 z 27
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
zastosowania informatyki w medycynie Strona 4 z 27
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
zastosowania informatyki w medycynie Strona 5 z 27
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
zastosowania informatyki w medycynie Strona 6 z 27
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
zastosowania informatyki w medycynie Strona 7 z 27
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ż
zastosowania informatyki w medycynie Strona 8 z 27
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.
zastosowania informatyki w medycynie Strona 9 z 27
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
zastosowania informatyki w medycynie Strona 10 z 27
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.
zastosowania informatyki w medycynie Strona 11 z 27
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
zastosowania informatyki w medycynie Strona 12 z 27
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ć);
zastosowania informatyki w medycynie Strona 13 z 27
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,
zastosowania informatyki w medycynie Strona 14 z 27
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
zastosowania informatyki w medycynie Strona 15 z 27
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
zastosowania informatyki w medycynie Strona 16 z 27
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.
zastosowania informatyki w medycynie Strona 17 z 27
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
zastosowania informatyki w medycynie Strona 18 z 27
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.
zastosowania informatyki w medycynie Strona 19 z 27
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.
zastosowania informatyki w medycynie Strona 20 z 27
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
zastosowania informatyki w medycynie Strona 21 z 27
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ń
zastosowania informatyki w medycynie Strona 22 z 27
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.
zastosowania informatyki w medycynie Strona 23 z 27
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)
zastosowania informatyki w medycynie Strona 24 z 27
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
zastosowania informatyki w medycynie Strona 25 z 27
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.
zastosowania informatyki w medycynie Strona 26 z 27
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.
zastosowania informatyki w medycynie Strona 27 z 27
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