IFM_201503 całość - page 64

vol. 4 3/2015 Inżynier i Fizyk Medyczny
170
kardiologia
\
cardiology
artykuł naukowy
\
scientific paper
wstecznej Levenberg-Marquardta. Proces ten określono za
pomocą komendy
trainlm
. Następnie wprowadzono parametry
uczenia, wśród których można wyróżnić:
net.trainParam.lr
– współczynnik uczenia sieci,
net.trainParam.goal
– akceptowalny błąd,
net.trainParam.epochs
– liczba iteracji w czasie uczenia,
net.trainParam.show
– liczba kroków algorytmu uczenia, po
którym wyświetlany jest komunikat.
Uczeniu zostało poddane 39 sygnałów: 19 nieprawidłowych
i 20 prawidłowych. Pozostałe 10 sygnałów tworzyło zbiór testo-
wy. Sygnały te zostały przygotowane jako zbiory dxx.txt oraz
Txx.txt, gdzie xx to kolejny numer sygnału. Pierwszy zawiera
próbki wybranego sygnału elektrokardiograficznego, a drugi
odpowiednio wartości:
1 – sygnał prawidłowy (reprezentujący sygnał prawidłowy EKG
od zdrowego pacjenta),
0 – sygnał nieprawidłowy (reprezentujący sygnał nieprawidłowy
od pacjenta z patologiami serca).
Sieć na wyjściu nie daje jednak dokładnie wartości 0 i 1. Dlate-
go ustalono próg 0,5. Te sygnały, dla których wyjście jest więk-
sze od 0,5, to sygnały prawidłowe, z kolei nieprawidłowe to ta-
kie, dla których wyjście jest mniejsze od 0,5.
Kolejny etap to proces nauczania sieci, który w przybliżeniu
trwał czterdzieści minut (Rys. 1). Został on przeprowadzony na
komputerze o następujących parametrach: procesor Intel(R)
Atom(TM) CPU N450 @1,67GHz i pamięci RAM 1,00 GB.
Następnie zweryfikowano prawidłowość 39 sygnałów uczą-
cych. Po podaniu na wejście sygnału nieprawidłowego symu-
lacja powinna dać odpowiedź 0 oraz analogicznie dla sygnału
prawidłowego odpowiedź 1. Symulacji dokonano za pomocą ko-
mendy:
sim(net,P(:,…))
, gdzie w miejsce trzech kropek wpisywa-
no kolejne numery sygnału. Przed uruchomieniem nauczania na-
leży dobrać odpowiednie parametry, od których będzie zależał
czas nauki oraz to, czy sieć neuronowa nauczy się prawidłowo.
Ostatni etap polegał na przeprowadzeniu testu, czy sieć
nauczyła się prawidłowo. W tym celu zastosowano te sygnały,
które nie brały udziału w procesie uczenia. Wyniki sprawdzono
analogicznie jak podczas nauczania za pomocą komendy
sim(-
net,P(:,…))
(Tabela 1).
Wyniki uczenia sieci nie wykazały 100% skuteczności. Na 10
przypadków sieć rozpoznała prawidłowo 9 sygnałów.
Sieć wielowarstwowa II ze wsteczną propagacją błędów
(z trzema funkcjami aktywacji tangensoidalnymi
i liczbą iteracji 15)
Pierwsze dwa etapy – tworzenie głównego interfejsu oraz po-
bocznych interfejsów programu są identyczne.
Etap trzeci to wybranie odpowiedniej sieci oraz wprowadze-
nie wszystkich parametrów. Podobnie jak w poprzednim przy-
padku, z trzech sieci wybrano sieć wielowarstwową ze wsteczną
propagacją błędów. Została ona utworzona za pomocą komen-
dy
network
. Sieć miała 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. W tym przypadku funkcje aktywacji
wszystkich warstw były identyczne –
tansig
(funkcja tangenso-
idalna). Funkcja inicjalizująca tę sieć to
initnw
. Po wprowadzeniu
tych parametrów określono metodę uczenia, jaką była propa-
gacja wstecznej Levenberg-Marquardta. Proces ten określono
za pomocą komendy
trainlm
. Podobnie jak poprzednio zadano
parametry uczenia:
net.trainParam.lr
– współczynnik uczenia sieci,
net.trainParam.goal
– akceptowalny błąd,
net.trainParam.epochs
– liczba iteracji w czasie uczenia,
net.trainParam.show
– liczba kroków algorytmu uczenia, po
którym wyświetlany jest komunikat.
Wszystkie parametry były identyczne z wyjątkiem liczby ite-
racji w czasie uczenia, która została zmniejszona.
Uczeniu poddano 39 sygnałów: 19 nieprawidłowych i 20 pra-
widłowych. Pozostałe 10 sygnałówprzeznaczono do testowania.
Rys. 1
. Proces uczenia sieci
Tabela 1
. Wynik testu
Sygnał nieprawidłowy
Wynik testu
1
0,3505
2
0,4872
3
-1,5078
4
-0,6196
5
1,9224
Sygnał prawidłowy
Wynik testu
1
1,5032
2
1,6676
3
1,3846
4
1,3846
5
0,7156
1...,54,55,56,57,58,59,60,61,62,63 65,66,67,68
Powered by FlippingBook