zoukankan      html  css  js  c++  java
  • 梯度下降法

    梯度下降法(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

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

  • 相关阅读:
    继承中类的作用域
    访问控制与继承
    虚函数与抽象基类
    定义基类和派生类
    类成员指针
    固有的不可移植特性
    局部类
    union
    嵌套类
    枚举类型
  • 原文地址:https://www.cnblogs.com/zangyu/p/5424171.html
Copyright © 2011-2022 走看看