Levenberg-Marquardt learning @BULLETMATLAB programming @BULLET MLP (Multilayer Perceptrons)

23
1 1 Adavanced Numerical Computation Adavanced Numerical Computation 2008, AM NDHU 2008, AM NDHU Levenberg-Marquardt learning •MATLAB programming • MLP (Multilayer Perceptrons)

Transcript of Levenberg-Marquardt learning @BULLETMATLAB programming @BULLET MLP (Multilayer Perceptrons)

11Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

Levenberg-Marquardt learning

•MATLAB programming • MLP (Multilayer Perceptrons)

22Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

MLP (multilayer MLP (multilayer perceptronsperceptrons))

Weight sum of postWeight sum of post--tanhtanh projectionsprojections

}{}{}{

)tanh();(F 01

mmm

M

mm

Tmm

rb

rbr

∪∪=

++=∑=

a

xax

θ

θ

33Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

Data StructureData Structure

NetNetNet.aNet.a : receptive field : receptive field MxdMxdNet.bNet.b : bias: biasNet.rNet.r : posterior weights: posterior weightsNet.MNet.M : number of hidden units: number of hidden unitsNet.dNet.d : data dimension: data dimension

44Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

LM_iniNet.m

55Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

Input & outputInput & output

x: x: NxdNxdN: data sizeN: data sized: data dimension d: data dimension

y: Nx1 y: Nx1 NetNet

demo_LM.m

66Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

Data StructureData Structure

Form a Form a

How to form b and r ?How to form b and r ?

],...,[]r r r r [

12*1

M210M2121

++==

MdM

TTM

TT bbbθθ

LLLaaaθ

a = reshape(theta(1:Net.M*Net.d),[Net.d,Net.M])';

77Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

x

MLPMLP

tanh

tanh

tanh

…….

1

a2

a1

aM

b2

b1

bM

1

∑r1

r2

rM

rM+1

88Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

MLP EvaluationMLP Evaluation

Form h : Form h : NxMNxMx*x*aaTT

Add bAdd bForm v : Form v : NxMNxM

Feed to Feed to tanhtanhMultiply to rMultiply to ryhatyhat : network output, Nx1 : network output, Nx1

)tanh( mm

mTmm

hvbh

=+= xa

99Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

Current errorCurrent error

Approximating errorApproximating errore=e=yy--yhatyhatMean square errorMean square error

mean(e.^2)mean(e.^2)

1010Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

DerivativeDerivative

gtheta=[ ga gb gr ]

% gtheta : N x (Md+2M+1)% ga : N x Md% gb : N x M% gr : N x ( M+1)

derivative.m

1111Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

gtheta : N x (Md+2M+1)

tk

kTkk

k

gatbtr

dtdy

=+= ][))][tanh(-1(

)|(

2 xxa

aθga : N x Md

1212Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

1:M to1 from runsk N to1 from runs

N

1

111

×

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

×

dga

t

gaga

gaga

ga

tk

Md

Ttk

Tt

Tk

T

MMMM

LL

MM

LL

][))][tanh(-1( 2 tbtrga kTkktk xxa +=

1313Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

1414Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

1. Initialize , i=0 and set2. Calculate and 3. Update network parameters

4. Calculate 5. Update

6. If halting condition hold, exitotherwise go to step 2

LM methodLM methodiθ λ

iθΔ

iii θθθ Δ+=+1

iαλ

LM.m

1515Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

Calculate Calculate delta_thetadelta_thetaUpdate thetaUpdate theta

1616Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

Control Control

Actual cost reduction

Predicted cost reduction

Current parameterNext parameter

1717Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

ProjectProject

Learning RBF or MLP by the LM method1. (30 pt) Derivation

2. (140 pt) Matlab codes3. (50 pt) Testing

?)|(=

θθ

dtdy

1818Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

DerivativeDerivative

],...,[] w w w w [

12*1

M210M2121

++==

MdM

TTM

TT

θθσσσθ LLLuuu

T

MdMdtdy

dtdy

dtdy ])|(,,)|([)|(

12*1 ++

θθθ

θθ

L

1919Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

DerivativeDerivative

?)|(

?)|(

?)|(

=

=

=

m

m

m

dwtdy

dtdy

dtdy

θσθ

θu

2020Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

MatlabMatlab codingcoding

• (30 pt)Main program

• Matlab Functions a. (10 pt)Calculate

b. (10 pt)Calculate )(L ii θ

2121Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

MatlabMatlab codingcoding• Matlab functions

•(10 pt) Calculate

•(10 pt) Calculate

•(10 pt) Calculate

i

mdtdy

θθ

θ=|)|(

u

i

mdtdy

θθσθ

=|)|(

i

mdwtdy

θθ

θ=|)|(

2222Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

MatlabMatlab codingcoding

•Matlab functions

•(20 pt) Calculate

•(20 pt) Calculate

•(20 pt) Calculate

)( iθ∇

)( iR θ

)|( θxG

2323Adavanced Numerical Computation Adavanced Numerical Computation

2008, AM NDHU2008, AM NDHU

TestTest•Give two examples to test your

matlab codes for learning RBF or MLP networks by Levenberg-Marquardt method