Laboratorium Identyfikacji procesów technologicznych

NAZWISKO IMI :

Temat : Identyfikacja charakterystyk statycznych obiektu dynamicznego z wykorzystaniem sieci neuronowych

wiczenie numer :

Data wykonania:

Uwagi :

Ocena :

Data oddania :

1.Cel wiczenia

Celem wiczenia jest identyfikacja charakterystyk statycznych obiektu dynamicznego, przy wykorzystaniem sztucznych sieci neuronowych .

2. Wstp

1

b

U 1

W1

U 2 y

: w2

.

U N wN F

Rys.1 Model neuronu nieliniowego

U1,U2,...,UN -

b - „bios”

w1,w2,...,wN - wagi

y = ( "uiwi +b )f

F- funkcja aktywacji neuronu

1 b

w

u y = b + wu

Rys.2 Neuron liniowy

Najlepsza aproksymacja danych eksperymentu oznacza dobór wagi w oraz „bios” b dla pojedynczego neuronu liniowego. W tym przypadku nauczanie neuronu przeprowadza si do rozwizania ukadu równa liniowych.

Faktyczn moc aproksymacji neuronów sztucznych osiga si przy budowie sieci kilku neuronów o rónych architekturach , najprostsza architektura - sie wielowarstwowa jednokierunkowa :

b11

b2

W11 w21

u y

b13

W13 w23

Rys.3 Sie wielowarstwowa jednokierunkowa

3.Przebieg wiczenia

u=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.2 1.5 2 3 4 6 8 10 11]

y=[0.065 0.13 0.2 0.27 0.33 0.4 0.45 0.55 0.6 0.65 0.8 1 1.3 1.9

2.5 3.5 4.5 5 5]

u1=u(1:10)

u1 =

Columns 1 through 7

0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000

Columns 8 through 10

0.8000 0.9000 1.0000

y1=y(1:10)

y1 =

Columns 1 through 7

0.0650 0.1300 0.2000 0.2700 0.3300 0.4000 0.4500

Columns 8 through 10

0.5500 0.6000 0.6500

[w,b]=solvelin(u1,y1)

w =

0.6615

b =

6.6667e-004

U1=[ones(10,1) u1']

U1 =

1.0000 0.1000

1.0000 0.2000

1.0000 0.3000

1.0000 0.4000

1.0000 0.5000

1.0000 0.6000

1.0000 0.7000

1.0000 0.8000

1.0000 0.9000

  1. 1.0000

a=U1\y1'

a =

0.0007

0.6615

[ww,bb]=initlin(u1,y1)

ww =

-0.5621

bb =

-0.9059

[ww,bb]=trainwh(ww,bb,u1,y1,[20 800 0.1 0.0005])

ww =

0.2570

bb =

0.2299

0x01 graphic

Rys.1 Trening neuronu liniowego

y=w*u+b

y =

Columns 1 through 7

0.0668 0.1330 0.1991 0.2653 0.3314 0.3976 0.4637

Columns 8 through 14

0.5299 0.5960 0.6622 0.7945 0.9929 1.3237 1.9852

Columns 15 through 19

2.6467 3.9698 5.2928 6.6158 7.2773

pause

plot(u,y,'g+')

0x01 graphic

Rys.2 Zaleno u=f(y)

hold on

y1=w*u+b

y1 =

Columns 1 through 7

0.0668 0.1330 0.1991 0.2653 0.3314 0.3976 0.4637

Columns 8 through 14

0.5299 0.5960 0.6622 0.7945 0.9929 1.3237 1.9852

Columns 15 through 19

2.6467 3.9698 5.2928 6.6158 7.2773

plot(u,y1,'r--')

0x01 graphic

Zaleno u=f(y1)

y2=ww*u+bb

y2 =

Columns 1 through 7

0.2339 0.2657 0.2974 0.3292 0.3609 0.3927 0.4244

Columns 8 through 14

0.4562 0.4879 0.5197 0.5832 0.6784 0.8372 1.1547

Columns 15 through 19

1.4722 2.1072 2.7422 3.3772 3.6948

pause

[w1,b1,w2,b2]=initff(u,1,'tansig',y,'purelin')

w1 =

0.1284

b1 =

-0.4618

w2 =

0.8694

b2 =

-0.2330

[w1,b1,w2,b2]=trainbp(w1,b1,'tansig',w2,b2,'purelin',u,y,[25 500 0.005 0.01])

w1 =

0.4122

b1 =

-2.3794

w2 =

2.9057

b2 =

3.3151

0x01 graphic

Rys.4 Trening nieliniowej sieci aproksymacyjnej

y2=w*u+b

y2 =

Columns 1 through 7

0.0668 0.1330 0.1991 0.2653 0.3314 0.3976 0.4637

Columns 8 through 14

0.5299 0.5960 0.6622 0.7945 0.9929 1.3237 1.9852

Columns 15 through 19

2.6467 3.9698 5.2928 6.6158 7.2773