我根本无法让我的神经网络表现良好。它应该将 21 位编码输入分类为二进制是或否输出。是:否目标的划分大致是 20:80。起初我有一个小数据集,所以我默认它输出接近 100% 的“否”。但是现在我有大约 20,000 条记录,它仍然在大约 100% 的时间内输出“否”。为什么它无法学习将输入分类为“是”的规则,有人知道我做错了什么吗?
我的输入向量是 21x18942。我的目标向量是 2x18942。我对神经网络没有做任何花哨的事情,代码很简单
net=patternnet(20)
a = sim(net,targets);
[net,tr] = train(net,inputs,targets);
outputs = net(inputs);
plotconfusion(targets, outputs)
我已经尝试了 matlab 中可用的其他标准神经网络,例如net = feedforwardnet(10, 'traingd');
具有相同的结果。
有谁知道我做错了什么,或者这些matlab神经网络工具箱是否存在某种限制导致问题?
非常感谢这里的任何想法