梯度下降算法(gradient descent)

原理:

  每次按照下降的方向进行计算,属于贪心的算法。

算法(就最小二乘法讨论):

  若训练集:
  训练函数:
  参数向量:
  损失函数:
  梯度:
     

gradient向量:
     

故在初始化的时候要补一列元素均为1,即令为

则 ,的下降(减小)直到局部最小
其中为学习率,即以一定比例的梯度下降
由于梯度是按增大的方向,故梯度减小为负

局部最小与全局最小:

  由于梯度下降是贪心的思想,故会陷入局部最小值

避免局部最小值的方法:

  1、以不同的初始值训练
  2、“模拟退火”,每一步以一定的概率接受比当前更差的结果
  3、随机梯度下降法(梯度计算式采用随机因素,使局部极小处的梯度不一定为0,从而跳出局部极小值)

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