梯度下降法

 

梯度下降法(gradient descent):是求解无约束最优化问题的一种常用的方法。是一种迭代算法。

 

输入: 目标函数f(x), 梯度函数g(x) = ▽f(x) , 计算精度 ε;

输出: f(x) 的极小点x*。

(1) 取初始值x(k) 属于Rn,置k= 0

(2) 计算f(x(k) )

(3) 计算梯度gk=g(x(k) ),当|| gk|| <  ε 时,停止迭代,令x* = x(k);否则,令pk= -g(x(k) ),求λk,使f(x(k) kpk) = minf(x(k) kpk)

(4)置x(k+1)=x(k)kpk,计算f(x(k+1))  当||f(x(k+1)) - f(x(k) )|| <  ε 或者 ||x(k+1) - x(k) || <  ε时, 停止迭代,令x* = x(k+1)

(5)否则,置k=k+1, 转(3)

 

注:▽f(x) 是对未知数求导,  λ是梯度下降的步长。梯度下降的越来越小,当小于 ε时停止。否则继续迭代,新的变量的值为旧的变量的值x(k)加上步长乘以梯度的值λkpk

 

 

 

本文同《统计学习方法》书上内容一样

posted @ 2016-04-23 11:05  vv鱼儿vv  阅读(447)  评论(0编辑  收藏  举报