I get a "Performance function replaced with squared error performance" warning when trying to set 'crossentropy' as the performance function.
显示 更早的评论
If I run the following code:
[x,t] = house_dataset;
net = fitnet(10);
net.performFcn = 'crossentropy';
[net,tr] = train(net,x,t);
I get this warning:
Warning: Performance function replaced with squared error performance.
> In trainlm>formatNet (line 155)
In trainlm (line 65)
In nntraining.setup (line 14)
In network/train (line 335)
How can I use 'crossentropy' as the performance function then?
Regards
1 个评论
Greg Heath
2017-8-4
1. Where did you find house_dataset?
It does not come with MATLAB17a
2. For classification
help patternnet
doc patternnet
Hope this helps
Greg
回答(4 个)
Greg Heath
2016-4-19
3 个投票
Crossentropy is, theoretically, not appropriate for regression.
Classically, it is only used for classification and pattern-recognition. It's definition involves probability distribution functions and their logarithms.
That is not to say that it will not yield good answers for regression problems. Obviously I have never tried it and, one day when I get bored, I might tinker around with it.
Hope this helps.
If you think this answer is worth accepting, THANKS!
Greg
Greg Heath
2017-8-5
编辑:Greg Heath
2019-6-18
2 个投票
If you insist on using CROSSENTROPY, try PATTERNNET.
Hope this helps.
Thank you for formally accepting my answer
Greg
Alex
2016-4-7
It worked for me after adding
net.performParam.regularization = 0.1;
net.performParam.normalization = 'none';
Seems to be necessary when using cross entropy.
Chinmay Maheshwari
2017-8-2
0 个投票
Any updates on it as i am also facing the same trouble. I am not to customize my performance function because of this Thanks in advance
类别
在 帮助中心 和 File Exchange 中查找有关 Deep Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!