How can I include prior information like a known relationship between my output variables of a regression problem into neural network design (fitnet)?
1 次查看(过去 30 天)
显示 更早的评论
Hi
How can I include prior information like a known relationship between my output variables into neural networks design?
In my case, I have many input variables that are physically independant from one another, and 4 output variables that have to sum up to 1 (respectively 100 %). The neural network per se tries to to satisfy this criterium, since all the training targets fulfill it, but it never quite gets 100 %, but rather somewhere between 98 and 102 %, which is physically not possible.
I was wondering if anybody knows a way to constrain the outputs by a function that needs to be fulfilled, or similar.
Thanks in advance, FS
0 个评论
回答(1 个)
Greg Heath
2017-6-1
It depends on the relationship.
For [ 0, 1 ] targets that sum to 1, just use the crossentropy function in the output layer and choose the output with the maximum value.
This is standard approach for classifiers where the outputs are interpreted as posterior probabilities conditional on the input.
Hope this helps.
Thank you for formally accepting my answer
Greg
2 个评论
Greg Heath
2017-6-3
If targets are 0 or 1 and the output sum is 1, crossentropy will yield what you want.
Although you are not designing a classifier, the conditions you have stated are, exactly, what defines a classier.
Hope this helps.
Greg
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!