梯度(Gradient):是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,则函数在该点处沿着该方向变化最快,变化率最大。
梯度下降法(Grdient Descent):一种最优化算法,也称为最速下降法,沿着负梯度方向去减小函数值而接近目标值。即更接近最小值。(和梯度上升法正好相反)
批量梯度下降:用链式法则把平均均方误差关于theta求导,一小步一小步的更新theta。批量就是在训练集上全部跑一边更新一次theta,直到最优。
随机梯度下降:就是针对一个点把theta更新到最优,然后换个点再更新直到遍历整个训练集。这个没有批量梯度下降稳定因为对于x1来最优的theta对x2并不一定是最优,换个数据点theta就要变。但是优点是这个算法快。
小批量梯度下降:就是把数据分成小数据集,先在小数据集上做批量梯度下降,这样因为小批量数据集数据少,就不会特别慢。第二层以小批量为单位做随机梯度下降。这个比单个数据点的优势在于异常数据点在小批量内部有个对冲,theta就不会太震荡。相当于在原数据上先做了个平滑。小批量梯度下降适合并行。
梯度下降的算法能保证找到局部最优值,但无法保证找到全局最优值。不同的参数初始化找到的局部最优不一样。对于凸优化函数,局部最小值就是全局最小值,不会遇到这个问题。这是凸函数的性质。
补充一下凸函数:(在机器学习领域,一般都是用这个定义,和高数不一样哦)