梯度下降算法

http:\/\/blog.csdn.net\/luo123n\/article\/details\/48239963 http:\/\/sebastianruder.com\/optimizing-gradient-descent\/

* 算法


* 以最小二乘问题为版本

1. 梯度下降算法

* step1: 初始化 \ (随机初始化)

* step2: 迭代

* step3:

  • 梯度方向:


2. 批梯度下降算法

* 算法

  • repeat until convergence

3. 随机梯度下降算法

http://www.cnblogs.com/murongxixi/p/3467365.html

  • 每次使用一个样本点来更新回归的系数

3.1 算法

所有的回归系数初始化

对数据中的每个样本:

    计算该样本的梯度

    使用alpha*gradient更新回归系数

返回回归系数

  • loop:
    • for i=1 to m:

4. 批处理梯度下降算法的步长的选择

* 步长选择的基础

  • 线性搜索的方法
  • 信頼域的算法

* 步长

搜索方向是:; 学习率:

  • 在斜率大的地方,使用小的学习率
  • 在斜率大的地方,使用大学习率

* 步长选择的推导

  • , h(0)=;

导数:

  • 是定值情况,寻找最小值:

  • 可导,局部最小值处的 满足:

  • 带入:

  • 先选定下降方向:是负梯度方向

  • 则:

  • 若可以找到足够大的,使得

  • 则:存在,使得

  • 则:是所求的学习率

* 步长的确定方法

  • 二分线性
  • 线性回溯搜索
  • 二次差值

6 随机梯度下降的步长的选择

http://blog.csdn.net/luo123n/article/details/48239963

  • adagrad
  • adadelta
  • adam

上述方法速度较差

results matching ""

    No results matching ""