I get a "Performance function replaced with squared error performance" warning when trying to set 'crossentropy' as the performance function.
조회 수: 8 (최근 30일)
이전 댓글 표시
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일
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
댓글 수: 0
Greg Heath
2017년 8월 5일
편집: Greg Heath
2019년 6월 18일
If you insist on using CROSSENTROPY, try PATTERNNET.
Hope this helps.
Thank you for formally accepting my answer
Greg
댓글 수: 0
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.
댓글 수: 0
Chinmay Maheshwari
2017년 8월 2일
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
댓글 수: 0
참고 항목
카테고리
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!