Machine learning 如何使随机梯度下降不最终杀死所有权重

Machine learning 如何使随机梯度下降不最终杀死所有权重,machine-learning,gradient-descent,backpropagation,Machine Learning,Gradient Descent,Backpropagation,据我所知,随机梯度下降的实现如下: 激活网络,读取输出神经元,与期望输出进行比较,计算权重导数,更新权重,使用新示例激活 但是,假设我有以下数据集: [ { input: [0, 0], output: [0] }, { input: [0, 1], output: [0] }, { input: [1, 0], output: [0] }, { input: [1, 1], output: [1] }, ] 因此,如果我更新权重以减少4个案例中的3个案例中输出神经元的输出,最

据我所知,随机梯度下降的实现如下:

激活网络,读取输出神经元,与期望输出进行比较,计算权重导数,更新权重,使用新示例激活

但是,假设我有以下数据集:

[
  { input: [0, 0], output: [0] },
  { input: [0, 1], output: [0] },
  { input: [1, 0], output: [0] },
  { input: [1, 1], output: [1] },
]
因此,如果我更新权重以减少4个案例中的3个案例中输出神经元的输出,最终,随着时间的推移,我将设置权重以产生0或接近0的输出


如果两个输入神经元都被1激活,哪种机制可以确保我得到1的输出?

我不确定是否有办法做到这一点。但是,当您有一个需要对其执行分类任务的数据集时,最好确保数据集中的类分布几乎均匀。

没错,但即便如此。。如果你有5个类,你会影响权重,在5个例子中,有4个会影响权重。我不是想增加类的数量。我的意思是使类的分布均匀,也就是说,所有类的样本数量大致相等。我不认为有任何其他的方法可以做到这一点。好吧,很好,这实际上现在起作用了,有时候有一点!谢谢你(没有讽刺)但是,只有当我只有两门课的时候,我才能影响每一个神经元一半的时间。但是如果我有3个类,我的输出将是[0,0,1],[0,1,0],[1,0,0],所以我对每个神经元的权重影响的频率是对1的两倍,并且问题随着每一个附加类的增加而增加,即使样本分布均匀