Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

change patternnet transfer function

Asked by Programmer Pig on 11 May 2013

how can i change the transfer function for patternnet? initially i used net.transferFcn = 'tansig'. but it hits error 'reference to non existence field transferFcn'

i have used the nn out of the box tool to generate the nn command. and i have noticed there are some functions i'm not understand n no luck to get answer after asking from google. TrainMask{1}, valMask{2} and testMask{1}.. thanks

0 Comments

Programmer Pig

Products

No products are associated with this question.

2 Answers

Answer by Ahmed on 3 Jun 2013

try following to change the transfer function in the first hidden layer:

net.layers{1}.transferFcn = 'tansig';

0 Comments

Ahmed
Answer by Greg Heath on 14 Jun 2013

'tansig' is the correct default transfer function for both hidden and output layers in patternnet because the default normalization for input and output are mapminmax. It is still correct if you override with mapstd.

However, if you remove the output normalization and the target matrix contains unit vector columns with a single 1, then logsig and softmax are appropriate for estimating input-conditional class posterior probabilities. Both yield consistent estimates. However, the softmax probabilities estimates always sum to 1. If you are using logsig and the unit sum property is desirable, you can always divide the logsig estimates by their sum.

If you are still having problems, post your code.

Trainmask is a vector with ones at the training set indices and zeros otherwise. Multiplication using .* singles out training set inputs and outputs. Similarly for the other masks.

Search ANSWERS and NEWSGROUP for sample code.

Hope this helps.

Thank you for formally accepting my answer.

Greg

0 Comments

Greg Heath

Contact us