梯度下降算法SGD

梯度,是一个数学概念,自然有其严格的数学定义。简单说就是,梯度就是函数在该点处沿着该方向变化最快。因此,梯度是一个向量场。沿着正梯度就可以找到最大值,所谓的梯度上升。沿着负梯度就可以找到最小值,所谓的梯度下降。两者其本质都是一样的。

简单公式推导如下:



梯度下降算法SGD_第1张图片

由此可以得到权值更新为(没有引入学习率):


程序具体实现过程:

原始数据为A=(M*N)阶矩阵
标签为B=(M*1)
初始权重为W=(N*1)
梯度h=sigmoid(A*W)
误差error=B-h
权重更新W=W+a*A'*error


具体实现代码  https://blog.csdn.net/pengjian444/article/details/71075544

你可能感兴趣的:(梯度下降算法SGD)