zoukankan      html  css  js  c++  java
  • 梯度下降法——得到的结果可能是局部最优值,如果凸函数则可保证梯度下降得到的是全局最优值

    摘自:http://www.wengweitao.com/ti-du-xia-jiang-fa.html

    梯度下降法(Gradient Descent)是一种常见的最优化算法,用于求解函数的最大值或者最小值。

    梯度下降

    在高数中,我们求解一个函数的最小值时,最常用的方法就是求出它的导数为0的那个点,进而判断这个点是否能够取最小值。但是,在实际很多情况,我们很难求解出使函数的导数为0的方程,这个时候就可以使用梯度下降。

    举一个具体的例子,假如你在一座山的山顶准备下山,往哪一个方向走下山最快呢?下山最快的方向是最陡的那个方向,每一步你都应该朝最陡的那个方向走,直到到达山底,学习速率就表示你每一步迈的步伐有多大。

    为什么从函数的梯度方向下降可以得到函数的最小值

    梯度下降法,基于这样的观察:如果实值函数F(x)在点a 处可微且有定义,那么函数 F(x)在a点沿着梯度相反的方向−▽F(a)下降最快。

    见下图,如果顺利的话序列最终可以收敛到期望的极值。

    梯度下降描述

    注意:梯度下降得到的结果可能是局部最优值。如果F(x)F(x)是凸函数,则可以保证梯度下降得到的是全局最优值。

    当然,可能梯度下降的最终点并非是全局最小点,可能是一个局部最小点,可能是下面的情况:

    image

    可以进一步参考实例:https://ctmakro.github.io/site/on_learning/gd.html

  • 相关阅读:
    python -- twisted初探
    python -- redis连接与使用
    redis使用
    python -- 异步编程
    python
    python
    福大软工 · 最终作业
    福大软工 · 第十二次作业
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
  • 原文地址:https://www.cnblogs.com/bonelee/p/7007702.html
Copyright © 2011-2022 走看看