29.09.2013 Views

Analys av myokardiella hastighetsvariabler för diagnos av ...

Analys av myokardiella hastighetsvariabler för diagnos av ...

Analys av myokardiella hastighetsvariabler för diagnos av ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.3. FLERLAGERSNÄT I NEURAL NETWORK TOOLBOX 27<br />

3.3 Flerlagersnät i neural network toolbox<br />

I Matlab finns m˚anga s˚a kallade toolbox <strong>av</strong> vilken en <strong>av</strong> dem är Neural network<br />

toolbox. Den till<strong>för</strong> m˚anga effektiviserande makron <strong>för</strong> att skapa, träna<br />

och testa neurala nätverk. Det med<strong>för</strong> att en stor del <strong>av</strong> skriptprogrameringen<br />

p˚a grundläggande niv˚a redan är gjort. Tyngdpunkten ligger p˚a att testa<br />

och justera olika parametrar s˚asom antal noder, träningsalgoritm etc. Det finns<br />

även medföljande funktioner <strong>för</strong> <strong>för</strong>bearbetning och efterbearbetning s˚asom exempelvis<br />

de beskrivna normaliseringarna MNMX och STD.<br />

Funktionen <strong>för</strong> flerlagersnät är väl utbyggd och automatiserad vilket innebär<br />

att alla funktioner <strong>för</strong> skapande, träning och simulering finns och har<br />

tillfredställande funktioner.<br />

3.3.1 Träningsalgoritmer <strong>för</strong> flerlagersnät<br />

För att träna ett nätverk finns det flera algoritmer man kan använda. I bakgrundsdelen<br />

om artificiella nätverk finns en grundläggande beskrivning <strong>av</strong> deltaalgoritmen.<br />

För att f˚a en effektiv träning används, i de följande analyserna<br />

Levenberg-Marquard-algoritmen <strong>för</strong> att bland annat snabba upp tränings<strong>för</strong>loppet<br />

och motverka att fastna i lokala minima. Den in<strong>för</strong> parametrar som momentterm<br />

och variabel steglängd, och är baserade p˚a Hessian-matrisen och Jacobi-matrisen<br />

<strong>för</strong> att beräkna uppdateringen <strong>av</strong> viktvektorn.<br />

Hessian-matrisen H kan användas <strong>för</strong> icke-linjära träningsalgoritmer <strong>för</strong> neuronnät<br />

och är baserad p˚a andraderivatan <strong>av</strong> felet mellan utparametern fr˚an neuronnätet<br />

och m˚alparamentern. Elementen i Hessian-matrisen beräknas enligt<br />

Hik = δ2 E<br />

δwiδwk<br />

men kan approximeras <strong>av</strong> Jacobi-matrisen Z enligt<br />

(3.6)<br />

H = Z T Z (3.7)<br />

Jacobi-matrisen i sin tur är derivatan <strong>av</strong> utsignalen med <strong>av</strong>seende p˚a inparametern<br />

enligt<br />

Jki = δyk<br />

δxi<br />

Det gör att viktuppdateringen kan skrivas som<br />

(3.8)<br />

wn = wn−1 − (Z T Z + λI) −1 Z T err(wn−1) (3.9)<br />

<strong>för</strong> uppdaterin n. Levenberg-Marquard algoritmen är en sammanslagning <strong>av</strong><br />

Quasi-Newton-algoritmen och ordinär gradient descent-algoritm där gradienten<br />

p˚a felvariablen styr. Om λ är liten f˚ar vi Quasi-Newton-algoritmen och om den<br />

är stor f˚ar vi garadient descending-algoritmen. [15, 17]<br />

3.3.2 SSE – Sum Squared Error<br />

Vid vissa <strong>av</strong> analyserna som används en felberäkningnsmetod <strong>för</strong> neuronnät<br />

kallad SSE (Sum Squared Error), vilket innebär att felet mellan utparametern<br />

och m˚alparametern kvadreras och summeras över alla mönster. [17]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!