Optimization 在计算了我的参数w和u的梯度后,下一步如何以SGD的方式优化它们?

Optimization 在计算了我的参数w和u的梯度后,下一步如何以SGD的方式优化它们?,optimization,neural-network,deep-learning,gradient-descent,cost-based-optimizer,Optimization,Neural Network,Deep Learning,Gradient Descent,Cost Based Optimizer,我在编码什么:我在构建一个简单的神经网络,其中包含权重矩阵w和第二个评分参数u。将我的输入向量与w相乘后,结果与向量u相乘,得到一个结果作为一个数字,这就是我的分数 我现在的位置:我计算了两个参数相对于损失函数的梯度 我的问题:现在我陷入困境,下一步该怎么办 我的解决方案建议:我可以用w=w+learningrate*w_grad(也可以用u=u learning rate*u_grad)更新参数并执行此过程,直到我的成本/损失值降低。。。 这行吗? 这是正确的吗? 这是随机梯度下降的esay实

我在编码什么:我在构建一个简单的神经网络,其中包含权重矩阵w和第二个评分参数u。将我的输入向量与w相乘后,结果与向量u相乘,得到一个结果作为一个数字,这就是我的分数

我现在的位置:我计算了两个参数相对于损失函数的梯度

我的问题:现在我陷入困境,下一步该怎么办

我的解决方案建议:我可以用w=w+learningrate*w_grad(也可以用u=u learning rate*u_grad)更新参数并执行此过程,直到我的成本/损失值降低。。。 这行吗? 这是正确的吗? 这是随机梯度下降的esay实现吗

我是用Java编写代码的,如果你有一个简单且有文档记录的例子,说明如何以一种简单的方式优化神经网络,你可以和我分享


提前谢谢

我假设w_grad是偏导数。如果说你的解决方案是什么,那就是所谓的迭代优化方法。只有一个澄清。你应该使用w=w-learnagrate*w\u grad来代替w=w+learnagrate*w\u grad。它工作得很好,但如果你有多核机器,它将只使用一个核心。如果您需要性能提升,可以尝试批处理算法。w=w-学习者等级*总和(w_梯度)。性能提升是在w_grad计算期间实现的

随机梯度下降或其他方法?随机梯度下降您想要单神经元还是神经网络?如果是神经网络,有多少层?神经网络,如上所述。输入层、隐藏层、输出层。输入*W-->fsigomoid-->*U-->输出/分数