本博客大部分参考了这篇博文
梯度
在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。
比如函数 f(x,y) , 分别对x,y求偏导数,求得的梯度向量就是 (∂f/∂x,∂f/∂y) ,简称 gradf(x,y) 或者 ∇f(x,y) 。如果是3个参数的向量梯度,就是 (∂f/∂x,∂f/∂y,∂f/∂z) ,以此类推。
那么这个梯度向量求出来有什么意义呢?他的意义从几何意义上讲,就是函数变化增加最快的地方。
具体来说,对于函数 f(x,y),在点(x0,y0) ,沿着梯度向量的方向(即 (∂f/∂x0,∂f/∂y0) 的方向)是 f(x,y) 增加最快的地方。或者说,沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 −(∂f/∂x0,∂f/∂y0) 的方向,梯度减少最快,也就是更加容易找到函数的最小值。
矩阵描述
参考的博客给出了详细的解答过程,这里就另外给个矩阵的求导法则链接
补充:改进的随机梯度下降
上述博客讲了随机梯度下降,在此补充一个循环迭代的随机梯度下降。
即通过多次循环随机梯度下降,来避免随机梯度下降的局部最优。
建议参考《机器学习实战》的5.2.4节。