可以通过将Accord.net神经网络的ActivationFunction属性设置为Softmax来解决该问题。此设置将强制网络输出一个概率分布,而不仅仅是单个最高值。
以下是一个示例代码片段:
// 创建神经网络
var network = new ActivationNetwork(new SigmoidFunction(), inputSize, hiddenSize, outputSize);
// 将ActivationFunction属性设置为Softmax
network.ForEach(l => l.ActivationFunction = new SoftmaxFunction());