How can I train a neural network such that the output of the network satisfies a certain constraint function in the Neural Network Toolbox 5.0 (R2006a)?

15 Ansichten (letzte 30 Tage)
I would like to train a neural nework so that the outputs satisfy certain constraints captured by a certain function.

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 28 Jan. 2010
If the target data for training meets the criteria of your constraint function 'F' then the network will naturally tend to meet that criteria without any special effort.
It is recommended that the target data be edited if necessary so that it meets the desired criteria, and then the network can be trained normally.
However if that is not possible, you can create a custom performance function (in Neural Network Toolbox 5.0 (R2006a)) which optimizes a cost function of the outputs, in addition to mean squared error.
This cost function must be a smooth function and returns only '0' or positive values. It should return larger values as the desired criterion is not met and smaller values as the criterion is met. If the desired cost function is a discontinuous function such as the following:
cost = F(y)>0,
then a continuous version of this would need to be created,
cost = -1 ./ (1 + exp(10*F(y))
The example continous cost function above returns 0 for F(y)>0, 1 for F(y)<0, and crosses F(y)==0 at 0.5.
Attached is a custom transfer function 'performance1.m' (based on the template file 'template_performance.m') which includes subfunctions (COST_FUNCTION and DCOST_FUNCTION) for calculating cost and derivative of cost at the end.
The sum of sin(y)+1 is used for the cost function. You can edit these two subfunctions to implement a performance function with any cost function desired.
To use the function,you must set the networks performance function accordingly before training using the statement:
net.performFcn = 'performance1';
You should be aware that this will result in training a network that will attempt to fit both the target data and the cost function, but may not perfectly fit either, especially in cases where the target data violates the cost function.

Weitere Antworten (0)

Kategorien

Mehr zu Sequence and Numeric Feature Data Workflows finden Sie in Help Center und File Exchange

Produkte


Version

R2006a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by