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 件のコメント

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
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
Greg Heath
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
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
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

カテゴリ

ヘルプ センター および File ExchangeDeep Learning Toolbox についてさらに検索

質問済み:

2015 年 12 月 27 日

編集済み:

2019 年 6 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by