MATLAB Environmentbayanbox.ir/.../06-Neural-Networks-Using-Matlab.pdfVariables MATLAB is a weakly...

Post on 17-Jul-2020

9 views 0 download

transcript

1

MATLAB Environment

Neural Networks - Shahrood University - Hossein Khosravi

2

MATLAB Help

help sin

Inline help

Concise

doc sin

Opens help browser

Comprehensive

Several Examples

Neural Networks - Shahrood University - Hossein Khosravi

3

Writing scripts using editor

Neural Networks - Shahrood University - Hossein Khosravi

4

Remarks

COMMENT! Anything following a % is seen as a comment

The first contiguous comment becomes the script's help file

Comment thoroughly to avoid wasting time later

Note that scripts are somewhat static, since there is no input and no explicit output

All variables created and modified in a script exist in the workspace even after it has stopped running

Neural Networks - Shahrood University - Hossein Khosravi

5

Variables

MATLAB is a weakly typed language No need to initialize variables!

MATLAB supports various types; The most often used are » pi_num = 3.14

64-bit double (default)

» a_char = ‘a’ 16-bit char

Most variables you’ll deal with will be vectors or matrices of doubles or chars

Other types are also supported: complex, symbolic, 16-bit and 8 bit integers, etc.

Neural Networks - Shahrood University - Hossein Khosravi

6

Matrices: The most common type

Neural Networks - Shahrood University - Hossein Khosravi

7

Built in functions

MATLAB has an enormous library of built-in functions

Almost any function you think, is available.

Call using parentheses –passing parameter to function:

»sqrt(2)

»log(2), log10(0.23)

»cos(1.2), atan(-.8)

»exp(2+4*i)

»round(1.4), floor(3.3), ceil(4.23)

»angle(1+2i); abs(1+2i);

Neural Networks - Shahrood University - Hossein Khosravi

8

Example: Activation functions used in NN's

% Illustration of various activation functions used in

NN's

x = -10:0.1:10;

tmp = exp(-x);

y1 = 1./(1+tmp);

y2 = (1-tmp)./(1+tmp);

y3 = x;

subplot(131); plot(x, y1); grid on;

title('Logistic Function');

subplot(132); plot(x, y2); grid on;

title('Hyperbolic Tangent Function');

subplot(133); plot(x, y3); grid on;

title('Identity Function');

Neural Networks - Shahrood University - Hossein Khosravi

9

Output

-10 -5 0 5 10-2

-1

0

1

2Logistic Function

(a)

-10 -5 0 5 10-2

-1

0

1

2Hyperbolic Tangent Function

(b)

-10 -5 0 5 10-10

-5

0

5

10Identity Function

(c)

Neural Networks - Shahrood University - Hossein Khosravi

10

Example: Curve fitting

% Polynomial fit

x=-4:0.1:4;

y=x.^2;

y=y+randn(size(y));

plot(x,y,'.');

p = polyfit(x,y,2)

hold on;

plot(x,polyval(p,x),'r');

-4 -3 -2 -1 0 1 2 3 4-5

0

5

10

15

20

Neural Networks - Shahrood University - Hossein Khosravi

11

User functions

Neural Networks - Shahrood University - Hossein Khosravi

12

User functions

No need for return:

MATLAB 'returns' the variables whose names match those in the function declaration

Variable scope:

Any variables created within the function but not returned disappear after the function stops running function

Neural Networks - Shahrood University - Hossein Khosravi

13

Relational Operators

MATLAB uses mostly standard relational operators Equal ==

Not equal ~=

greater than >

less than <

greater or equal >=

less or equal <=

Logical operators element-wise scalars And & &&

Or | ||

Not ~

Xor xor

All true all

Any true any

Boolean values: zero is false, nonzero is true

See help . for a detailed list of operators

Neural Networks - Shahrood University - Hossein Khosravi

14

Code Efficiently

Neural Networks - Shahrood University - Hossein Khosravi

15

Avoiding Loops

Neural Networks - Shahrood University - Hossein Khosravi

16

Neural Networks

nnstart

nntool

nftool

nprtool

nctool

ntstool

newp, newhop, newff, …

Neural Networks - Shahrood University - Hossein Khosravi

17

Neural Nets Using MATLAB

nnstart: A good point to start with neural network toolbox

Neural Networks - Shahrood University - Hossein Khosravi

18

Example: fitnet

%fit net

%[x,t] = simplefit_dataset;

[x t] = simplefit_create;

%subplot(211)

plot(x,t,'.');

net = fitnet(5); % I told everything you think may be foundnet.trainParam.epochs = 5;

net = train(net,x,t);

%view(net);

y = net(x);

%subplot(212)

hold on

plot(x,y,'r');

Neural Networks - Shahrood University - Hossein Khosravi

19

Result

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

5 Epochs 10 Epochs

Neural Networks - Shahrood University - Hossein Khosravi

20

Previous Example using Fitting Tool (nftool)

Here we can divide dataset into

train, test and validation

Neural Networks - Shahrood University - Hossein Khosravi

21

Results

Neural Networks - Shahrood University - Hossein Khosravi

22

Pattern Recognition Tool (nprtool)

Neural Networks - Shahrood University - Hossein Khosravi

23

MSE Graph

Neural Networks - Shahrood University - Hossein Khosravi

24

Perceptron

newp: Create a perceptron.

Obsoleted in R2010b NNET 7.0.

Last used in R2010a NNET 6.0.4.

Run digit recognition program: newp_digits.m

Neural Networks - Shahrood University - Hossein Khosravi

25

Adaptive Linear Network: Adaline

newlin

Or simple coding!

Example: Prediction

Run program Adalline_Prediction.m

Example: System Identification

Run program Adaline_System_Identification.m

Neural Networks - Shahrood University - Hossein Khosravi

26

MLP

newff

Example: Digit recognition

Run program ReadFeatures.m and train.m

Neural Networks - Shahrood University - Hossein Khosravi

27