我正在创建一个具有S型激活功能的神经网络,并具有反向传播,自适应学习率和动量。我正在使用葡萄酒数据集。
我的主要问题是该算法在0.88的成本值附近振荡或从0.88定期更改为12。我无法抑制0.88的值。
我正在规范所有数据。
有一个指向我的仓库的链接:https://github.com/mikart143/trainbpx-wine-core
答案 0 :(得分:2)
由于随机初始化,每次学习都有不同的结果。因此,每次学习的成本标量可能会有所不同。
所以,我认为成本不是问题。
但是,首先,我们必须考虑机器学习算法。 机器学习的输出不是程序始终执行以使输出相同的程序。 因此,我们不编写程序。我们只是设置了一种通过数据和预测目的进行有效学习的算法。
根据您的解释和代码,您的模型是多分类的。 因此,存在用于多类分类的机器学习算法,例如KNN,随机森林和具有softmax的神经网络。
而且,用于多类分类的神经网络需要softmax,因为它比S形更合适。
您知道,Sigmoid为0〜1。实际上,它适合于0或1。因此,通常,它适用于二进制分类。
而且,Softmax可以给概率给出总和为1。因此,它是用于多类分类的。
我看到了您的代码,您正在开发使用c#构建神经网络的功能。这很棒。但是,我可以确保S型无法满足您的神经网络模型的需求。