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)?
ANSWER
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
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:
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
cost = F(y)>0,
then a continuous version of this would need to be created,
cost = -1 ./ (1 + exp(10*F(y))
SEE COMPLETE ANSWER CLICK THE LINK
Comments
Post a Comment