IFM_201503 całość - page 63

Inżynier i Fizyk Medyczny 3/2015 vol. 4
169
kardiologia
/
cardiology
artykuł naukowy
/
scientific paper
Dane pacjentów z GUM-u
Przeanalizowano 3 wyniki badań elektrokardiograficznych,
pozyskane z Gdańskiego Uniwersytetu Medycznego z Katedry
Medycyny Rodzinnej. Oceny diagnostycznej każdego przebiegu
EKG dokonał doświadczony lekarz kardiolog. Każde EKG pocho-
dzi od innego pacjenta.
Dwóch pierwszych pacjentów doznało zawału ściany
przednio-bocznej [22]. Trzeci pacjent bo przebytym zawale ścia-
ny dolnej, martwicy spowodowanej okluzją: dystalnego odcinka
gałęzi okalającej lewej tętnicy wieńcowej lub tylno-bocznej od-
nogi gałęzi zstępującej prawej tętnicy wieńcowej [22].
Sygnały EKG pozyskane do celów niniejszego projektu zapisa-
no w formacie *.pdf i *.xml. Niestety środowisko obliczeniowe
Matlab nie jest kompatybilne z tymi formatami. Problem roz-
wiązano, otwierając każdy plik za pomocą XML Notepad, a na-
stępnie kopiowano dane do formatu *.doc, gdzie możliwa jest
zamiana spacji na znak enter (każda liczba zapisana została w od-
dzielnym wierszu). Następnie zapisano dane w formacie *.txt.
W ten sposób z 25 pojedynczych plików powstał jeden, który
zawierał około 137 000 tys. wierszy (danych wejściowych). Plik
wyjściowy zawiera liczby 1 i 0 (które odpowiadają wartościom:
prawidłowy i fałszywy).
Dane pacjentów z MIT-BIH Arrhythmia Database
Kolejne 46 badań elektrokardiograficznych pochodzi z ogólno-
dostępnej darmowej bazy sygnałów EKG: MIT-BIH Arryhythmia
Database.
Źródłem EKG zawartych w MIT-BiH jest zbiorem ponad 4000
długoterminowych zapisów Holtera, które zostały pozyska-
ne przez Beth Israel Hospital w latach 1975 i 1979. Około 60%
nagrań zostało pozyskanych od pacjentów hospitalizowanych.
Baza danych zawiera 23 pozycje (ponumerowane od 100 do 124
włącznie z niektórymi numerami zaginionymi) oraz 25 zapisów
(ponumerowane od 200 do 234 włącznie; podobnie niektóre
sygnały są zaginione). Badania przedstawiają różne rzadkie zja-
wiska, które nie będą dobrze reprezentowane przez nagrania
Holtera.
Do pierwszej grupy należy reprezentacja przebiegów i arte-
faktów arytmii. W drugiej grupie pojawiają się komorowe i nad-
komorowe zaburzenia rytmu oraz przewodzenia. Grupę badaną
stanowiło 25-ciu mężczyzn w wieku od 32 do 89 lat oraz 22 ko-
biety w wieku od 23 do 89 lat [23].
Sygnały EKG pozyskane do celów projektu były zapisane
w formacie *.atr, *.dat, i *.hea. Formaty te nie są bezpośrednio
kompatybilne ze środowiskiem Matlab. Do tego celu służy spe-
cjalnie stworzony skrypt w załączniku B umożliwiający eksport
danych do formatu *.mat. Jednak aby pracować dalej na prze-
konwertowanych sygnałach, należy zapisać je w notatniku. Po-
nadto, podobnie jak w plikach pozyskanych z GUM-u stworzono
pliki wyjściowe, które zawierają liczby 1 i 0 (odpowiadają warto-
ściom: prawidłowy i fałszywy).
Matlab
Symulacja i testowanie wybranych sieci
neuronowych na przykładowych sygnałach EKG
Sieć wielowarstwowa I ze wsteczną propagacją błędów
(z dwoma funkcjami aktywacji tangensoidalnymi
i jedną liniową i liczbą iteracji 1000)
Pierwszym krokiem jest utworzenie głównego interfejsu, na-
stępnie wszystkich pobocznych interfejsów, które uruchamiają
się automatycznie po załadowaniu plików z danymi wejściowymi
oraz wyjściowymi. Dane wejściowe to sygnały elektrokardiogra-
ficzne zapisane w formacie *.txt. Pochodzą one z ogólnodo-
stępnej bazy MIT-BiH. Pliki te uruchamiają się automatycznie.
Na wejściu sieci jest podawanych 101 próbek danego sygnału.
Liczba wejść sieci odpowiada liczbie próbek wziętych pod uwa-
gę z sygnału. Kolejny etap polega na wybraniu odpowiedniej
sieci oraz wprowadzeniu wszystkich parametrów, a następnie
jej nauczaniu. Program umożliwia wybór trzech rodzajów sieci:
liniowej, perceptron i wielowarstwowej ze wsteczną propagacją
błędu. Wszystkie trzy rodzaje sieci zostały zaimplementowane
w programie, choć ostatecznie, po wstępnym porównaniu ich
właściwości, do rozpoznawania sygnałów EKG zastosowano je-
dynie klasyczną sieć wielowarstwową ze wsteczną propagacją
błędu. Aby powstała sieć neuronowa, należy użyć jednej z trzech
komend
network
,
newff
lub
newpr
. Za pomocą
network
możliwe
jest utworzenie własnej sieci neuronowej, która następnie jest
dostosowywana przez odpowiednie funkcje aktywacji:
newp
,
newlin
(sieć z liniową funkcją aktywacji)
itp. Mianem funkcji ak-
tywacji w sztucznej inteligencji określa się funkcję, według któ-
rej obliczana jest wartość wyjścia neuronów sieci neuronowej.
Komenda
newff
stosowana jest do tworzenia wielowarstwowej
sieci neuronowej, której każda warstwa składa się z zadanej licz-
by neuronów o zadanych funkcjach aktywacji. Funkcje aktywacji
mogą być liniowe lub nieliniowe.
W pracy przedstawiono tworzenie sieci wielowarstwowej ze
wsteczną propagacją błędów. Przewidziano jedno wejście oraz 3
warstwy, z których każda zawierała neurony (kolejno: 35, 18 i 1).
Każdą sieć może tworzyć dowolna liczba warstw. Następnie okre-
ślono wartość funkcji przejścia warstw. Funkcje przejścia (akty-
wacji) neuronów z poszczególnych warstw sieci mogą być różne.
W pierwszej i drugiej warstwie funkcja aktywacji warstwy to
tan-
sig
(funkcja tangensoidalna), w warstwie trzeciej występuje neu-
ron z funkcją przejścia
purelin
(funkcja liniowa). Funkcja inicjalizacji
określająca tę sieć to
initnw
. Następnie przedefiniowano wejścio-
we wagi sieci jako
rands
. Kolejna komenda służąca do tworzenia
sieci neuronowej to
init(net)
, która inicjalizuje tę sieć. Następnie
określono wartość funkcji oceny błędów odwzorowania sieci (w
tymprzypadku to
mse
, czyli błąd średniokwadratowy). MSE (
Mean
Squared Error
) jest wartością oczekiwaną kwadratu „błędu”, czyli
różnicy pomiędzy estymatorem i wartością estymowaną.
Po wprowadzeniu wszystkich parametrów wybrano metodę
uczenia. Omawiana sieć nauczona została metodą propagacji
1...,53,54,55,56,57,58,59,60,61,62 64,65,66,67,68
Powered by FlippingBook