我编写了一个人工神经网络,它适用于简单的任务,但是如果我尝试更复杂的任务(在我的情况下使用28x28px图像检测笔迹),权重就会随机产生[在非常高的跳动下不规则地增加和减少:例如,输出神经元为1,在下一次训练后为0.1,在下一次训练后为0.9]。我的ANN会计算0到1之间的值。
我的计算方式:
float value = 0;
foreach (Connection c in connections)
{
value += c.GetValue();
}
value = MathA.Sigmoid(value);
this.value = value;
我现在计算新权重的方式:
float newWeight = currentWeight * lernRate * entrieNeuronValue * (answer - expectedAnswer);
有谁知道更好的重量计算方法?
大话西游666
相关分类