zoukankan      html  css  js  c++  java
  • 机器学习(ML)十五之梯度下降和随机梯度下降

    梯度下降和随机梯度下降

     梯度下降在深度学习中很少被直接使用,但理解梯度的意义以及沿着梯度反方向更新自变量可能降低目标函数值的原因是学习后续优化算法的基础。随后,将引出随机梯度下降(stochastic gradient descent)。

    一维梯度下降

    以简单的一维梯度下降为例,解释梯度下降算法可能降低目标函数值的原因。假设连续可导的函数f:的输入和输出都是标量。给定绝对值足够小的数ϵ,根据泰勒展开公式,得到以下的近似:

    学习率

    梯度下降算法中的正数η通常叫作学习率。这是一个超参数,需要人工设定。如果使用过小的学习率,会导致x更新缓慢从而需要更多的迭代才能得到较好的解。

    如果使用过大的学习率,ηf(x)可能会过大从而使前面提到的一阶泰勒展开公式不再成立:这时我们无法保证迭代x会降低f(x)的值。

    多维梯度下降

    随机梯度下降

    • 使用适当的学习率,沿着梯度反方向更新自变量可能降低目标函数值。梯度下降重复这一更新过程直到得到满足要求的解。
    • 学习率过大或过小都有问题。一个合适的学习率通常是需要通过多次实验找到的。
    • 当训练数据集的样本较多时,梯度下降每次迭代的计算开销较大,因而随机梯度下降通常更受青睐。
  • 相关阅读:
    关于Mac上的开发工具
    关于VS2008和VS2013中字体的选择
    实验四 使用ASP.NET内置对象 总结
    实验三 使用ASP.NET常用服务器控件 总结
    实验二 C#程序设计 总结
    实验一 ASP.NET应用环境配置 总结
    关于PHP.INI中的错误ERROR报告级别设置
    获取当前网址跟目录
    PHP获取站点根目录
    php 上传图片
  • 原文地址:https://www.cnblogs.com/jaww/p/12336493.html
Copyright © 2011-2022 走看看