梯度下降法(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
本文同《统计学习方法》书上内容一样