L09 Using Matlab Neural Networks Toolbox

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 34

Using Matlab Neural Networks

Toolbox

Ranga Rodrigo
April 5, 2014
Most of the sides are from the Matlab
tutorial.

Introduction
Matlab Neural Network Toolbox provides
tools for designing, implementing,
visualizing, and simulating neural
networks.
It supports feedforward networks, radial
basis networks, dynamic networks, selforganizing maps, and other proven
network paradigms.
We will follow Matlabs examples to learn
to use four graphical tools for training
neural networks to solve problems in

Starting the Master GUI


To start the master GUI type
nnstart

This enables us to access the GUIs for the


following tasks
Function fitting
Pattern recognition
Data clustering
Time series analysis

The second way of using the toolbox is


through command line operation, which
we will not cover.

Neural Network Design Steps


Standard steps in designing a NN in
Matlab are
1.
2.
3.
4.
5.
6.
7.

Collect data
Create the network
Configure the network
Initialize the weights and biases
Train the network
Validate the network
Use the network
4

FITTING A FUNCTION

Problem Definition
Suppose, for instance, that you have data
from a housing application. You want to
design a network that can predict the
value of a house (in $1000s), given 13
pieces of geographical and real estate
information. You have a total of 506
example homes for which you have those
13 items of data and their associated
market values
6

nnstart

Click Fitting Tool to open the Neural


Network Fitting Tool.

Click Load Example


Data Set in the Select
Data window. The
Fitting Data Set
Chooser window
opens

Select House Pricing,


and click Import. This
returns you to the
Select Data window.

10

Click Next to display the


Validation and Test Data
window, shown in the
following figure.
The validation and test data
sets are each set to 15% of
the original data.

11

With these settings, the input vectors and target vectors will be
randomly divided into three sets as follows:
70% will be used for training.
15% will be used to validate that the network is generalizing and to
stop training before overfitting.
The last 15% will be used as a completely independent test of
network generalization.

12

The standard network that is used for function fitting is a two-layer


feedforward network, with a sigmoid transfer function in the hidden
layer and a linear transfer function in the output layer. The default
number of hidden neurons is set to 10

13

The training continued until the


validation error failed to
decrease for six iterations
(validation stop).

14

Under Plots, click Regression. This is


used to validate the network
performance.

15

The regression plots


display the network
outputs with respect
to targets for training,
validation, and test
sets. For a perfect fit,
the data should fall
along a 45 degree
line, where the
network outputs are
equal to the targets.
Here, the fit is
reasonably good for
all data sets, with R
values in each case of
0.92 or above. If even
more accurate results
were required, you
could retrain the
network by clicking
Retrain in nftool. This
will change the initial
weights and biases of
the network, and may
16
produce an improved

View the error histogram


to obtain additional
verification of network
performance. Under the
Plots pane, click Error
Histogram.

17

18

19

RECOGNIZING PATTERNS

20

Problem Definition
In addition to function fitting, neural
networks are also good at recognizing
patterns.
For example, suppose you want to
classify a tumor as benign or malignant,
based on uniformity of cell size, clump
thickness, mitosis, etc. You have 699
example cases for which you have 9
items of data and the correct
classification as benign or malignant.
Nnstart and click or nprtool

21

nnstart

22

23

Click Load Example Data Set.


The Pattern Recognition Data
Set Chooser window opens.

24

Select Breast
Cancer and click
Import. You return
to the Select Data
window.

25

26

27

The standard network that is used for


pattern recognition is a two-layer
feedforward network, with sigmoid
transfer functions in both the hidden
layer and the output layer

28

29

30

Under the Plots pane, click Confusion


in the Neural Network Pattern
Recognition Tool.
The next figure shows the confusion
matrices for training, testing, and
validation, and the three kinds of data
combined. The network outputs are
very accurate, as you can see by the
high numbers of correct responses in
the green squares and the low
numbers of incorrect responses in the
red squares. The lower right blue
squares illustrate the overall
accuracies.

31

32

ROC Curve
The colored lines in
each axis represent
the ROC curves. The
ROC curve is a plot of
the true positive rate
(sensitivity) versus
the false positive rate
(1 - specificity) as the
threshold is varied. A
perfect test would
show points in the
upper-left corner, with
100% sensitivity and
100% specificity. For
this problem, the
network performs
very well.

33

34

You might also like