MATLAB Answers


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


Log in to comment.

2 Answers

Answer by Greg Heath
on 14 Jun 2013
 Accepted Answer

'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.



Log in to comment.

Answer by Ahmed
on 3 Jun 2013

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

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


Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today