大家可以参看这篇文章,我认为是全网讲得最好的
https://www.jianshu.com/p/c7e642877b0e
这里进行一下补充:
梯度其实就是梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率,
而在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向
梯度上升就是梯度,梯度下降则是梯度的反方向
寻找山谷的最低点,也就是我们的目标函数终点(什么样的参数能使得目标函数达到极值点)
那么下山分几步走呢?(更新参数)
1):找到当前最合适的方向(求单变量求导,多变量求偏导)
2):走那么ー小步,走快了该"跌倒"了(根据学习率设置梯度速度)
(3):按照方向与步伐去更新我们的参数
梯度下降,目标函数:
批量梯度下降:
容易得到最优解,但是由于毎次考虑所有样本,速度很慢
随机梯度下降:
每次找—个样本,迭代速度快,但不一定每次都朝着收敛的方向
小批量梯度下降法:
每次更新选择一小部分数据来算,实用!